SORT:面向工业级推荐系统的系统优化排序 Transformer

本文是关于 AliExpress 团队论文《SORT: A Systematically Optimized Ranking Transformer for Industrial-scale Recommenders》(arXiv:2603.03988)的深度精读笔记。本文将从问题定义、架构设计、系统优化到实验分析,全方位剖析 SORT 如何将 Transformer 成功落地到工业级推荐排序场景。
1. 引言:Transformer 进军推荐排序的"最后一公里"
Transformer 架构凭借其卓越的可扩展性(Scalability),在大语言模型(LLM)领域取得了令人瞩目的成就。从 GPT 到 LLaMA,从 BERT 到 T5,统一的 Transformer 架构不断刷新各项基准。这种成功的核心在于一个简洁而强大的范式:通过增加模型参数和训练数据,性能可以持续提升(Scaling Law)。
然而在推荐系统的排序(Ranking)阶段,主流模型仍然是 DIN、DIEN、DeepFM、DCN 等专用架构(Task-specific Architectures)。这些模型虽然在各自的场景中表现优异,但存在一个根本性问题:
- 架构碎片化:不同的特征交互方式需要不同的模型设计,难以统一
- 可扩展性差:增加参数量往往不能带来持续的性能提升,甚至可能导致过拟合
- 工程维护成本高:每种模型都需要独立的优化和维护
一个自然的问题是:能否像 LLM 一样,用统一的 Transformer 架构来构建推荐排序模型?
近年来,已有一些先驱性的工作开始探索这个方向:
- HSTU(Meta, 2024):提出了层级化序列转导单元,验证了推荐系统中的 Scaling Law
- OneTrans(2024):尝试将 Transformer 应用于排序场景
- GPSD(Meta, 2025):通过生成式预训练解决判别式推荐模型的过拟合问题
但这些工作要么聚焦于召回/检索阶段,要么在工业级排序场景中的落地效果有限。SORT(Systematically Optimized Ranking Transformer) 正是在这一背景下提出的——它系统性地解决了 Transformer 在工业级排序模型中面临的一系列挑战,并在 AliExpress 的真实业务场景中取得了显著收益。
目标注意力"] & A2["DIEN
兴趣演化"] & A3["DeepFM
特征交叉"] & A4["DCN
交叉网络"] A4 -->|"架构碎片化
可扩展性差"| B1 B1["HSTU
Meta 2024"] & B2["OneTrans
2024"] & B3["GPSD
Meta 2025"] B3 -->|"系统性优化"| C1 C1["统一架构"] & C2["系统优化
稀疏注意力+MoE"] & C3["工业落地"]
图 1:推荐排序模型的演进路径。 从传统的专用架构(DIN、DeepFM 等),经过 Transformer 的初步探索(HSTU、OneTrans、GPSD),到 SORT 实现统一的工业级排序 Transformer。传统范式面临架构碎片化和可扩展性差的问题——每种特征交互方式都需要定制化的模型设计(如 DIN 的目标注意力、DeepFM 的二阶交叉、DCN 的显式交叉网络),导致工程维护成本高且难以通过简单增加参数来提升性能。过渡阶段的探索工作(HSTU 聚焦召回、GPSD 专注预训练框架、OneTrans 初步尝试排序)虽然各有突破,但尚未形成完整的工业级排序解决方案。SORT 通过系统性优化,首次在工业级排序场景中成功落地统一的 Transformer 架构,标志着推荐排序从"专用模型"向"统一基础模型"的范式转变。
2. 核心问题:高特征稀疏性 vs 低标签密度
在深入 SORT 的技术细节之前,我们需要理解一个根本性问题:为什么 Transformer 在推荐排序中不能像在 NLP 中那样直接 Scale Up?
2.1 语言模型 vs 推荐模型的关键差异
论文清晰地指出了两个领域之间的核心矛盾:
| 维度 | 语言模型 (LLM) | 推荐排序模型 |
|---|---|---|
| 词表规模 | BPE 子词分词,词表约 32K-128K | 十亿级物品 ID 词表 |
| 特征稀疏性 | 低(子词复用率高) | 极高(长尾物品大量存在) |
| 标签密度 | 高(每个位置都有来自完整词表的监督信号) | 极低(仅目标物品有二值标签 0/1) |
| 训练信号 | 丰富(next-token prediction 提供密集梯度) | 稀疏(只有点击/未点击的二值反馈) |
| 过拟合风险 | 相对较低 | 极高 |
用一句话概括这个矛盾:推荐排序模型需要用极度稀疏的二值标签来正则化海量的参数空间(特别是十亿级的 Embedding 表),这导致了严重的过拟合问题。
2.2 具体表现
这个矛盾在实践中有以下具体表现:
- Embedding 表过拟合:十亿级物品 ID 的 Embedding 参数极其庞大,但大量长尾物品只有极少的训练样本,导致对应的 Embedding 向量无法被充分学习
- 模型容量与数据量不匹配:增加 Transformer 层数和参数量时,模型的泛化差距(Generalization Gap)迅速扩大
- 训练不稳定:大规模稀疏特征的梯度更新存在高方差,容易导致训练发散
2.3 SORT 的系统性应对策略
面对上述挑战,SORT 并没有采取单一的解决方案,而是提出了一套系统性的互补优化:
高特征稀疏性
× 低标签密度"] S1["① 请求中心样本 → 效率↑"] S2["② 特殊 Token → 训练稳定"] S3["③ 稀疏注意力+裁剪 → O(n)"] S4["④ DeepSeek MoE → 容量↑"] S5["⑤ 预训练+冻结 → 过拟合↓"] S6["⑥ QKNorm+门控 → 大规模"] Problem --> S1 Problem --> S2 Problem --> S3 Problem --> S4 Problem --> S5 Problem --> S6
图 2:SORT 针对核心矛盾的系统性解决方案。 面对高特征稀疏性和低标签密度的根本矛盾,SORT 提出了六个互补的优化方向,每个方向解决一个具体维度的问题:请求中心样本组织从数据层面减少冗余计算,提升训练效率;特殊 Token(BOS/SEP)从注意力分布层面稳定训练过程,防止注意力权重的异常分配;稀疏注意力和查询裁剪从计算复杂度层面将二次复杂度降至线性,并引入有益的时间衰减归纳偏置;DeepSeek MoE FFN 从模型容量层面在不增加激活计算量的前提下大幅扩展参数空间;生成式预训练加嵌入冻结策略从优化目标层面根本性地解决稀疏参数的过拟合问题;QKNorm 和门控注意力从数值稳定性层面保障大规模训练的收敛。这六个优化并非孤立存在,而是形成了一个有机整体——它们分别作用于数据、注意力、复杂度、容量、正则化和稳定性六个维度,共同构成了 SORT 的技术护城河。
3. SORT 架构详解
3.1 请求中心的样本组织(Request-Centric Sample Organization)
传统方法的问题
在传统的排序模型训练中,对于用户的一次请求(Request),系统会返回 $N$ 个候选物品,然后为每个候选物品生成一个独立的训练样本。这意味着:
- 同一个用户的历史行为序列被重复编码 $N$ 次
- 同一个用户画像(User Profile)被重复处理 $N$ 次
- 计算资源严重浪费
SORT 的解决方案
SORT 将样本组织方式从"物品中心"改为**“请求中心”**:
$$S = \langle H, U, C \rangle$$其中:
- $H$ = 用户历史行为序列(User History)
- $U$ = 用户画像(User Profile)
- $C$ = 候选物品集合(Candidate Set,包含该请求中的所有候选物品)
这种组织方式的核心优势:
- 一次前向传播处理所有候选物品:用户序列和画像只需编码一次
- 计算成本按候选数量摊销:N 个候选物品共享上下文计算
- 天然支持候选间信息交互:候选物品之间可以通过注意力机制进行比较
每条 = History+Profile+Item"] S --> F["传统:N 次前向传播
⚠️ History 重复编码 N 次"] R2["SORT:请求 N 个候选"] --> US["SORT:1 条样本
S = ⟨H, U, C₁...Cₙ⟩"] US --> FF["SORT:1 次前向传播
✅ History 仅编码 1 次"]
图 3:传统物品中心 vs SORT 请求中心的样本组织对比。 传统方法对每个候选物品生成独立样本,用户历史和画像被冗余编码 N 次,计算浪费严重。SORT 将一次请求中的所有候选物品打包为统一样本,通过单次前向传播同时处理所有候选,用户上下文仅编码一次。这不仅大幅降低了计算成本,还使候选物品之间能够通过注意力机制进行信息交互,为后续的排序决策提供了更丰富的比较信号。在实际工业场景中,一次请求通常包含数十到数百个候选物品,因此这种改进带来的效率提升非常显著。
3.2 分词模块(Tokenization)
SORT 的分词模块将异构的推荐特征统一映射为 Token 序列,具体设计如下:
Token 类型
| Token 类型 | 来源 | 数量 | 说明 |
|---|---|---|---|
| BOS Token | 特殊标记 | 1 | 序列起始标记,充当"注意力汇聚点" |
| History Token | 用户历史行为 | $L_h$ | 每个历史交互物品生成一个 Token |
| Profile Token | 用户画像 | $L_u$ | 用户画像特征映射为多个 Token |
| SEP Token | 特殊标记 | 1 | 分隔用户上下文和候选物品 |
| Candidate Token | 候选物品 | $N_c$ | 每个候选物品生成一个 Token |
BOS Token 的关键作用——注意力汇聚(Attention Sink)
在 Transformer 中,一个广泛观察到的现象是:模型倾向于将大量注意力分数分配给序列的第一个 Token,即便该 Token 本身没有实际语义。这种现象被称为 “注意力汇聚(Attention Sink)”。
SORT 显式引入 BOS Token 来承担这一角色:
- 吸收冗余注意力分数:防止无关 Token 之间产生不合理的高注意力权重
- 稳定注意力分布:使模型能更准确地分配注意力给真正重要的 Token
- 实验验证:引入特殊 Token(BOS + SEP)带来了 +0.33pt CTR-AUC 的提升
Token 生成过程
每个 Token 的生成方式如下:
- 类别特征:通过 Embedding 查表获取向量
- 数值特征:通过线性变换映射为向量
- 多特征融合:同一 Token 的多个特征向量通过求和(Sum Pooling) 融合为最终的 Token 表示
3.3 多头注意力(MHA)优化
SORT 在标准多头注意力的基础上进行了三项关键优化:
3.3.1 RoPE 相对位置编码(Rotary Position Embedding)
传统的绝对位置编码(如正弦编码或可学习编码)在处理变长序列时存在局限性。SORT 采用 RoPE 作为位置编码方案:
$$\text{RoPE}(x, \text{pos}) = x \cdot \cos(\text{pos} \cdot \theta) + \text{rotate}(x) \cdot \sin(\text{pos} \cdot \theta)$$对候选物品的特殊处理:
- 所有候选物品使用相同的位置 ID
- 通过对角掩码(Diagonal Mask) 确保候选物品之间的独立性
- 这意味着每个候选物品"站在同一个位置"观察用户历史,保证了排序的公平性
3.3.2 QKNorm——训练稳定性的保障
在大规模训练中,Query 和 Key 向量的内积可能产生极大的数值,导致 Softmax 的梯度消失。SORT 引入 QKNorm:
$$\text{Attention}(Q, K, V) = \text{Softmax}\left(\frac{\text{Norm}(Q) \cdot \text{Norm}(K)^T}{\sqrt{d_k}}\right) V$$对 Query 和 Key 在投影后分别进行 LayerNorm,确保注意力分数的数值范围稳定。
3.3.3 门控注意力(Gated Attention)
在标准缩放点积注意力的基础上,SORT 添加了一个门控机制:
$$\text{GatedAttn}(Q, K, V) = \sigma(G) \odot \text{Softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) V$$其中 $\sigma(G)$ 是一个可学习的门控向量,用于控制每个注意力头的信息流。这种门控机制允许模型:
- 自适应地调节不同注意力头的贡献
- 在训练早期抑制不稳定的注意力模式
- 提供更细粒度的信息流控制
3.4 稀疏注意力机制(Sparse Attention)
动机
标准因果注意力的复杂度为 $\mathcal{O}(L^2)$,对于长用户行为序列(L 可达数千)来说,计算和内存成本都不可接受。
设计
SORT 采用**分区稀疏注意力(Partitioned Sparse Attention)**策略:
历史行为序列:采用局部注意力窗口(Local Attention Window)
- 每个 Token 只关注其前方窗口大小 $w$ 内的 Token
- 时间复杂度从 $\mathcal{O}(L^2)$ 降至 $\mathcal{O}(L \cdot w)$,即线性复杂度
- 最优窗口大小为 256
候选物品:保留标准因果注意力
- 候选物品需要关注完整的用户上下文
- 候选物品数量相对较少,不会成为瓶颈
关键发现
论文中一个令人意外的发现是:局部注意力窗口 256 的效果甚至超过了标准因果注意力(即完整的全局注意力)。
这一现象的直觉解释是:推荐场景中用户的近期行为比远期行为对当前兴趣更为重要,局部注意力天然契合了这种时间局部性。更深入的分析见第 7.1 节的讨论。
3.5 查询裁剪(Query Pruning)
核心思想
查询裁剪是 SORT 中一个非常巧妙的设计。其核心思想是:在 Transformer 的深层,距离候选物品较远的历史 Token 的 Query 向量对最终预测的贡献越来越小,可以安全地裁剪掉。
实现方式
SORT 采用逐层递进式裁剪:
- 在浅层(靠近输入):保留所有 Token 的 Query
- 在深层(靠近输出):逐步裁剪距离候选物品远的 Query Token
- 在最终层:仅保留 ≤128 个非候选 Token 的 Query
重要区别:被裁剪的是 Query,而非 Key 和 Value。这意味着:
- 被裁剪的 Token 仍然作为 Key 和 Value 参与注意力计算
- 其他 Token(特别是候选物品)仍然可以"看到"被裁剪 Token 的信息
- 但被裁剪的 Token 本身不再主动"查询"其他 Token
效果
查询裁剪带来了双重收益:
- 计算成本减半:几乎将 FLOPs 降低了 50%
- 性能反而提升:带来了 +0.26pt CTR-AUC 的增益
性能提升的原因在于查询裁剪隐式地引入了时间衰减归纳偏置(Temporal Decay Inductive Bias)——在推荐系统中,这是一个非常合理的先验:用户的近期行为比远期行为对当前兴趣的预测更为重要。
(History)"] C["输入: C₁, C₂, ..., Cₘ
(Candidates)"] L1["浅层 1-4
全量 Q/K/V + 局部窗口 w=256"] L2["中间层 5-8
裁剪远距 History Q, 保留 K/V"] L3["深层 9-12
≤128 History Q + 全量 Candidate"] O["输出: Candidate 隐层 → FFN
→ CTR/CVR 预测"] H --> L1 C --> L1 L1 --> L2 --> L3 L3 --> O
图 4:SORT 的稀疏注意力与查询裁剪机制。 在浅层,所有 Token 保留完整的 Query/Key/Value 进行局部注意力计算(窗口大小 256);随着层数加深,距离候选物品较远的历史 Token 的 Query 被逐步裁剪,但其 Key 和 Value 仍然保留,确保候选物品可以访问完整的历史信息;在最深层,仅保留不超过 128 个历史 Token 的 Query 和所有候选 Token,最终通过候选 Token 的隐层输出进行 CTR/CVR 预测。这种设计将计算成本降低约 50%,同时通过引入时间衰减归纳偏置反而提升了模型性能。
3.6 DeepSeek MoE FFN
为什么需要 MoE?
标准 Transformer 的 FFN 层采用稠密计算,所有参数对每个 Token 都会被激活。在推荐排序模型中:
- 不同类型的用户行为(浏览、点击、收藏、购买)可能需要不同的特征变换
- 不同类别的物品可能需要不同的处理方式
- 稠密 FFN 难以同时满足这些多样化的需求
MoE(Mixture of Experts) 通过引入多个"专家"网络并动态路由,可以在不成比例增加计算量的前提下大幅扩大模型容量。
SORT 的 MoE 选择:DeepSeek MoE
SORT 比较了两种 MoE 方案:
| 维度 | Switch MoE | DeepSeek MoE |
|---|---|---|
| 路由方式 | Top-K 路由 | 细粒度路由 |
| 负载均衡 | 需要调整辅助损失超参 | 无需辅助负载均衡损失 |
| 性能 | 基线 | 略优于 Switch MoE |
| 工程复杂度 | 需要仔细调参 | 开箱即用 |
最终 SORT 选择了 DeepSeek MoE,关键超参数:
- 稀疏率:$1/8$(每个 Token 激活 $1/8$ 的专家参数)
- 性能收益:+0.19pt CTR-AUC
- 核心优势:无需额外的辅助损失函数调参,工程实现更简洁
MoE 稀疏率的影响
论文通过消融实验探索了不同稀疏率的效果:
| 稀疏率 | 含义 | 性能趋势 |
|---|---|---|
| 1/1(无 MoE) | 全稠密 FFN | 基线 |
| 1/2 | 激活一半专家 | 有一定提升 |
| 1/4 | 激活 1/4 专家 | 继续提升 |
| 1/8 | 激活 1/8 专家 | 最优 |
| 1/16 | 激活 1/16 专家 | 开始下降 |
最优稀疏率为 $1/8$,这意味着 SORT 能够以 $1/8$ 的激活计算量获得与完整稠密模型相当甚至更优的效果。过低的稀疏率(如 1/16)可能由于每个专家接收到的训练信号不足而导致性能退化。
3.7 生成式预训练与嵌入冻结(Generative Pretraining + Embedding Freeze)
这是解决过拟合的关键
前面提到,推荐排序模型的核心矛盾在于用稀疏的二值标签训练庞大的 Embedding 表。SORT 借鉴了 GPSD 框架的思路,但有自己独特的处理方式。
两阶段策略
阶段一:生成式预训练(Generative Pretraining)
- 在用户行为序列上进行 next-item prediction 任务
- 使用 Sampled Softmax 作为损失函数
- 预训练的目标是学习高质量的物品 Embedding 表
- 关键设计:不使用用户 ID 特征,仅通过历史行为序列和画像来表征用户
阶段二:判别式训练(Discriminative Training)+ 嵌入冻结
- 将预训练好的物品 Embedding 表迁移到排序模型
- 冻结 Embedding 表,不在排序训练中更新
- 仅训练 Transformer 的稠密参数
冻结策略的关键性
论文通过消融实验揭示了一个极其重要的发现:
| 策略 | CTR-AUC 变化 | 说明 |
|---|---|---|
| 无预训练(基线) | 0 | — |
| 仅转移预训练 Embedding | -0.13pt | 反而下降! |
| 转移 + 冻结 Embedding | +2.81pt | 显著提升 |
为什么"仅转移不冻结"反而有害?
- 预训练的 Embedding 在判别式训练中会被大量负样本的梯度"冲刷"
- 失去了预训练阶段通过密集生成式信号学到的高质量表示
- 相当于预训练的效果被"遗忘"了
为什么"冻结"如此有效?
- 保护了预训练 Embedding 的质量不被稀疏标签破坏
- 大幅减少了可训练参数量(Embedding 表通常占总参数量的 90%+)
- 使模型能进行多轮次训练(Multi-epoch) 而不过拟合
- 将优化重心聚焦于稠密的 Transformer 参数
图 5:SORT 的生成式预训练与嵌入冻结策略。 第一阶段通过 next-item prediction 任务预训练物品 Embedding 表,利用 Sampled Softmax 提供的密集训练信号充分学习每个物品的表示。第二阶段将预训练好的 Embedding 表迁移到排序模型中并冻结,只训练 Transformer 的稠密参数。消融实验表明,仅转移不冻结反而导致性能下降 0.13pt(预训练效果被稀疏标签"冲刷"),而转移加冻结策略带来了高达 2.81pt 的 CTR-AUC 提升。冻结策略的成功本质上是将"稀疏特征学习"和"稠密特征交叉"解耦为两个独立的优化目标,各自用最合适的任务和训练方式来学习。
3.8 排序头与损失函数
SORT 的最终预测通过以下方式完成:
- 提取候选 Token 的隐层输出:取 Transformer 最后一层中每个候选 Token 对应的隐状态向量
- 排序头 FFN:一个两层的前馈网络
- 隐藏层 + ReLU 激活
- 输出层 + Sigmoid 激活
- 多目标预测:同时预估多个目标
- 点击率(CTR)
- 加购率(Add-to-Cart Rate)
- 购买率(CVR)
- 损失函数:加权二值交叉熵(Weighted Binary Cross-Entropy)
4. 系统优化:从算法到工程的全链路
一个好的模型设计如果不能在工程上高效实现,就无法在工业场景中落地。SORT 在训练和推理两端都进行了深度优化。
4.1 训练系统优化
MFU 从 13% 到 22% 的飞跃
MFU(Model FLOPs Utilization) 衡量的是模型训练时对硬件计算能力的实际利用率。SORT 将 MFU 从 13% 提升到 22%,主要通过以下手段:
(1)稀疏模块优化:多进程组通信(MPGC)
推荐模型的 Embedding 表分布在多个 GPU 上,每次前向传播都需要大量的跨 GPU 通信。SORT 开发了 MPGC(Multi-Process Group Communication) 机制:
- 动态调度多个特征 Embedding 的跨进程组通信
- 将通信与计算流水线化,隐藏通信延迟
- 不同特征组的通信可以并行执行
(2)稠密模块优化:高效稀疏注意力算子
SORT 开发了通用的稀疏注意力 GPU 算子:
- 采用分块计算(Tiled Computation)
- 掩码预加载与验证:跳过完全被掩码的块,避免无效计算
- 结合混合精度训练(BF16) 和梯度累积
- 优化内存访问模式,提升 GPU 利用率
训练优化效果汇总
| 优化手段 | 提升 |
|---|---|
| MPGC 通信优化 | 通信延迟隐藏 |
| 稀疏注意力算子 | 注意力计算效率↑ |
| 混合精度训练 | 内存占用↓,计算速度↑ |
| 梯度累积 | 大 batch size 支持 |
| 综合 MFU | 13% → 22%(+69%) |
4.2 推理系统优化
从动态图到静态图
SORT 使用 torch.export 和 AOTInductor 将 PyTorch 的动态计算图转换为静态图,获得编译器级别的优化。
核心推理优化
(1)稀疏掩码注意力核(Sparse Masked Attention Kernel)
针对 SORT 的稀疏注意力模式,开发了高性能的 GPU 推理核:
- 吞吐量提升 +16.7%
- 延迟降低 -24.4%
(2)算子融合(Operator Fusion)
合并自注意力中的多个线性层计算:
- 将 Q/K/V 的投影融合为单次矩阵乘法
- 吞吐量提升 +10.9%
- 延迟降低 -6.3%
(3)通用优化
- 半精度推理(FP16/BF16):在不损失精度的前提下加速计算
- KV Cache:缓存历史 Token 的 Key 和 Value,避免重复计算
- 多上下文多流执行(Multi-Context Multi-Stream):充分利用 GPU 的并行能力
推理优化效果汇总
| 优化手段 | 吞吐量提升 | 延迟降低 |
|---|---|---|
| 稀疏注意力核 | +16.7% | -24.4% |
| 算子融合 | +10.9% | -6.3% |
| 通用优化 | — | — |
| 综合效果 | +29.4% | -29.3% |
5. 实验分析
5.1 离线实验
基准模型对比
SORT 与多个基准模型在相同数据集上进行了公平对比:
| 模型 | 规模 | FLOPs | CTR-AUC 差异(vs Std Trans) | 说明 |
|---|---|---|---|---|
| Standard Transformer | Base | 43G | 基线 | 标准因果 Transformer |
| HSTU | Base | — | -0.18pt | Meta 的层级化序列转导 |
| OneTrans | Base | — | +0.20pt | Transformer 排序方案 |
| SORT(Base) | Base | 24G | +0.41pt | FLOPs 仅为标准的 56% |
| Standard Transformer | Large | 322G | 基线 | 大规模标准 Transformer |
| SORT(Large 144M) | Large | 188G | +0.51pt | FLOPs 仅为标准的 58% |
关键发现:
- 在 Base 规模下,SORT 以仅 56% 的 FLOPs(24G vs 43G) 超越标准 Transformer 0.41pt
- 相比 HSTU 和 OneTrans,SORT 分别领先 0.59pt(0.41-(-0.18))和 0.21pt(0.41-0.20)
- 扩展到 Large 规模(144M 参数)后,SORT 以 58% 的 FLOPs(188G vs 322G)领先标准 Transformer 0.51pt,验证了可扩展性
各组件贡献(消融实验)
| 技术组件 | CTR-AUC 增益 | 说明 |
|---|---|---|
| 特殊 Token(BOS + SEP) | +0.33pt | 注意力汇聚,稳定注意力分布 |
| 查询裁剪(Query Pruning) | +0.26pt | 计算减半,引入时间衰减偏置 |
| 门控注意力(Attention Gate) | +0.21pt | 自适应调节注意力头贡献 |
| DeepSeek MoE | +0.19pt | 扩大容量,不增计算 |
| QKNorm | +0.12pt | 稳定大规模训练 |
| 局部注意力(Local Attention) | +0.10pt | 线性复杂度 + 隐式正则化 |
| 所有技术叠加 | > 各项之和 | 协同效应显著 |
值得注意的是,各项技术叠加后产生了显著的协同效应——综合提升大于各项单独贡献之和。这说明这些优化并非孤立存在,而是在不同维度上互相增强:例如,局部注意力减少了注意力范围中的噪声,使得特殊 Token 的汇聚效果更加聚焦;查询裁剪与 MoE 的组合则在保持低计算量的同时维持了高模型容量。
可扩展性分析
SORT 在三个维度上验证了可扩展性:
| 扩展维度 | 方式 | 效果 | 有效性排序 |
|---|---|---|---|
| 数据扩展 | 增加训练轮次(Multi-epoch) | 最显著提升 | 🥇 最有效 |
| 序列长度 | 256 → 4096 | 持续提升 | 🥈 次有效 |
| 模型规模 | 增加参数量 | 稳定提升 | 🥉 第三 |
数据扩展最为有效这一发现值得注意——得益于冻结 Embedding 策略,SORT 可以进行多轮次训练而不过拟合,这在传统排序模型中是难以实现的。
特征工程兼容性
SORT 并非要取代特征工程,而是与其互补:
| 特征集 | CTR-AUC 增益 | 说明 |
|---|---|---|
| 基础特征(ID + 属性) | 基线 | — |
| + 多模态特征 | +0.36% | 图像、文本等 |
| + 用户-物品交叉特征 | +1.03% | 最显著提升 |
| 全特征集 | CTR +1.27%, CVR +1.74% | 综合提升 |
用户-物品交叉特征带来了最显著的提升,说明 Transformer 的注意力机制虽然擅长自动学习特征交互,但精心设计的交叉特征仍然能提供额外的先验知识。
5.2 在线 A/B 测试
SORT 在 AliExpress 的三个核心场景进行了为期一个月的在线 A/B 测试:
总体业务指标
| 指标 | 平均提升 |
|---|---|
| 订单数 | +6.35% |
| 买家数 | +5.97% |
| GMV(成交总额) | +5.47% |
| 推理延迟 | -44.67% |
| 推理吞吐量 | +121.33% |
分场景详细结果
| 场景 | 订单数 | 买家数 | GMV | 延迟 | 吞吐量 |
|---|---|---|---|---|---|
| 首页(Homepage) | +4.13% | +4.26% | +6.60% | -58% | +36% |
| 购物车(Cart) | +3.50% | +3.75% | +3.69% | -37% | +169% |
| 支付后(Post-Pay) | +11.43% | +9.91% | +6.12% | -39% | +159% |
关键观察:
- 支付后场景订单提升最显著(+11.43%):可能因为该场景的用户购买意向已经明确,SORT 的精准排序能力带来更大的边际收益
- 首页场景延迟优化最佳(-58%):首页是流量最大的入口,延迟优化带来的用户体验提升尤为关键
- 系统效率全面提升:平均延迟下降 44.67%、吞吐量提升 121.33%,不仅是模型效果更好,而且更快更省资源
6. 方法论对比:SORT vs 同期方案
6.1 多维度对比表
| 对比维度 | SORT | HSTU (Meta) | OneTrans | 标准 Transformer |
|---|---|---|---|---|
| 目标场景 | 排序(Ranking) | 召回 + 排序 | 排序 | 通用 |
| 样本组织 | 请求中心 | 序列化 | — | 独立样本 |
| 注意力机制 | 局部稀疏 + 查询裁剪 | 门控注意力(无 MLP) | 标准因果 | 标准因果 |
| 位置编码 | RoPE + 对角掩码 | 相对偏差 | — | 绝对/相对 |
| FFN 设计 | DeepSeek MoE(1/8 稀疏) | 无独立 FFN | 标准 FFN | 标准 FFN |
| 预训练策略 | 生成式预训练 + 嵌入冻结 | — | — | — |
| 训练稳定性 | QKNorm + 门控 | 门控 | — | 无特殊处理 |
| 序列长度 | 256-4K(局部注意力) | 超长序列 | 中等 | 受限于 O(L²) |
| 工业验证 | AliExpress 全场景 | Meta 内部 | 有限 | — |
6.2 SORT 的优势
- 系统性优化:不是单点突破,而是从分词、注意力、FFN、预训练到系统工程的全链路优化
- 工程友好:DeepSeek MoE 无需调辅助损失、查询裁剪实现简单、推理优化降低部署成本
- 效率突出:以 58% 的 FLOPs 超越标准 Transformer,推理延迟降低 44.67%
- 可扩展性强:在数据、模型、序列长度三个维度上均展现持续提升
- 特征兼容:不排斥传统特征工程,与交叉特征、多模态特征互补
- 业务收益显著:在线 A/B 测试订单 +6.35%,GMV +5.47%
6.3 SORT 的潜在不足
- 两阶段训练流程:生成式预训练 + 判别式训练增加了训练管线的复杂度
- 预训练依赖:如果物品分布频繁变化,预训练 Embedding 的时效性可能成为问题
- 冻结策略的刚性:完全冻结 Embedding 可能无法适应动态变化的物品语义
- MoE 的工程挑战:稀疏 MoE 在分布式训练和推理中的负载均衡仍需关注
- 场景泛化性:目前仅在电商场景验证,在视频、社交等推荐场景的效果有待检验
- 冷启动问题:新物品没有预训练 Embedding,冷启动场景的处理方式论文未详细讨论
6.4 HSTU 的优势与不足
作为 SORT 最重要的对比方法,HSTU 值得单独分析:
HSTU 的优势:
- 架构极简:完全移除 MLP 层,将注意力与前馈融合为单一操作,减少了超参数调优空间
- 超长序列支持:针对推荐场景的极长用户行为序列($10^5$ 量级)进行了专门优化,在长序列场景下有天然优势
- 万亿参数验证:首次在推荐系统中验证了 Scaling Law 的存在,为后续工作(包括 SORT)奠定了理论基础
HSTU 的不足:
- 排序场景适配不足:HSTU 最初为召回/检索设计,在排序场景中直接应用效果不如 SORT(-0.59pt CTR-AUC)
- 模型容量受限:移除 MLP 后,模型的非线性变换能力下降,难以通过 MoE 等方式灵活扩展容量
- 缺乏预训练策略:没有针对稀疏特征过拟合提出系统性的预训练和冻结方案,限制了在高特征稀疏场景下的表现
6.5 HSTU vs SORT 的设计哲学对比
HSTU 和 SORT 是目前工业级 Transformer 推荐模型的两个代表性工作,它们的设计哲学有明显差异:
| 设计哲学 | HSTU | SORT |
|---|---|---|
| 核心理念 | 极简主义——去掉 MLP,融合注意力与前馈 | 系统优化——保留标准组件但逐一优化 |
| MLP 处理 | 完全移除,用门控融合替代 | 保留并升级为 MoE |
| 复杂度控制 | 通过简化架构降低 FLOPs | 通过稀疏注意力 + 查询裁剪 |
| 过拟合应对 | 主要通过架构简化 | 生成式预训练 + 嵌入冻结 |
| 落地路径 | 需要深度定制 | 更接近标准 Transformer,迁移成本低 |
7. 深入讨论
7.1 为什么局部注意力比全局注意力更好?
这是论文中最反直觉的发现之一——按直觉,“看到更多信息"应该总是更好的,但实验结果表明窗口大小 256 的局部注意力甚至超越了完整的全局因果注意力。我们从多个角度深入分析这一现象:
- 推荐场景的时间局部性:与自然语言不同,推荐场景中的用户行为序列具有强烈的时间衰减特性。用户一周前浏览的商品类别可能与当前兴趣完全无关。全局注意力会将有限的注意力容量"浪费"在这些过时的信息上,而局部注意力强制模型聚焦于最相关的近期行为
- 隐式正则化与过拟合缓解:在高特征稀疏性的推荐场景中,全局注意力提供了更大的参数自由度,但这反而加剧了过拟合风险。局部注意力通过限制感受野,引入了一种结构化的正则化约束——它减少了模型可以"记忆"的训练样本模式,迫使模型学习更泛化的特征
- 梯度质量与优化效率:全局注意力中,远距离 Token 对的梯度信号通常较弱且噪声较大(因为远距离行为的相关性本身就低)。这些低质量梯度会干扰有效的参数更新。局部注意力过滤掉了这些噪声梯度源,使每次参数更新都更加精准
- 与查询裁剪的层级协同:局部注意力在"水平方向"限制了每层的感受野,查询裁剪在"垂直方向”(跨层)逐步收缩活跃的 Token 数量。两者共同构成了一个"由近到远、由多到少"的层级化信息访问模式,这与推荐系统中"近期行为重要性递减"的直觉完美契合
- 计算效率的连锁效应:局部注意力将复杂度降至线性后,省下的计算资源可以用于增加模型层数或训练更多轮次,间接提升了模型性能
7.2 冻结 Embedding 的理论解释
冻结策略的成功可以从优化景观(Optimization Landscape) 的角度理解:
- 参数空间解耦:将"学习物品表示"和"学习排序决策"解耦为两个独立的优化问题
- 降维效果:冻结 Embedding 后,可训练参数量大幅减少(通常减少 90%+),优化景观变得更加平滑
- 正则化效果:冻结相当于一种极强的正则化——强制模型在预训练给定的特征空间中学习排序
7.3 MoE 在推荐排序中的前景
SORT 首次在工业级排序模型中成功应用了 MoE,这为推荐系统的模型设计打开了新的方向:
- 容量扩展:MoE 允许在固定计算预算下大幅扩展模型参数量
- 专业化分工:不同专家可以自然地学习处理不同类型的用户行为或物品类别
- 与推荐场景的天然契合:推荐数据的异构性(多种行为类型、多种物品类别)天然适合专家路由机制
8. 总结与展望
8.1 核心贡献总结
SORT 的核心贡献可以归纳为以下几点:
- 问题诊断:系统性地识别了 Transformer 应用于工业级排序的核心矛盾——高特征稀疏性与低标签密度
- 架构创新:提出了一套互补的优化方案(请求中心组织、稀疏注意力、查询裁剪、MoE FFN、生成式预训练+冻结),形成有机整体
- 系统工程:从训练端(MFU 13%→22%)到推理端(延迟 -44.67%,吞吐量 +121.33%)的全链路优化
- 业务验证:在 AliExpress 多场景 A/B 测试中取得订单 +6.35%、GMV +5.47% 的显著收益
8.2 对行业的启示
SORT 的成功给推荐系统领域带来了几个重要启示:
- 统一架构是可行的:不需要为每个特征交互方式设计专用模块,Transformer 的注意力机制可以自动学习
- 预训练是关键:生成式预训练 + 冻结策略为解决推荐模型的过拟合提供了一条可行路径
- 系统优化与算法创新同等重要:好的算法如果不能高效部署,就无法产生业务价值
- 特征工程仍有价值:Transformer 并非完全取代特征工程,而是与之互补
8.3 未来展望
基于 SORT 的工作,推荐排序 Transformer 的未来发展方向可能包括:
- 统一召回与排序:用同一个 Transformer 模型同时处理召回和排序,进一步简化系统架构
- 在线学习与预训练的融合:探索如何在不断变化的数据流中持续更新预训练 Embedding
- 更高效的 MoE 方案:探索更细粒度的专家路由策略,进一步提升模型容量与计算效率的比值
- 跨场景迁移:将 SORT 的框架迁移到视频推荐、社交推荐等其他场景
- 多模态融合:更深层次地融合文本、图像、视频等多模态物品特征
参考文献
- SORT: A Systematically Optimized Ranking Transformer for Industrial-scale Recommenders. arXiv:2603.03988
- Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations (HSTU). arXiv:2402.17152
- Scaling Transformers for Discriminative Recommendation via Generative Pretraining (GPSD). arXiv:2506.03699
- DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model. arXiv:2405.04434
- RoFormer: Enhanced Transformer with Rotary Position Embedding (RoPE). arXiv:2104.09864

字节推荐广告算法工程师,专注电商推荐系统。电商广告模型 → 电商推荐模型,兴趣方向:模型结构 Scale Up、序列建模、首点归因、GMV 回归建模。
日常分享搜广推论文 & LLM 笔记,以及自己做的一些小工具和尝试过程。
🔥 欢迎加入 TT 电商推荐团队,期待共建业界领先的推荐系统,完成 LLM 的清晰落地!内推通道 →