Apple Music 多语言语义搜索的工程落地

Apple Music 面对的是全球 150 多个地区、几十种语言的用户,每天还要处理几十万首新歌入库。搜索系统最大的痛点已经不是用户能拼对歌名去搜,而是那些拼写错误、音译、跨语言的“脏查询”——这些尾部查询占了搜索量的绝大部分,但传统基于关键词匹配的倒排索引几乎无能为力。用户搜不到东西就直接流失,这是一个长期被忽视但影响面极大的体验问题。

他们的解法很务实:用一个 3.05 亿参数的 Siamese 双编码器(基于 GTE-multilingual-base 微调),通过课程学习和多目标训练让模型同时理解拼写、音译和语义。更聪明的是他们没搞“替代”,而是做了混合检索架构:把稠密向量检索的最近邻结果和现有的 token 索引用分位数匹配拼接起来,下游排序器不需要重新训练就能直接用。离线评估 Hit@10 相对提升了 69%,线上 A/B 测试更值得一提:全局转化率提升 2.28%,无结果率下降 86%,而且所有地区都正向收益,没有出现任何回退。尾部查询转化率提升了 7.93%,高频查询只提升了 0.14%——这说明语义检索精准地解决了最难的问题,但没有打扰已经表现不错的头部结果。

这件事最值得关注的不只是模型效果,而是他们用工程巧思绕开了工业级系统迭代最大的障碍:不想重训练下游模型。很多公司在学术榜单上刷得很高,但落地时因为和现有系统耦合太紧、改动成本太大而放弃。Apple Music 这个方案展示了如何带着镣铐跳舞——用分位数匹配做特征对齐,让新老模块无缝协作。这对于任何想在大规模生产环境中引入语义搜索的团队,都是一个高质量的参考范本。

Multilingual Semantic Retrieval for Apple Music Search

查看原文