Yandex的Sona:无需手工特征的生成式音乐推荐系统解析

Yandex推出生成式音乐推荐系统Sona,用多模态大模型生成Semantic ID替代传统特征工程,已上线A/B测试。
Yandex研究团队推出的Sona是一套生成式音乐推荐系统,彻底摒弃手工特征工程,直接从原始交互日志中学习。其核心是离线分词器:以冻结的Qwen2.5-Omni多模态模型处理曲目梅尔频谱图与元数据,再经4层Transformer精炼,并通过残差K-means将连续嵌入压缩为三级Semantic ID离散序列。嵌入训练采用InfoNCE对比学习,以共现曲目和高NPMI共同收听曲目作为正样本,同时约束嵌入保留音频内容语义。整体架构遵循Gryphon范式,解码器通过束搜索生成候选Semantic ID,排序模块进行精排;针对用户反馈极度稀疏的问题,团队训练了大型Teacher Ranker并将知识蒸馏至轻量线上排序模块。目前该系统已在Yandex生产环境完成A/B测试部署。
音乐推荐系统长期依赖大量手工设计的特征工程,而Yandex研究团队推出的Sona尝试打破这一惯例。这是一套生成式推荐系统(generative recommender),直接从原始交互日志中学习,无需任何人工设计的特征。更关键的是,它目前已经在Yandex的生产环境中进行A/B测试,而非停留在论文阶段。

