1. 问题与动机
论文关注推荐系统最前端的工业召回,而不是常见的精排扩展。阿里展示广告的候选库有 5200 万个广告,单次请求通过 HNSW 仍需对约 4 万个候选执行模型打分,约占全库 0.08%;生产链路同时要求 P99 延迟低于 40 ms。两塔模型虽然便宜,但用户与候选只能做内积交互;更强的 model-based retrieval 能做任意交叉,却会把每候选 FLOPs 变成主瓶颈。作者发现,直接堆 Transformer 层并不能稳定扩展:用户侧多值字段聚合后 token 范数可达到候选侧的 10 倍,高范数 token 主导注意力,使增加算力出现收益递减。另一个障碍是多域训练,独立模型会成倍增加训练与服务成本,简单合并数据又无法告诉模型当前业务域。论文因此要同时解决异构 token 尺度、每候选计算量和跨域共享三个相互牵制的问题。
2. 方法详解
TransRetrieval 仍采用 NANN 式框架:神经打分函数 s(u,i)=Fθ(u,i) 驱动 HNSW beam search,而不是先离线固定一个候选向量再做纯内积。输入字段由若干 key-weight 对组成。第一步对每个字段使用加权平均 e_f=Σv_i h(k_i)/(Σv_i+ε),分母消除多值字段因基数和权重规模造成的范数膨胀;作者明确不用 max pooling,因为极值偏差随字段基数增长且会丢掉多数信息,也不用聚合后 LayerNorm,因为它会抹去有用的字段幅度信号。
第二步把候选侧 87 个工业字段先各自聚合,再拼接送入三层 MLP,隐藏宽度依次为 8D、4D、D,中间使用 PReLU 与 LayerNorm,最终压成单个 D 维 target token。其计算式表明总成本近似与候选 token 数 L_t 线性增长;用户侧 K/V 对同一请求只算一次并复用,因此压缩 L_t 后节省的预算可重新投入更宽、更深的 Transformer。第三步为每个域学习一个 D 维 domain embedding,并像位置编码一样加到所有 token 上,不额外增加序列长度;所有注意力头和 FFN 参数无条件跨域共享,使稀疏域也能收到所有域的梯度。骨干是 Pre-LN Transformer,使用 ReLU FFN 和 MLP 预测头。
系统层面同样关键:作者以 expand 广播单份用户 KV cache,避免为每个候选复制,单次延迟降 30%;把多个单 token 候选打包成带隔离 mask 的批计算,并融合 LayerNorm、残差和激活算子,相比朴素实现前向延迟降 11 倍。HNSW 邻居查询、距离计算和候选选择全部迁到 GPU,较 CPU 图检索降延迟 89%;静态索引量化和推理引擎共享使并发提高 3 倍。候选压缩器作为独立子图近线更新,只重算特征发生变化的广告。
训练使用 NVIDIA H20 集群、PyTorch 与 RecIS。工业集含 2.5 亿用户、5200 万候选、400 亿交互、4 个域、75 个用户字段、87 个候选字段、行为序列长 100;KuaiRand 含 24,943 用户、536,491 候选、1.52 亿交互和 4 个域。两套数据共享 AdamW、学习率 1e-3、weight decay 3e-5 和生产 pairwise LTR loss;工业数据每正样本采 5 个负例,KuaiRand 采 200 个,均训练至收敛并按时间切分。
3. 核心技术贡献
第一,加权平均不是普通预处理细节,而是恢复 Transformer 默认依赖的同质 token 尺度。相同 64D-5L 配置下,它的工业 Recall@2000 为 0.618,优于加权和 0.608、加权和加 LayerNorm 0.593、max pooling 0.571,说明问题来自聚合统计而非模型容量不足。第二,目标 token 压缩把结构冗余换成更强交互:8 token 方案为 3.04 MFLOPs、Recall 0.624;1 token 的 64D-3L 为 0.45 MFLOPs、Recall 0.603,再把省下预算扩到 128D-5L 后只需 1.91 MFLOPs 即达到 0.657。第三,位置式域嵌入不增加注意力长度,却允许全参数共享和跨域数据扩展,比独立域训练或无域标识的简单联合更适合稀疏业务。第四,论文把模型结构与 KV 共享、GPU 图搜索、近线索引更新联合设计,证明检索模型的 scaling law 必须在真实延迟包络内讨论。
4. 实验结果分析
| 模型 | 工业 R@2000 | KuaiRand R@2000 | 每候选 MFLOPs(工业) |
|---|---|---|---|
| Production Baseline | 0.576 | 0.378 | 0.69 |
| HSTU-128D5L | 0.527 | 0.382 | 1.72 |
| RankMixer-128D8T | 0.452 | 0.364 | 2.10 |
| TransRetrieval-64D3L | 0.603 | 0.419 | 0.45 |
| TransRetrieval-128D5L | 0.657 | 0.473 | 1.91 |
小模型 TransRetrieval 已用比生产基线少 35% 的 FLOPs 将工业 R@2000 从 0.576 提到 0.603。由 32D-1L 扩到 128D-5L 时,工业集从 0.464 升至 0.657,KuaiRand 从 0.251 升至 0.473,对数线性拟合 R² 分别为 0.82 和 0.88。尤其值得注意的是,128D-5L 以 1.91 MFLOPs 比 RankMixer-768D16T 的 150.99 MFLOPs 高 12.6 个召回点,表明先修复表示与计算结构比蛮力加宽更重要。
线上实验在阿里展示广告 5% 流量运行一个月,唯一变量是召回模型。TransRetrieval 以 230 QPS、P99 小于 40 ms 服务,与基线端到端延迟相同;平台收入提升 2.53%,95% 置信区间 [2.22%,2.70%],RPM 提升 1.28%,两者 p<0.0001。四域收入分别提升 1.72%、2.51%、5.39%、0.87%,说明收益不是由单一域偶然驱动,不过域间差异也提示数据稀疏度和竞价分布会影响增益。
5. 局限与未来方向
作者在讨论中指出,当前验证聚焦展示广告和短视频两个案例,尚不足以证明 scaling 规律普遍适用于所有推荐召回;模型依赖 model-based HNSW 与 GPU 常驻索引,索引量、更新频率和基础设施成本会限制复现。线上单引擎 QPS 从 300 降到 230,虽然可横向扩容维持延迟,但论文没有报告新增机器成本与收入增量的完整 ROI。论文也未公开工业字段、数据和 RecIS 生产实现,外部团队只能在 KuaiRand 上部分复现。另一个未充分讨论的问题是位置式域嵌入对新域、域漂移和相互冲突目标的适应性;后续应测试 zero/few-shot 新域接入、域级负迁移诊断,以及压缩 token 对可解释性与校准的影响。
6. 工业实践意义
对社区搜索/推荐团队,第一优先级应是记录用户侧和候选侧 token 范数分布,再决定是否扩容 Transformer;若异构字段范数随基数增长,直接堆层很可能浪费预算。候选压缩适合召回阶段,但需要离线对比“多个候选 token 的小骨干”和“单 token 的大骨干”,不能只看单模块压缩率。用户 KV cache 复用、候选打包和 GPU 图检索必须纳入同一个压测,因为模型 FLOPs 并不等于端到端延迟。
落地可分三步:先在现有召回器中替换字段聚合并做消融;再加入独立 target compressor,使用近线事件更新索引;最后才统一多业务域并扩大 D 与层数。线上除 Recall@K、CTR 外,应同步观测候选覆盖、长尾曝光、校准、P99、单机 QPS、GPU 内存和收入/互动增量。论文的 2.53% 收入提升很有吸引力,但它伴随单引擎吞吐下降,业务决策必须以每单位基础设施成本的净收益评估。