GenRec:迈向Netflix原生LLM推荐
阅读时间:12分钟 2026年7月30日 -- 作者:Ying Li,Arjun Rao,Shradha Sehgal 引言 推荐系统是Netflix体验的核心。我们当前的生产模型依赖于数千个手工制作的特征,这些特征与用户、项目和互动相关,并结合了用于序列建模、特征交互和多任务目标的专业架构。这个技术栈经过多年的发展,支持多种内容类型(电影、剧集、游戏、直播、播客)和产品界面,但其复杂性使得在新用例上投入成本高:增加一种内容类型或界面可能需要显著的特征工程、架构变更、基础设施工作和实验。同时,大型语言模型(LLMs)正在改变我们对推荐的思考方式,这一点在最近的工作中有所体现,例如PLUM、GLIDE和OneRec-Think。它们广泛的世界知识和强大的语言理解能力使得能够将用户历史和项目元数据直接表示为文本,在共享语义空间中捕获丰富的关系,并通过自然语言提示引导推荐。然而,现成的LLM仍远未成熟到可以用于生产推荐:它们往往会过度推荐全球流行的内容,幻想出目录外的项目,忽视商业限制,并仅提供有限的个性化。为了解决这个问题,我们构建了GenRec,一个基于LLM的推荐排名器,它在Netflix特定数据和目标上对内部基础LLM进行了后训练。GenRec展示了基于LLM的排名器可以匹配或超过成熟的生产系统,同时依赖于更少的标记示例和输入信号。 按下回车键或点击以查看完整图像 图1:GenRec管道。用户历史、项目元数据和上下文的原始日志通过上下文工程转换为自然语言提示,并输入到GenRec中,该系统在仅预填充模式下的vLLM上运行,并输出每个目录项目的评分,从而产生推荐排名。 从高层来看,GenRec: 将用户历史、项目元数据和上下文以文本形式表达。 对Netflix特定数据进行后训练的基础LLM以进行排名。 在Netflix标题上增加了目录感知评分头。 使用奖励信号与长期会员价值和商业目标保持一致。 在Netflix的LLM服务堆栈上以预填充模式运行,以提高成本效率。 在与优化良好的生产排名器的大规模A/B测试中,GenRec在短期和长期在线指标上都取得了统计显著的改善,同时只使用了Phase-2标记数据和输入信号的一小部分。它减少了我们对手工工程特征的依赖,并将重点从特征工程转移到上下文工程。在这篇博文中,我们将描述GenRec的工作原理、性能及其指向Netflix推荐领域更以LLM为中心的未来的原因。 问题设置 我们专注于全目录排名任务(或在提供候选集时进行前K排名)。给定用户u,他们的交互历史H,以及当前上下文τ(设备、界面、区域、时间等),GenRec对每个项目进行评分并产生个性化排名,这可以直接驱动推荐或作为后续个性化系统的输入。正式来说,我们将请求(u, τ, t, H) — 用户、上下文、时间和历史 — 映射到目录C上的排名π,其中π(i)是分配给项目i的位置。我们优化π以期望的长期会员效用(满意度和保留的代理),而不仅仅是短期的互动。 从基础LLM到推荐排名器 GenRec遵循两阶段训练框架(图2): 按下回车键或点击以查看完整图像 图2:两阶段框架。阶段1在Netflix数据上训练基础LLM以了解用户和内容,阶段2在针对排名特定数据和目标上进行后训练。 第一阶段 — Netflix适应的基础LLM 。我们从一个开源LLM开始,并在专有的Netflix语料库上进行调整,使其学习基础能力,例如Netflix内容理解、会员行为和偏好模式、一般语言理解和生成。第一阶段的更新相对较少,作为共享的、了解Netflix的基础设施,服务于许多应用。 第二阶段 — GenRec 。然后,我们将这个基础模型转换为高质量的排名模型,通过在特定于排名的数据和目标上进行后训练。阶段2:集中于排名质量和引导。 通过加权损失结合多个奖励信号。 更频繁更新,以跟踪新内容和不断演变的口味。 明确在服务成本约束下优化。 训练数据作为对话 Netflix会员生成数以千亿计的交互事件,跨越多个界面(观看、播放、持续时间、点赞/点踩、添加到列表、放弃等)。我们将这些日志数据转换为用户与推荐者之间单轮或多轮的“对话”。每轮包含:
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