GenRec: An LLM-Backed Recommendation Ranker at Netflix
GenRec:Netflix 基于 LLM 的推荐排序器
🧭 LLM推荐排序 · 上下文工程
Netflix · Amazon
用 LLM 背骨替代手工特征工程,借明文上下文和奖励加权训练实现可竞争的业务排序效果
📌 工作参考价值
- 上下文工程替代特征工程:将用户行为、物品元数据、场景口头化为自然语言提示,通过选择性保留高价值行为、压缩重复活动、剔除低信号事件来控制 token 预算。在电商/广告领域,可借鉴此方法设计 Prompt 长度和内容,平衡高质量排序与推理成本。
- 两阶段训练框架:第一阶段用领域数据继续预训练,构建具备用户与内容理解的基础 LLM;第二阶段用推荐专属数据及奖励信号进行轻量后训练。业务中可复用:先用业务语料做增量预训练,再利用少量带奖赏权重的标注数据微调,降低频繁迭代的成本。
- 奖励加权损失对齐长期价值:将长期满意度代理、内容类型平衡等业务目标转化为标量权重,直接缩放排名损失。相比 RL 方案更简单稳定,电商/广告可直接用类似方式引导模型关注 LTV、品类公平等长期指标。
- 预填充推断 + 目录感知打分头:在 decoder-only LLM 之上加一层嵌入点积打分头,一次前向传播完成全目录排序,避免自回归解码,大幅降低延迟与成本。推荐系统落地时,可参照此架构实现高效的大规模候选集排序。
动机 现有推荐系统依赖大量手工特征和复杂架构,难以快速适应新业务需求。LLM 具备语义理解和丰富世界知识,但直接用作排序器会偏向热门、生成冷外物品、忽略业务约束。GenRec 探索如何将 LLM 高效纳入工业级排序流程,实现从特征工程到上下文工程的范式转变。
方法关键点
- 两阶段训练:Phase 1 在开源 LLM 上用 Netflix 数据继续预训练,获得领域用户/内容理解能力;Phase 2 用排序特定数据和奖励信号后训练,产生 GenRec 排序器。
- 输入口头化与上下文工程:将用户历史、物品元数据、上下文转为自然语言,并通过删减低信号事件、压缩重复行为、选择性丰富冷启动物品信息等方式,在保持质量的同时将上下文长度压缩至约三分之一。
- 模型架构:基于 decoder-only LLM 骨干,后接目录感知的评分头:将 LLM 输出的用户表示与物品嵌入点积,Softmax 归一化得到排序分数,一次前向完成全目录打分。推理时采用预填充模式,避免逐 token 解码。
- 奖励加权训练:利用已有奖励模型为每个训练样本分配权重(融入长期满意度代理与内容类型平衡),缩放排名损失,实现业务目标的低成本对齐。
关键实验 在 Netflix 大规模在线 A/B 测试中,GenRec 仅使用约 1/40 的 Phase‑2 训练数据和少量输入信号,即取得统计显著的离线 MRR 提升(相对基线+1.6%),线上短期指标提升 0.115%,长期核心指标提升 0.006%。消融表明,Phase 1 基础模型贡献 10‑20% MRR 增益,Phase 2 后训练带来额外 35‑50% 增益,且随时间优势扩大。上下文长度可压缩至原 1/3 而无明显性能损失,推理成本同比降低。
一句话记记 “LLM 排序器不是在换模型,而是在重新设计整个推荐栈:把重心从挖特征转到写上下文,从定制架构转到共用基础模型。”