← 全部深度解读
📖 深度解读 · PERSONALIZATION

SORT: A Systematically Optimized Ranking Transformer for Industrial-scale Recommenders

Chunqi Wang, Bingchao Wu, Taotian Pang, Jiahao Wang, Jie Yang, Jia Liu, Hao Zhang, Hai Zhu, Lei Shen, Shizhun Wang, Bing... · Alibaba · arXiv 2603.03988 · 发表 2026-08-24
13 分钟阅读时长 5186字 5.00综合分 第 1 名08-25 Personalization 日报
目录 · 6 节1问题与动机2方法详解3核心技术贡献4实验结果分析5局限与未来方向6工业实践意义
相关 5新颖 5实用 5证据 5时效 5
对社区内容推荐或搜索排序,最值得迁移的是“数据组织—注意力可见性—训练目标”一体化设计,而不是直接照搬 LLM。三目标 CTR/CVR/加购联合预测、256 窗口局部注意力和候选感知剪枝,能把长用户行为序列的建模收益转化为可控的线上延迟;但需要先具备大规模请求级样本和高效稀疏算子。

1. 问题与动机

SORT 的出发点不是“把一个语言模型缩小后用于推荐”,而是反过来问:为什么在 LLM 上表现出规模化优势的 Transformer,到了工业推荐排序场景却很难直接发挥作用。论文把差异归结为两个结构性问题。第一,推荐系统要处理用户、商品、店铺和上下文等大规模离散特征,商品词表可以达到十亿级,稀疏 embedding 表非常容易过拟合;第二,推荐标签密度很低,用户历史主要是输入而不是逐 token 的监督,真正有标签的通常只有候选商品的点击、加购或购买,而且非点击样本占绝大多数。也就是说,模型需要用极大的参数空间去拟合稀疏的二值反馈,长历史反而会带来计算浪费和噪声。

论文还指出,传统 DIN、DeepFM、DCN 等模型擅长手工特征交互,但主要依赖向量级操作和低维矩阵乘法,不能充分利用现代加速器的并行算力,也难以统一处理动态行为序列、用户画像和候选集合。HSTU 等生成式推荐模型已经证明“把排序看成序列预测”有扩展潜力,但工业排序仍然存在请求内候选重复计算、长历史注意力平方复杂度、稀疏 ID 训练不稳定等问题。SORT 因而选择在 Transformer 框架上系统重做样本组织、注意力、稀疏 embedding、预训练目标和训练基础设施,而不是只添加一个新模块。

这项工作的重要性在于它有完整的生产闭环:训练数据来自工业推荐日志,模型同时预测点击、加购和购买三类行为,实验既报告离线 AUC 和消融,也报告 AliExpress 多场景线上 A/B。论文最后说明 SORT 已经全量服务 AliExpress 用户,因此它关注的并非单一公开数据集上的百分点,而是模型容量、吞吐、时延和业务收益能否同时成立。

2. 方法详解

2.1 请求中心的数据组织

传统 impression-centric 样本会把同一个请求的用户历史和画像复制 N 次,分别与 N 个候选 item 组成样本。SORT 将一个请求 r 表示为 S=〈H,U,C〉:H 是按时间排列的用户行为序列,U 是静态用户属性与统计特征,C 是同一请求内的候选集合。每个候选还携带商品元数据、统计特征和 user-item 交叉特征。这样,用户侧上下文只编码一次,候选 token 共享同一个请求上下文,避免候选数量增长时重复处理用户历史。

2.2 Token、注意力与候选隔离

模型为用户历史中的每个行为 item 和候选 item 生成一个 token;用户画像映射为多个 token。原始离散特征先做 embedding lookup,拼接后经过线性投影和归一化映射到 Transformer 维度。输入序列为 [BOS; Tokenize(H); SEP; Tokenize(U); SEP; Tokenize(C)]。BOS 和两个 SEP 不只是分隔符,也作为位置边界和 attention sink,帮助模型识别历史、画像、候选三类区域。

候选 token 使用相同的位置 ID,并通过对角 mask 保证每个候选只看自己和之前的历史、画像 token,不直接看其他候选,避免候选间相互泄漏。注意力中加入 RoPE、QKNorm 和 attention gate:QKNorm 对 query/key 做 RMSNorm,降低注意力 logits 的波动;gate 在 scaled dot-product 后重新控制信息流。对长用户历史,绝大多数历史 token 使用局部注意力,窗口为 W 时复杂度从 O(L²) 降到 O(WL)。此外,query pruning 在每层删除远离候选的 query,到顶层最多保留 128 个非候选 token,既明显降算力,也形成了“越靠近候选越精细”的时间衰减归纳偏置。

