← 论文沉淀 / 🎯 生成式推荐 · ·RecSys 2026

Towards Generalizable and Efficient Large-Scale Generative Recommenders

Qiuling Xu, Ko-Jen Hsiao, Moumita Bhattacharya (3 人)

Netflix Research

把“生成式推荐做大”重新定义为一个生产迁移问题:规模只是其中一环,还要看任务余量、重训成本、缓存服务时延和新品泛化。用带偏移的幂律 P(N)=P0-(N/N0)^-a 拟合各任务的天花板来判断哪里值得继续加参数,再用 1% 采样 softmax + d/8 投影解码头降训练成本、用带时间衰减的多 token 监督对齐缓存服务、用语义 item 塔 + ID 掩码处理冷启动;1B 主干在 Netflix 1M 用户影子流量上全面超过 2M 基线。

Offset Scaling LawMulti-Token PredictionCached Serving AlignmentCold-Start Semantic TowerNetflix Industrial
📝 我的备注
加载中…

核心思路

Netflix 这篇论文不是提新架构,而是总结把生成式推荐主干从 2M 扩到 1B 参数(不含 embedding 和解码层)时遇到的问题。核心观点:规模收益不会自动迁移到下游,它取决于四件事:任务还剩多少余量、能不能按周期重训、训练目标是否匹配服务方式、新品能不能被打分。

对应四个做法:

  1. 带偏移的幂律 P(N) = P0 - (N/N0)^(-a) 拟合每类任务的天花板 P0,判断加容量是否值得;
  2. 1% 采样 softmax + d/8 投影解码头,降低每个周期在 2 万亿 token 上重训的成本;
  3. 多 token 预测(MTP):用带 1 小时半衰期的未来目标集合做监督,对齐缓存服务的时延;
  4. 语义 item 塔 + 协同 ID 掩码:新标题没有 ID embedding 时靠知识图谱、LLM2Vec、人工标注特征打分。

整体实现思路

模型是标准的 decoder 式生成推荐器:每个用户事件(动作 + 观测上下文 + item 元数据)压成一个 token,Transformer 编码出用户表示 h_u,再与候选标题向量 v_i 做点积打分(直接 item 打分,而非 SID 逐层生成)。论文称这样保留了与已有评估、服务链路的兼容性。

基线与规模化模型的差异(论文 Table 3):

维度基线规模化模型
主干2M 参数1B 参数
解码全 softmax采样 softmax + 投影头
目标Next-token predictionMulti-token prediction
冷启动仅 ID embedding语义塔 + ID 掩码

工程上用小到大的实验漏斗:改动先在小主干和缩放测试集上检查各任务是否回退,通过后再进 1B 训练。

子模块实现(可复现细节)

1. 任务划分与偏移幂律

任务可预测性描述
Task A低长周期口味,正例稀疏
Task B中短周期互动,依赖近期上下文
Task C高由时间、上架、大众需求驱动

实验控制:训练数据、评测样本、测试窗、词表、embedding 维度、解码设置都固定,只改主干大小(图上约 100K 到 1B)。按时间切分,指标用 MRR(连续且有上界 1,适合拟合天花板;论文称 test loss、HR、NDCG 趋势相同)。参数只计主干,加入 embedding/解码层后任务排序和对偏移形式的偏好不变。

拟合结果:Task A 的 P0 = 0.311,绝对值低但还有相对余量;Task B 的 P0 = 0.604,已接近观测最优,继续加容量收益小;Task C 的 P0 = 1.075,接近上界 1(超出部分是估计误差)。

任务偏移幂律 RMSE (1e-3)对数线性 RMSE (1e-3)降幅
Task A2.805.4348.4%
Task B8.1621.3461.8%
Task C9.3310.9714.9%

对数线性 P = a log N + b(HSTU 用的形式)无法表示有界指标接近天花板的弯曲。

2. 高效解码

  • 采样 softmax:只算正例 + 均匀采样的 1% 负例的 logits,剔除等于目标的负例,不做 LogQ 修正。
  • 投影解码头:共享线性层把 h 从 d 降到 d/8 再做 item 点积;线上是 4096 → 512。主干隐层维度不变。
  • 解析估计(6 层、hidden 1024、序列长 512):词表 10^6 时普通解码 1.26e10 FLOPs/token,采样 + 投影 3.56e8,降 35.5 倍;词表 10^7 时约 249 倍。论文明确说明这是输出层解析估计,不是端到端吞吐实测。

