OneRec-V2: Lazy Decoder 与真实反馈强化学习¶
Fidelity: 完整核心链路复现。实际训练三层 residual-quantized Semantic ID、newest-impression SFT、layer-shared K/V Lazy Decoder、Duration-Aware Reward Shaping 和 GBPO;仅缩小模型/数据,省略私有异构特征与分布式 serving。
论文信息¶
| 项目 | 内容 |
|---|---|
| 论文链接 | arXiv 2508.20900 |
| 公司/机构 | Kuaishou |
| 首次公开日期 | 2025-08-28(arXiv v1) |
| 原文开源代码 | 否:论文未提供官方/作者代码(核查日期:2026-08-09) |
| Adapter | onerec-v2 |
| 本地复现代码 | src/auto_research/reproductions/onerec_v2/ |
原始论文总结¶
背景与主要改动¶
OneRec-V1 用 encoder-decoder 生成推荐 session,但长历史 encoder 重复计算,偏好对齐又依赖额外 reward model。V2 只把最新曝光作为监督目标;Context Processor 一次生成所有 decoder 层共享的 K/V,目标侧只解码 [BOS,s1,s2]→[s1,s2,s3]。Lazy block 依次执行 cross-attention、causal self-attention 和 FFN,并结合 GQA、K=V、跨层 KV sharing。后训练直接使用真实用户播放/负反馈:DARS 消除视频时长偏置,GBPO 用动态分母约束正负样本梯度而不做 PPO clipping。
flowchart LR
A["静态 + 短期 + 长期 context"] --> B["Context Processor"]
B --> C["layer-shared K = V"]
D["BOS, SID-1, SID-2"] --> E["Lazy Decoder blocks"]
C --> E
E --> F["SID-1, SID-2, SID-3"]
G["真实播放时长 / dislike"] --> H["DARS reward"]
H --> I["GBPO"]
I --> E
原论文关键图¶
原论文 Figure 2(关键图):展示原论文提出的核心架构、主要模块及其连接关系。图片来自原论文,版权归原作者所有;点击图片可查看来源。
核心公式¶
Newest-impression SFT 只监督窗口最后一个物品的三层 SID:
DARS 先按视频时长分桶,再在同一用户、同一时长桶内计算播放时长分位数:
GBPO 对正负优势使用不同动态分母:
论文离线与线上效果¶
论文 1B 模型中,Lazy Decoder loss 3.27,与标准 encoder-decoder 的 3.28/3.26 相当;计算量从 296.36/204.21 GFLOPs 降到 18.89 GFLOPs。GQA 与 KV sharing 的 loss 基本不变。
线上在 Kuaishou 与 Kuaishou Lite 各 5% 流量、持续一周:
| Product | App stay | Watch time | Like | Follow | Forward |
|---|---|---|---|---|---|
| Kuaishou | +0.467% | +1.367% | +3.924% | +4.730% | +3.183% |
| Kuaishou Lite | +0.741% | +0.762% | +5.393% | +5.627% | +7.958% |
本地复现¶
本地对照口径:效率基线是 Encoder-Decoder,实验组 Lazy SFT 的延迟 -54.78%、validation loss -0.34%;对齐基线是 Lazy SFT,加入 GBPO 后反馈加权概率 +21.66%。这是两个阶段的内部消融,不是相对 DIN 或统一 NDCG 的比较。
首次运行自动下载 KuaiRand-Pure(压缩约 45MB、解压约 194MB),不把数据提交到 Git。使用公开 tag、author、duration 与固定 identity projection(代替私有多模态 embedding)训练 [128,64,32] 三层 residual-kmeans SID,唯一率 98.52%;60,000 条真实标准流日志生成 12,000 个按时间排序的 newest-impression 样本。64d、2-layer 模型使用 80-step SFT + 40-step GBPO。
3 seeds 汇总:
| Metric | Encoder-decoder | Lazy SFT | Lazy + GBPO |
|---|---|---|---|
| Validation loss | 12.0533 ± 0.0451 | 12.0121 ± 0.0039 | — |
| ms / example | 0.2632 ± 0.0617 | 0.1190 ± 0.0193 | — |
| Feedback-weighted probability | — | 1.281e-5 ± 0.110e-5 | 1.558e-5 ± 0.272e-5 |
本机 Lazy Decoder 推理均值快 54.78%,validation loss 还略低 0.34%,复现了“接近质量、显著减算”的方向。GBPO 的反馈加权概率均值提升 21.66%,但逐 seed 为 +29.23% / -0.46% / +35.38%,不是稳定正向;该概率也受 SID 空间大小影响,不能与论文线上百分比直接比较。结构化结果见 metrics/kuairand-pure-seeds42-44.json。