2.3 多目标排序头、稀疏 MoE 与预训练

候选 token 经过一个带 ReLU 隐层的 FFN 和 sigmoid 输出层,分别预测 click、cart、purchase 三个概率,训练损失是三个二元交叉熵的加权和。FFN 使用 DeepSeek-style sparse MoE,每个 token 只激活少量专家,最终实验在总专家数的 1/8 激活比例上效果最好。相比 Switch-style MoE,DeepSeek-style 路由不需要额外调 auxiliary load-balancing loss,训练更容易稳定。

为缓解 item ID 的高稀疏性,SORT 不使用显式 user ID,而是用用户行为序列和画像描述用户;item embedding 则采用生成式预训练。先用 next-item 目标提升标签密度,再把预训练 sparse embedding 迁移到排序模型并冻结。论文对“只迁移”和“迁移+冻结”做了对比:只迁移会轻微退化,而冻结后可以多轮训练且不过拟合,说明稀疏表更适合作为稳定的语义/记忆底座,而不是和排序目标一起快速漂移。

2.4 训练和推理基础设施

系统构建在 RecIS 上,MoE 使用 Megablocks。稀疏模块的瓶颈是 I/O 和内存访问,作者设计 MPGC,在多个 process group 间调度 embedding 流量来隐藏通信延迟;密集模块的瓶颈是复杂 sparse mask 下的计算,作者实现 block-wise sparse attention operator,预加载 mask,跳过完全被 mask 的 block,并结合 BF16、梯度累积和算子融合。训练采用 AdamW,β=(0.9,0.99),weight decay=0.01,小/基座/大模型学习率分别为 5e-4、2e-4、1e-4,batch size=12K,默认训练一 epoch、最长历史 1K,ranking head 和 MoE router 保持 FP32,其余使用 BF16。不同规模模型使用 4–32 张 A100,训练 1–10 天。

3. 核心技术贡献

第一,SORT 把推荐样本从“一个候选一个样本”变为请求中心的候选集合,避免重复编码用户侧信息。这一改变使 Transformer 的注意力真正面向一次请求的排序决策,而不是面对一堆相互独立的 impression。

第二,作者将局部注意力、候选隔离和 query pruning 组合起来解决长历史成本。局部窗口限制远端历史的全连接访问,候选 mask 确保每个候选独立打分,逐层剪枝将计算集中到和候选更相关的历史。实验中,基座序列长度 1K 时 local attention 将 FLOPs 从 43G 降到约 40G;更长序列时收益更明显,且剪枝有时比不剪枝更好,说明它不是单纯的近似,而是对行为时间衰减的结构化先验。

第三,生成式预训练和 sparse freeze 解决了低标签密度与稀疏 embedding 过拟合的组合问题。对基座 Transformer,CTR AUC 从 0.7175 提升到 0.7456,CVR AUC 从 0.8959 提升到 0.9093,AddCart AUC 从 0.8455 提升到 0.8663。这个结果说明“用 next-item 监督补充排序标签,再冻结稀疏表”比直接把预训练 embedding 放进排序训练更有效。

第四,模型结构与系统内核同步优化。MoE 增加容量但只执行少量专家,MPGC 和 sparse attention 让硬件真正吃到密集部分的算力;基座 MFU 从未优化时的 13% 提升到 22%,大模型达到 45%,推理相对未优化版本吞吐提升 29.4%、延迟下降 29.3%。

4. 实验结果分析

4.1 数据规模与主要对比

项目论文设置/结果
训练集0.6B requests,50M users,9B impressions
测试集20M requests,4M users,0.3B impressions
多目标CTR、CVR、AddCart 三个 AUC 任务
训练硬件4–32 张 A100,batch 12K,BF16
大模型效果CTR-AUC 比 Transformer 高 +0.51pt,FLOPs 188G 对 322G
线上 A/Borders +7.47%,buyers +6.67%,GMV +8.65%
servinglatency -61%,throughput +589%,已部署 AliExpress

在 base scale 的对比中,标准 Transformer 的 CTR/CVR/AddCart AUC 是 0.7456/0.9093/0.8663;HSTU 为 0.7438/0.9070/0.8644,反而略低;OneTrans 为 0.7476/0.9103/0.8677。加入 special token 后,CTR AUC 进一步到 0.7489,说明看似简单的序列边界符对稀疏推荐 token 很有帮助。SORT 的优势不是某一个孤立数字,而是随着 small、base、large 三种规模扩大仍保持优势,同时大模型需要更少 FLOPs。

