一家流媒体巨头做了一次大胆的试验:把用了多年的推荐引擎,换成一个大语言模型。结果是,新系统在离线评测中表现更好,而且训练所需的数据量少了一个数量级。
这套新系统名为 GenRec。该公司的技术团队在官方博客中披露了细节:它需要的标注训练数据,只有旧系统的约四十分之一。
![]()
手工规则正在成为瓶颈
该公司当前的推荐系统,依赖数千个由工程师手工设计的特征,覆盖用户、片目和交互行为。这套体系运行多年,但代价是复杂度越来越高。
这种复杂性带来的直接问题是:每当公司要接入新内容类型——比如游戏、直播或播客——或者把推荐扩展到界面的新区域,都需要投入大量工程成本去适配。
那直接用现成的开源语言模型行不行?该公司的测试发现也不行。现成模型有两个明显毛病:一是过度偏向热门内容,二是会幻觉出目录里根本不存在的片名,三是完全无视平台的业务规则。
两阶段训练:先理解目录,再学会排序
GenRec 的设计目标,就是填补这个空白。该公司用两阶段方式训练这个专有模型。
第一阶段,一个未具名的开源权重语言模型,先在平台数据上做微调,让它理解片目库和用户行为模式。第二阶段,再做一轮专门的训练,把这个基础模型改造成一个推荐排序器。
第二阶段会更新得更频繁,以便及时纳入新上线的片目和用户偏好的变化。
把用户行为变成对话文本
GenRec 的一个关键设计是:不再把用户数据编码成稠密的数值向量,而是转换成纯文本。
播放行为、观看时长、点赞或点踩、加入片单、中途退出——这些都被改写成用户与推荐系统之间的一种"对话"。
模型自己从这些文本模式中学习用户的类型偏好或兴趣迁移,而不是靠工程师手工设计特征来显式定义。
当然,如果把每次交互的完整文本都喂给模型,会直接撑爆上下文窗口。该公司的做法是激进地过滤:高信号事件(比如长时间观看)保留完整细节,短暂点击或快速滑动直接丢弃,连续刷剧的行为则被压缩处理。
为了防止模型推荐不存在的片目,该公司还加了一个独立组件,只对真实存在的目录条目打分。
成本控制:单次读取,批量打分
GenRec 跑在 vLLM 推理框架上,采用一种特殊模式:模型只读取一次输入,然后对所有候选片目一次性打分,全程不生成任何文本。这种方式把推理成本控制在了可接受范围内。
离线成绩:质量提升1.6%,数据需求骤降
与调优多年的生产系统相比,GenRec 在离线评测中的排序质量提升了约 1.6%。而在第二阶段训练中,它只需要大约 四十分之一 的标注样本就能达到这个水平。
需要强调的是,这个对比仅适用于第二阶段这一特定环节,并非全部训练数据。
线上实验:两周A/B测试,指标微涨但显著
该公司还做了一次为期四周的线上 A/B 实验,流量覆盖约 10%,仅限于预计算推荐位。结果显示:一个衡量首页用户行为的短期指标上升了 0.115%,一个长期核心指标提升了 0.006%。
该公司表示,这两个涨幅在统计上都大到无法用偶然性来解释。
一个值得注意的细节
第二阶段针对推荐的微调,在基础模型性能之上还能再带来 35% 到 50% 的提升。而当基础模型已经"老化"两周时,这个差距会扩大到约 80%。
换句话说,基础模型的时效性对最终推荐质量的影响,比想象中更大。
怎么看这件事
该公司的这次试验,本质上是在验证一个判断:手工构建推荐特征的路,可能已经走到了收益递减的阶段。语言模型虽然不能直接拿来就用,但经过两阶段定制训练后,它不仅能理解内容,还能学会排序,而且数据效率高出不少。
当然,1.6% 的离线提升和 0.115% 的短期指标涨幅,都不是颠覆性的数字。但考虑到训练数据量骤降 40 倍,这
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.