大多数生产级推荐系统都是级联结构。候选生成器将结果送入预排序器,预排序器再送入基于数百个工程特征构建的重型排序器。Yandex 的 Sona 技术报告描述了一种不同的设计。Sona 是一个生成式 AI 模型,将候选生成和排序整合到单一系统中,取代了推荐流水线中通常使用的多个阶段。Yandex 在其智能音箱上对该模型进行了为期七天的实时生产实验。在一次在线 A/B 测试中,它用一个已部署的 transformer 取代了超过 15 个候选生成器、预排序阶段和排序阶段。
Sona 解决了什么问题?
级联结构将一个决策拆分到多个分别训练的模型上。每个阶段优化自己的目标,而排序器只能看到上游阶段放行的内容。Yandex 此前在 Yandex Music 场景中的技术栈消耗了数百个特征,包括来自 Argus(Yandex 早期的推荐 transformer)的信号。Sona 将候选生成和排序围绕一个共享的用户表示来组织。编码器每次请求读取一次听众的历史记录。解码器生成候选。排序模块基于相同的编码器状态对它们打分。没有任何组件使用手工工程特征。输入是记录的事件字段(曲目 ID、艺术家 ID、时长、点赞、播放时间、场景标志)以及学习得到的 Semantic ID。
在 Yandex 智能音箱上,播放可以在用户未先选择艺术家、流派或心情的情况下开始。研究团队将此描述为纯推荐场景。
Sona 的架构如何工作
1. 语义分词器
遵循 Rajput 等人的 Semantic ID 公式,每首曲目变成一个由 3 个离散代码组成的元组。一个冻结的多模态 LLM 读取前 90 秒的梅尔频谱图以及标题、艺术家和标签。它以仅预填充模式运行。随后一个 4 层精炼 transformer 使用协作曲目对上的 InfoNCE 将这些特征与收听行为对齐。残差 K-means 将结果量化为 3 个码本,每个码本有 32,000 个条目。这击败了 CLMR 音频基线:Recall@1000 从 0.8111 上升到 0.8524。
2. 带历史压缩的编码器
Sona 关注过去 8,192 个事件。在该长度上做全注意力开销很大,因此编码器在深度上做了不均匀分配。最近的 2,048 个事件经过一个 7 层自注意力堆栈。更早的事件只经过交叉注意力和 1 个全历史层。论文报告称,这在约一半推理成本下保留了全注意力的大部分质量。
3. 解码器与排序模块
一个 2 层解码器通过宽度为 1,024 的约束束搜索输出 Semantic ID 元组。一个目录 trie 会阻止无效前缀。每个元组会扩展到共享该元组的所有曲目。随后,由四个交叉注意力层组成的排序模块会针对共享编码器记忆对这些曲目打分。
训练:一个永不发布的教师
排序模块从一个冻结的 Teacher Ranker 学习。该教师是一个 0.6B 参数的 transformer,同样不使用手工设计特征。它基于一年的互动事件分 2 个阶段训练:先做下一项预测预训练,再做多头排序微调。移除预训练使加权配对准确率从 0.6215 降至 0.6153。
团队将其蒸馏方法称为 Rollout Distillation。训练期间,当前解码器生成束候选。教师对这些候选以及记录的曝光进行打分。排序模块以平均绝对误差回归到这些分数。联合损失为 L = L_NTP + L_rollout + L_impression。两个损失都会更新共享编码器。在服务时,教师会被移除。
训练保持在线。事件在 15 分钟窗口内聚合成会话,输入 GPU 训练器,新权重每 10 分钟到达服务端。端到端延迟中位数为 45 分钟,p99 为 60 分钟。服务运行在 NVIDIA Triton Inference Server 上,并使用 CUDA graphs,达到 41% 的模型 FLOPs 利用率。
结果:真实流量上的在线 A/B 测试
最终实验在每组的 15% 随机选择用户上运行了 7 天。以下每一项变化都具有统计显著性,且相对于生产对照组:
活跃用户(主要指标):+4.53%
总收听时长:+6.30%
点赞:+11.42%
“Repeat” 命令:+17.99%
深度参与用户:+7.37%
这些增益叠加在此前部署中保留下来的改进之上。在活跃用户方面,Sona 的提升是 Argus 此前在该界面上带来的 +1.93% 增量的 2.35 倍。
Sona vs OneRec vs HSTU:特性对比
Sona 并非首个投入生产的端到端生成式推荐系统。快手 的 OneRec 已经上线了单一编码器-解码器模型。Meta 的 HSTU Generative Recommenders 在 2024 年将推荐重新定义为对用户行为的序列转换。Sona 所结合的是:完整级联替换、无手工特征,以及经过在线验证的蒸馏排序器。
特性Sona(Yandex)OneRec(快手)HSTU GR(Meta)领域音乐流媒体短视频大型互联网平台,多界面单一服务模型替换级联是,在 A/B 测试中是,约占总 QPS 的 25%否,被报告为推荐模型的新架构用户输入仅记录的事件字段,无手工特征“多尺度特征工程”路径,包括 uid、年龄、性别用户行为序列(序列转换)物品输出3 级 Semantic ID,3 x 32,000通过 RQ-Kmeans 的 3 级 Semantic ID物品 ID排序信号由冻结的 0.6B Teacher Ranker 生成使用 P-Score 奖励模型的 RL(ECPO)HSTU 排序模型强化学习否,完全监督是(ECPO)未报告报告规模8,192 事件历史,0.6B 教师模型为先前排序模型的 10 倍 FLOPs1.5 万亿参数报告的在线增益+4.53% 活跃用户,+6.30% 收听时长,+11.42% 点赞+0.54% 和 +1.24% App 停留时长在线 A/B 测试中 +12.4%公开代码或权重否报告中没有是,GitHub
来源:Sona、OneRec、HSTU。在线增益来自不同平台和指标,因此不能直接比较。
关键要点
Sona 用 1 个服务模型替换了 15+ 个生成器、预排序和排序。
无手工特征:仅使用记录的事件和学习到的 Semantic ID。
一个 0.6B 教师模型训练排序器,随后不参与服务。
A/B 测试:+4.53% 活跃用户,是 Argus 此前增益的 2.35 倍。
无法对外部署:没有代码或权重,也未全量上线。
常见问题
什么是 Yandex Sona?
Sona 是一个生成式 AI 模型,将候选生成和排序整合在单一系统中。Yandex 在其智能音箱上进行了为期七天的线上生产实验,在实验组中用 Sona 替换了现有的多阶段推荐流水线。
Sona 与 OneRec 有何不同?
OneRec 使用工程化的用户特征通路以及带奖励模型的强化学习。Sona 仅使用记录的事件字段,并从冻结的教师模型中蒸馏排序能力。
查看论文了解完整细节。
文章《Yandex Introduces Sona: A Single Generative Recommender That Replaces Entire Recommendation Cascade》首发于 MarkTechPost。