4.2 预训练与消融

稀疏预训练的消融最清楚地揭示了训练策略:scratch Transformer 的 CTR/CVR/AddCart 为 0.7175/0.8959/0.8455,只做 sparse transfer 下降至 0.7162/0.8943/0.8449;transfer+freeze 则达到 0.7456/0.9093/0.8663。也就是说,冻结不是实现细节,而是让预训练稀疏表免受排序任务稀疏标签牵引的关键机制。

结构消融显示,special token 让 CTR-AUC 增加 +0.33pt,query pruning 增加 +0.26pt;attention gate、QKNorm、local attention 和 MoE 均有收益。局部窗口在 64、128、256 中以 256 最佳,过小的窗口失去长期依赖,过大的窗口增加计算。MoE 激活比例比较 1/2、1/4、1/8,1/8 最优;稀疏并不等于盲目少算,而是要保留足够的专家容量与稳定路由。

4.3 线上解释与失败边界

线上业务结果非常强,但不能把全部收益简单归因于 Transformer。SORT 同时改变了数据组织、预训练、注意力和基础设施,因此 A/B 证明的是完整系统方案的业务价值。论文还显示大模型训练需要 1–10 天、4–32 张 A100,且依赖 RecIS、Megablocks、MPGC 和定制 sparse attention;这意味着小团队很难只复制模型代码就得到同等结果。另一个值得注意的结果是 local attention 在 1K 序列上只少约 3G FLOPs,却在更长序列中成为关键,说明短序列离线指标可能低估系统优化的长期价值。

5. 局限与未来方向

论文没有单列一个形式化的 Limitations 小节,但实验范围明确了几项限制。数据来自一个工业推荐系统,线上验证集中在 AliExpress 多场景;虽然作者报告了跨数据量、模型规模和序列长度的 scaling,但没有证明同一组结构在社区内容、广告或短文本搜索上无需重新调参。训练依赖 4–32 张 A100、RecIS/Megablocks 和定制通信、注意力算子,工程门槛明显高于普通 Transformer。模型还使用一个固定的一 epoch、最大 1K 历史和三类行为目标,如何处理更长、多模态、强延迟反馈或更多负向反馈,论文没有展开。

从论文呈现的范围看,未来应继续验证三点:第一,生成式预训练目标能否把 query、帖子、作者和主题等 UGC token 统一起来;第二,冻结稀疏表会不会在新内容、新用户和概念漂移下限制适应速度;第三,线上业务提升是否能在长期留存、内容多样性和作者生态指标上持续。对于社区产品,不能只追求订单式短期指标,还需要把 CTR、nDCG、作者覆盖和负反馈共同纳入多目标排序头。

6. 工业实践意义

第一步可以先做“请求中心样本”改造:把同一请求的用户历史、画像和候选批量组织起来,测量重复编码减少了多少,以及排序服务的 P50/P99 延迟如何变化。第二步再逐层引入 local attention、candidate mask 和 query pruning,先从历史序列的尾部做局部窗口,并用离线 AUC、nDCG 与线上延迟联合验收。第三步才考虑生成式预训练和 sparse freeze,因为它要求稳定的 item/token 体系、足够长的行为序列以及可复现的 next-item 训练集。

对于 UGC 短文本搜索,可把点击、停留、收藏、关注、负反馈分别作为多目标头,使用用户行为序列和帖子语义 token 组成请求级输入。内容 ID 不应完全依赖高基数 embedding,可以用主题、实体、作者和语义簇形成较稳定的中间 token;但精排输出仍需保留 exact post ID 和业务过滤。部署时要把 embedding I/O、跨卡通信、稀疏 attention kernel 和 KV cache 一起剖析,不能只看 FLOPs。

最值得避免的是直接把大语言模型的完整 dense attention 和单一 next-click 目标搬到生产排序。SORT 的证据表明,收益来自多个工程约束共同作用:标签密度增强、历史计算裁剪、候选隔离、稀疏容量扩展和硬件利用率提升。若没有大规模训练数据或定制算子,应先复现请求中心、冻结稀疏表和轻量局部注意力三个低风险组件,再决定是否投入 MoE 与专用加速器。

← 全部深度解读 出现于报告:2026-08-25 · Personalization #1 (5.00)2026-03-23 · Personalization #1 (4.45) 原文 ↗