3. 多 token 预测(MTP)

问题一,缓存过期:线上常缓存用户向量、候选或预排结果。训练标签是紧接的下一个标题 A,但服务时用户可能已看完 A,真正该推的是 B。延迟回放结果如下(相对在线的 MRR 变化,数值从 Figure 4 读取):

延迟Task ATask BTask C
24h最多变化 4%-31%—
48h最多变化 4%-41%-18%

问题二,目标是集合:A 后 B 和 B 后 A 都合理,NTP 只奖励一种顺序。

损失:

L = - sum_{y_i in Y} w_i * log p_theta(y_i | x)
w_i = r_i * exp( -ln(2) * (t_i - t_context) / beta ),  beta = 1 hour

Y 是未来高价值目标集合,r_i 可编码观看时长、完成度、新鲜度、多样性。用与 NTP 相同的解码头一次打分、加权多标签优化;服务时仍单次前向,不需要迭代生成。窗口大小试了 2-5 个 token。

4. 语义 item 塔与 ID 掩码(冷启动)

z_i     = phi_sem(e_graph_i, e_lang_i, e_ann_i)
e~ID_i  = e_ID_i  if i in V  else  e_OOV
v_i     = psi_theta(e~ID_i, z_i)
s(u, i) = g_theta(h_u)^T v_i
  • 语义特征三路:标题知识图谱上消息传递得到的图特征、LLM2Vec 语言向量、人工编辑标注特征。同一份元数据既增强编码器侧的事件 token,也参与解码器侧候选向量。
  • 页面、位置、国家等上下文只进用户侧,不进候选标题向量,把稳定的标题证据和临时服务上下文分开。
  • 掩码训练:预训练时按线上实测冷启动率,随机把输入侧或输出侧的协同 ID embedding 换成学习到的 e_OOV,让解码器在“有 ID”和“无 ID”两种情况下都见过,学会用语义塔承担标题特异信息。

实验设置与结果

数据规模:每个训练周期 2 万亿行为 token,周期性刷新。

MTP vs NTP(相对 MRR 变化,5-token 窗口):

服务场景Task ATask BTask C
48h 缓存服务+22.1%+27.8%+27.9%
在线服务(p95 < 1s)+19.6%随窗口增大而下降随窗口增大而下降

结论:MTP 适合缓存或集合型目标;对严格在线、依赖新鲜上下文的 B/C 类任务应保守使用。

生产影子评测:1M 用户、一周,候选模型走与生产相同的下游集成路径但不影响用户,用同期下游标签评估。

切片1B vs 2M MRR 相对提升
Task A+22.5%
Task B+11.3%
Task C+7.4%
冷启动标题(词表外)+28.1%

论文另称下游多个线上 A/B 结果为正,但没有给出指标。

思考与可参考价值

  • 扩展律当决策工具:电商里长期兴趣/发现类场景可能类似 Task A,余量大值得加主干;大促、时效、热门类可能类似 B/C,瓶颈更可能在目标或服务链路(推断)。先在 3-5 个规模点上拟合偏移幂律,比盲目加参数省资源。
  • 缓存过期问题值得自查:如果线上用的是近线/离线缓存的用户向量或召回候选,建议先做延迟回放,看短周期任务掉多少。B 类 48h 掉 41% 这个量级提醒我们,训练目标对齐服务时延可能比加参数更划算。
  • MTP 零推理成本:只改监督。电商可以把未来 N 小时内的点击/加购/购买按行为价值 r_i 和时间衰减加权(推断);但电商存在复购,“已消费即不再推”的假设不一定成立,半衰期和目标集合要重调。
  • 冷启动掩码:按实测新品占比随机把 ID 换成 OOV,训练与服务路径一致,实现成本很低,可与 SID 方案叠加。
  • 需要警惕:影子对比同时改了规模、解码、目标、冷启动四项,+22.5% 无法归因到规模;效率数字是解析估计;1% 采样且不做 LogQ 修正对长尾的影响没有报告;任务匿名、只有相对值、无代码,复现性弱。更适合作为工业落地清单,而非严格的定量结论。