Netflix 测试用语言模型取代手工推荐逻辑

The Decoder··作者 Jonathan Kemper

关键信息

Netflix 表示,GenRec 分两阶段对一个开源权重模型进行微调,然后把观看历史和其他交互转换成纯文本,而不是稠密特征向量。为保持系统可用,Netflix 会过滤低信号事件,使用独立组件限制只对真实目录条目打分,并通过 vLLM 以单次前向打分模式运行模型,不生成文本。

资讯摘要

Netflix 近日测试了 GenRec,这是一套围绕语言模型构建的推荐系统,用来替代其长期使用的手工排序流程。公司表示,这种新方法所需的标注训练数据只有现有系统的一小部分。Netflix 目前的推荐器依赖数千个手工设计的特征,覆盖用户、标题和交互信息,而这种复杂性让它很难扩展到新的场景和内容类型,例如游戏、直播形式或播客。相比之下,GenRec 试图让模型直接从以文本表示的用户历史中自行归纳模式。Netflix 先用其目录和行为数据对一个开源权重模型进行微调,再进行第二阶段的专门训练,把它变成一个排序模型。第二阶段会更频繁更新,以便适应新上架内容和不断变化的偏好。

系统不再把行为编码成数值向量,而是将播放、观看时长、点赞、点踩、加入片单和中途退出等事件转成类似对话的文本,同时会强力过滤低价值事件,以适配模型的上下文窗口。Netflix 还加入了保护机制,只让模型对真实存在的目录条目打分,避免它“幻觉”出不存在的标题。该系统在 vLLM 上以单次打分模式运行,不生成文本,从而控制推理成本。离线测试中,GenRec 的排序质量比生产系统高出约 1.6%,而且第二阶段只用了大约 40 倍更少的标注样本。Netflix 还进行了为期四周的线上 A/B 测试,覆盖约 10% 的流量,范围限定在预先计算好的推荐页面;结果显示,首页短期指标提升 0.115%,长期核心指标提升 0.006%,而且这些提升具有统计显著性。Netflix 进一步指出,推荐专用微调在基础模型之上还能带来 35% 到 50% 的额外提升;如果基础模型已经陈旧两周,这个差距甚至会扩大到约 80%,因为推荐模型会很快过时。

Netflix 测试用语言模型取代手工推荐逻辑

资讯正文

Netflix 以语言模型测试作为手工构建推荐逻辑的替代方案

要点

- Netflix 构建了 GenRec,这是一套基于语言模型的推荐系统,性能优于其现有方法,而且所需训练数据少得多。

- 该系统将用户行为转换为纯文本,而不是依赖复杂的手工特征。经过微调的开源权重模型会分析这些历史记录,并在一次推理中对所有匹配的片名进行评分。

- 无论是离线测试还是面向真实用户的在线 A/B 实验,都显示推荐质量有可衡量的提升。Netflix 认为,这体现了一个更广泛的转变:从定制架构转向通用语言模型。

Netflix 将其沿用多年的推荐引擎与一个语言模型进行对比,并表示后者取得了更好的结果。这个名为 GenRec 的系统所需的标注训练数据,仅为旧系统的一小部分。

根据 Netflix 技术团队的一篇博客文章,Netflix 当前的推荐系统依赖于数千个关于用户、片名和交互的手工设计特征。这种复杂性使得引入游戏、直播形式或播客等新内容类型,以及扩展到 Netflix 界面中的新区域,成本都很高。不过,现成的语言模型也还没准备好直接用于推荐:它们会过度偏向热门内容,凭空生成目录中并不存在的片名,而且忽视商业规则。

GenRec 的设计就是为了填补这一空白。Netflix 分两个阶段训练自有模型。首先,一个未公开名称的开源权重语言模型会在 Netflix 数据上进行微调,使其理解内容库和用户行为。随后,第二轮专门训练会把这个基础模型变成推荐排序器。第二阶段会更频繁地更新,以适应新片名和不断变化的偏好。

观看历史变成纯文本

Netflix 不再把用户数据编码成稠密的数值向量,而是将其转换为纯文本。播放记录、观看时长、点赞或点踩、加入片单以及中途流失等信息,会变成用户与推荐系统之间的一种对话。模型能够自行捕捉诸如类型偏好或兴趣变化之类的模式,而不是通过人工设计特征把这些模式明确写出来。

如果把每一次交互都完整转成文本,模型的上下文窗口会被轻易撑爆,因此 Netflix 进行了大幅过滤。像长时间观看会话这类高信号事件会保留完整细节,而短暂点击或快速滑动会被丢弃,连续追剧的会话则会被压缩。为了防止模型推荐目录里并不存在的片名,Netflix 还加入了一个单独的组件,只对真实目录中的条目进行评分。

GenRec 运行在 vLLM 上,采用一种模式:模型只读取输入一次,并在单次通过中对所有候选项打分,而不生成任何文本。这样可以把成本控制在可管理范围内。

提升不大,但统计上扎实

与经过多年调优的生产系统相比,GenRec 在离线环境下的排序质量提升了约 1.6%。为了达到这一结果,它在第二阶段训练中所需的标注样本大约减少了 40 倍。这个对比只适用于这一特定阶段,而不是全部训练数据。

在这次线上测试中,Netflix 进行了一项为期四周的 A/B 实验,覆盖了大约 10% 的流量,范围仅限于那些会被预先计算的推荐展示位。跟踪用户在首页行为的短期指标上升了 0.115%,而长期核心指标提升了 0.006%。Netflix 表示,这两项增幅都大到不太可能用随机性来解释。

第二阶段中,针对推荐场景的微调在基础模型性能之上又带来了 35% 到 50% 的提升。如果基础模型已经有两周没更新,这一差距会扩大到大约 80%,因为基础模型已经无法反映新的片名和变化了的偏好。推荐模型过时得非常快。

上下文工程取代特征工程

Netflix 认为 GenRec 是一场更广泛转变的一部分,这种转变也体现在 PLUM、GLIDE 和 OneRec-Think 等工作中。与其为每个推荐任务构建定制架构,不如让一个语言模型处理多个用例。工作的重心也从不断构建更多特征,转向决定哪些信号应该进入模型输入,以及应当包含多少。这一基础设施也正朝着 GPU 服务器和 LLM 工具链的方向演进。

Netflix 团队称 GenRec 是“一个早期但很有前景的步骤”,并将该系统描述为传统推荐模型的有力替代方案。但目前还没有把现有系统完全替换掉的计划。

多年来,Netflix 一直在推荐列表之外使用机器学习。早在 2020 年,该公司就曾说明,知识图谱和相似性地图如何预测一部计划上线的内容会被归入哪个内容类别,以及它在各个国家可能触达多少观众。当时,Google 的 BERT 语言模型只处理人工撰写的片名摘要,并将机器可读的表示传递给下游模型。Netflix 也已经开始为生产工作流构建自己的模型,并且有时会将它们公开发布,比如用于从视频中移除物体的 VOID 框架。

来源与参考

  1. 原始链接
  2. Netflix tests language model as alternative to hand-built recommendation logic

收录于 2026-08-23