AkaliKong/MiniOneRec

Minimal reproduction of OneRec

What it solves

MiniOneRec 解決了擴展生成式推薦系統的挑戰。它提供了一個完整的端到端流程,將傳統的推薦任務轉換為生成式過程,其中大語言模型 (LLM) 將下一個項目預測為離散標記 (token),而不是依賴傳統的排序方法。

How it works

該框架在三個主要階段運作:

  1. SID Construction: 每個產品都轉換為「語義 ID」(SID)——一個緊湊且具有語義意義的標記。這是通過對項目標題和描述進行編碼(使用凍結的文本編碼器)並使用 RQ-VAE 或 RQ-Kmeans 等方法對嵌入向量進行量化來完成的。
  2. Supervised Fine-Tuning (SFT): LLM 被訓練來將用戶歷史記錄視為一序列的 SIDs,並預測下一個 SID。此階段包括語言對齊目標,以確保模型可以在自然語言與 SID 空間之間進行映射。
  3. Recommendation-Oriented RL: 使用 Group Relative Policy Optimization (GRPO) 進一步精煉模型。它使用受限束搜索 (constrained beam search) 來確保生成的標記是有效的 SID,並使用結合了二元正確性與排序感知懲罰的獎勵信號來提高精確度和多樣性。

Who it’s for

它是為正在構建生成式推薦系統的 AI 研究人員和開發人員設計的,他們希望獲得一個用於 SID 創建、SFT 和強化學習的標準化工作流程。

Highlights

  • End-to-End Pipeline: 涵蓋了從原始數據預處理和 SID 生成到最終 RL 精煉的所有內容。
  • Flexible SID Generation: 支持多種量化方法,包括 RQ-VAE、RQ-Kmeans 和受限 RQ-Kmeans。
  • Constrained Decoding: 實現了 logit processor 以保證模型只生成有效的項目 ID。
  • RL Integration: 使用 GRPO 根據正確性和排序指標來優化推薦結果。"},