Embedding Items at Scale: Comparing GNN-Based and ID-Based Item Embeddings in the Yandex Ecosystem
Sergei Makeev, Artem Matveev, Vladimir Baikalov, Kirill Khrylchenko
cs.IR
2026-07-29
在Yandex Market和Music两个大规模推荐系统上,端到端ID嵌入直接训就够用,图神经网络预训练的额外成本不值;只有低数据的Lavka上预训练才帮得上忙。
基于transformer的序列推荐模型,核心是把用户的历史交互喂进去、预测下一个item,而这些item怎么编码(embedding)直接决定效果。业界一直有两派:一派用预训练好的item embedding,典型是从用户-item交互图上用图神经网络(GNN)预先学出来,再冻住当特征;另一派干脆端到端,把item ID经哈希映射成embedding,跟transformer一起训。问题是,这两条路谁更划算,之前从没人在真实的工业级规模上,把质量和成本一起比过。这篇就是Yandex做的这个case study。
他们在自己的三个系统上做对比:Yandex Market(电商)、Yandex Music(流媒体音乐),都是生产级大规模数据;外加一个低资源的Yandex Lavka(生鲜电商),数据小、且代码公开。
模型是生产用的双塔:用户塔是过交互序列的transformer,item塔是残差网络,把BPE分词的商品标题和item embedding(GNN或ID)拼起来。GNN这边测了两种:transductive的TwHIN(直接给每个node学embedding,训练时要所有node在场)和inductive的MultiBiSage(学一个聚合邻居的函数,能处理新item)。ID这边用多哈希(multihash)把item ID映射到一张O(10^6)项、64维的表。评估时,transformer打的分作为特征喂给线上的CatBoost排序器,报「加这个特征比不加」的相对指标差,用Wilcoxon检验卡p<0.01。
大规模的结论很一致。在Yandex Market三个推荐位上的相对nDCG提升:
| item embedding | Discovery | Cart | Retargeting |
| 无(仅内容) | +0.506% | +0.103% | +0.565% |
| TwHIN(GNN) | +0.790% | +0.151% | +0.943% |
| MultiBiSage(GNN) | +0.565% | +0.122% | +0.651% |
| ID嵌入(端到端) | +1.238% | +0.215% | +1.486% |
| TwHIN+ID | +1.273% | +0.235% | +1.522% |
端到端的ID嵌入把两种GNN都甩在后面。把TwHIN和ID拼起来,各项还能再高一点点(Discovery从1.238到1.273),但作者明确说这点增量不值得为GNN单独跑一套预训练。Yandex Music上同样的故事:ID嵌入(pair accuracy +0.699%)明显优于TwHIN,而且把TwHIN拿去fine-tune也不顶用。
低资源的Lavka翻了过来:TwHIN(无论是否fine-tune)在nDCG@5上都略胜端到端ID(0.337/0.342 vs 0.333)。算力上,ID嵌入训40到70小时,TwHIN只要5小时,MultiBiSage要52小时,都跑在8张A100上。
对做推荐系统的人,这是个能直接省事的结论:如果你的交互数据已经是工业级规模,别再为item embedding单独搭一套GNN预训练,把ID端到端训进transformer就行,质量更好、链路更短。GNN预训练的价值只在数据不够的时候才显现。
作者没有单列一节局限,但读下来几个边界要拎清。GNN embedding只给最热门的那部分item算了(Market上是17%、覆盖大部分交互),长尾item退化成共享一个embedding,ID方案则没有这个截断,这本身对ID有利。Lavka这个低资源对照缺了视觉和文本特征,代表性有限。Market和Music的评估都是把transformer分数当CatBoost的特征,不是端到端排序指标,结论严格说是「特征贡献」,不是最终线上指标的绝对高低。另外GNN的超参受算力限制没充分调,「不值得」这个判断在更贵的GNN配置下会不会松动,论文没回答。