Semantic ID:把音乐变成可生成的语义编码
Sona的核心思路是让解码器(decoder)直接生成分配给每首曲目的Semantic ID,而不是在海量曲库中做传统的相似度召回。这些Semantic ID由一个离线分词器(offline tokenizer)事先为每首歌生成。
这个分词器的起点是一个被冻结的Qwen2.5-Omni多模态模型。它接收两类输入:曲目前90秒的梅尔频谱图(mel-spectrogram),以及曲目的元数据。换句话说,系统同时理解音频的声学特征和结构化信息,而不是只看其中一方。
在Qwen输出的隐藏状态之上,团队再叠加一个4层的Transformer来进一步精炼表示。这种"冻结大模型 + 轻量精炼层"的设计,既借用了预训练模型的强泛化能力,又避免了从零训练的巨大成本。
梅尔频谱图(mel-spectrogram)是音频信号经过梅尔滤波器组处理后得到的时频表示,其频率轴按照人耳感知的梅尔刻度排列,低频分辨率高、高频分辨率低,更贴近人类听觉特性。与原始波形相比,梅尔频谱图大幅降低了数据维度,同时保留了音色、节奏、和声等对音乐理解至关重要的声学结构,是音乐信息检索领域最常用的输入表示之一。Qwen2.5-Omni作为多模态大模型,能够同时处理音频频谱图和文本元数据(如艺人名、专辑、风格标签等),将两类异构信息融合为统一的隐藏状态表示,这正是Sona能够同时捕捉声学语义与结构化属性的关键所在。
用InfoNCE对比学习构建曲目关系
分词器的训练采用了InfoNCE对比损失,重点在于如何定义"正样本对"。Sona使用了两类配对信号:
- 不同艺人、同一推荐响应中共同出现的曲目:反映了实际推荐场景中的共现关系;
- 同一艺人、在三个月窗口内具有高共同收听NPMI(标准化点互信息)的曲目:捕捉用户真实的连续收听行为。
此外还有第二个损失项,用于约束每个嵌入向量与曲目自身的内容特征保持接近。这一设计防止了嵌入过度偏向行为信号而丢失音乐本身的声学语义。
最终,系统通过残差K-means(Residual K-means)将连续嵌入转换为三个码(code)组成的元组,每一层级有32,000个聚类中心。这种残差量化方式让每首曲目被压缩成一个紧凑而有层次的离散ID序列,正好适合生成式解码器逐级预测。
NPMI(Normalized Pointwise Mutual Information,标准化点互信息)是衡量两个事件共同出现程度的统计指标。原始PMI会随频次增大而无限增长,归一化后取值范围为[-1, 1],其中1表示两者总是共同出现,0表示相互独立,-1表示从不共同出现。在Sona的场景中,若用户A和用户B都在同一收听会话中听了歌曲X和Y,则X与Y的NPMI值会升高。相比单纯统计共现次数,NPMI能够过滤掉那些因曝光量大而"被动共现"的热门歌曲,更精准地识别出用户主动、连续收听的音乐对,从而为对比学习提供更有意义的正样本信号。
残差K-means(Residual K-means)是乘积量化(Product Quantization)的一种变体,也称残差向量量化(RVQ)。其工作原理是多轮量化:第一轮将连续向量映射到最近的聚类中心,第二轮对第一轮的残差(误差)再次量化,以此类推。Sona使用3层、每层32,000个聚类中心的残差量化,意味着每首歌最终被编码为3个整数组成的元组,理论上可以区分32,000³ ≈ 3.3×10¹³ 种不同的ID组合,同时保持了层次化的语义结构,非常契合自回归解码器逐token生成的工作方式。
评估方法与基线对比
论文中评估分词器质量的方式颇具实用性:针对不同的分词器变体,重新训练检索模型,并在留出的请求集上测量召回率(recall)。也就是说,分词器的好坏最终以对下游推荐效果的贡献来衡量,而非单看中间指标。
对比基线方面,Sona选择了仅使用音频的CLMR作为参照。这一对比直接检验了"音频 + 元数据 + 行为对比学习"相较于纯音频表征的增益。
Gryphon架构:生成与排序的统一设计
Sona的整体架构遵循Gryphon——一种将生成和排序统一起来的设计范式。具体流程是:解码器通过束搜索(beam search)提出候选Semantic ID,随后一个排序模块(Ranking Module)对这些ID映射到的曲目进行打分。
这种"生成候选 + 排序精排"的组合,本质上把传统推荐系统的召回和排序两个阶段,收敛到一个更统一的生成框架中。
稀疏监督下的Teacher-Student蒸馏
一个现实难题是:用户的点赞和点踩非常稀少,导致排序监督信号极度稀疏。为了绕开这个瓶颈,团队训练了一个独立且更大的Teacher Ranker(教师排序器),使用了整整一年的日志数据。
教师模型的训练分两步:先做下一曲预测(next-item prediction),再做多头排序(multi-head ranking)。值得一提的是,这个教师模型并不直接上线服务。它的作用是把打分知识蒸馏到线上的排序模块中——蒸馏对象既包括解码器自身生成的候选,也包括记录在日志中的曝光样本。
这种做法有效地把大模型在海量历史数据上学到的排序能力,迁移到了一个轻量、可部署的在线模块上,同时缓解了稀疏反馈的问题。
知识蒸馏(Knowledge Distillation)由Hinton等人于2015年提出,核心思想是让小型"学生"模型去拟合大型"教师"模型的输出分布,而非直接拟合硬标签。教师模型的输出(通常是概率分布或连续评分)携带了比one-hot标签更丰富的"暗知识":例如教师认为某首爵士乐得分0.7、某首蓝调得分0.6,这个相对关系比单纯的"点赞/不点赞"提供了更多可学习的信号。在Sona的场景中,教师排序器用一整年的日志充分训练,具备强大的排序能力,随后将评分知识迁移到线上轻量排序模块,既解决了实时服务的延迟约束,又规避了直接依赖稀疏用户反馈导致的欠拟合问题。
这套系统意味着什么
Sona代表了推荐系统领域向生成式范式迁移的一个具体实践。它的几个特点值得关注:摆脱手工特征依赖、用多模态大模型做基础表征、通过Semantic ID把推荐转化为序列生成任务、并以Teacher-Student蒸馏应对真实场景中的稀疏反馈。
对于从业者而言,Sona提供了一条可借鉴的路径:如何在保持生产可部署性的前提下,把大模型能力融入推荐链路。相关技术细节可参考团队发表的论文(arxiv.org/abs/2608.11015)。
相关推荐

耳机进入黄金时代:降噪普及、AuraCast崛起与开放式耳机爆发
The Verge Cast深度探讨耳机行业黄金时代:降噪技术全面普及不再是竞争护城河,AuraCast广播技术崛起,开放式耳机集体爆发。附Nothing、Sonos Ace Ultra、AirPods、Beats 360、Sony XM4C五款新品速评与选购建议。

用Codex在NVIDIA Jetson上部署独立VLM视觉终端实战
基于 YouTube 技术演示,详解如何借助 AI 编码代理 Codex 在 NVIDIA Jetson 上部署本地视觉语言模型(VLM),并改造为开机自启、离线可用的独立 kiosk 终端,涵盖硬件评估、权限安全与环境适配全流程。

NASA DART任务:人类首次成功偏转小行星轨道
NASA通过DART任务首次验证了动能撞击偏转小行星的可行性。探测器撞击小卫星Dimorphos后,其轨道周期缩短32分钟,远超预期的73秒,为人类行星防御提供了关键数据。