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 根据正确性和排序指标来优化推荐。