<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>论文精读 | Yadong's Blog</title><link>https://dingyadong.top/tags/%E8%AE%BA%E6%96%87%E7%B2%BE%E8%AF%BB/</link><atom:link href="https://dingyadong.top/tags/%E8%AE%BA%E6%96%87%E7%B2%BE%E8%AF%BB/index.xml" rel="self" type="application/rss+xml"/><description>论文精读</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>zh-cn</language><lastBuildDate>Thu, 09 Apr 2026 02:30:00 +0800</lastBuildDate><image><url>https://dingyadong.top/media/icon.svg</url><title>论文精读</title><link>https://dingyadong.top/tags/%E8%AE%BA%E6%96%87%E7%B2%BE%E8%AF%BB/</link></image><item><title>NormFormer：用额外归一化改进 Transformer 预训练</title><link>https://dingyadong.top/posts/014_normformer_paper_review/</link><pubDate>Thu, 09 Apr 2026 02:30:00 +0800</pubDate><guid>https://dingyadong.top/posts/014_normformer_paper_review/</guid><description>
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;本文是关于 Meta AI 论文《NormFormer: Improved Transformer Pretraining with Extra Normalization》（
）的深度精读笔记。这篇论文通过在 Transformer 架构中添加三处额外的归一化操作，有效缓解了 Pre-LN 架构中各层梯度分布不均的问题，在几乎不增加计算成本的前提下，显著提升了语言模型的预训练效率和下游任务表现。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="1-引言transformer-归一化问题的前世今生"&gt;1. 引言：Transformer 归一化问题的前世今生&lt;/h2&gt;
&lt;h3 id="11-从-post-ln-到-pre-ln-的演进"&gt;1.1 从 Post-LN 到 Pre-LN 的演进&lt;/h3&gt;
&lt;p&gt;自 Vaswani 等人在 2017 年提出 Transformer 架构以来，&lt;strong&gt;层归一化（Layer Normalization）&lt;/strong&gt; 就是其中不可或缺的核心组件。归一化层的放置位置虽然看似只是一个微小的工程决策，但实际上对模型的训练稳定性、收敛速度和最终性能有着深远的影响。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;原始 Transformer 采用 Post-LN 架构&lt;/strong&gt;，即将 LayerNorm 放在残差连接之后：&lt;/p&gt;
$$\text{PostLN}(x) = \text{LayerNorm}(x + \text{Sublayer}(x))$$&lt;p&gt;这一设计在 Transformer 的早期应用中被广泛使用，但随着模型规模的不断增大，研究者们逐渐发现了它的致命缺陷：&lt;strong&gt;后层参数的梯度范数远大于早层，导致梯度爆炸于深层，梯度消失于早层&lt;/strong&gt;。这意味着在反向传播过程中，靠近输入端的层几乎无法获得有效的梯度信号，导致训练极度不稳定。&lt;/p&gt;
&lt;p&gt;为了缓解这个问题，&lt;strong&gt;Pre-LN 架构&lt;/strong&gt; 应运而生，即将 LayerNorm 移到子层的输入端：&lt;/p&gt;
$$\text{PreLN}(x) = x + \text{Sublayer}(\text{LayerNorm}(x))$$&lt;p&gt;Pre-LN 架构被 GPT-2、GPT-3 等里程碑模型所采用，成为大语言模型预训练的事实标准。它显著改善了训练稳定性，使得大规模模型的训练成为可能。&lt;strong&gt;问题解决了吗？答案是否定的。&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="12-pre-ln-的隐患反向失配与梯度失衡"&gt;1.2 Pre-LN 的隐患：反向失配与梯度失衡&lt;/h3&gt;
&lt;p&gt;Xiong 等人在 2020 年的研究中首次系统性地揭示了 Post-LN 的梯度问题。然而，NormFormer 的作者们进一步发现，Pre-LN 虽然解决了 Post-LN 的训练不稳定问题，但实际上引入了&lt;strong&gt;方向相反的梯度失配&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Post-LN&lt;/strong&gt;：后层梯度 &amp;raquo; 早层梯度（梯度消失）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pre-LN&lt;/strong&gt;：早层梯度 &amp;raquo; 后层梯度（反向失配）&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="为什么梯度不均衡很糟糕"&gt;为什么梯度不均衡很糟糕？&lt;/h4&gt;
&lt;p&gt;用一个工厂流水线的类比来理解：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;梯度 = 改进信号&lt;/strong&gt;，梯度大的层在训练中改变快，梯度小的层改变慢&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;早层是上游&lt;/strong&gt;，负责提取基础特征。如果上游改进太频繁（梯度过大），下游来不及适应，导致训练不稳定&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;后层是下游&lt;/strong&gt;，负责学习任务特定的高级表示。如果下游改进太慢（梯度不足），即使获得好的基础特征，也无法有效地组织成好的上层表示&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;梯度分布不均 = 各层学习效率不同 = 整体训练收敛慢、最终性能不佳&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;在 Pre-LN 架构中，这种现象体现为：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;早期层过度更新&lt;/strong&gt;：由于梯度过大，早期层的参数在训练初期可能剧烈波动，导致学到的特征不够稳定。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;后期层更新不足&lt;/strong&gt;：深层网络中最靠近输出的层本应承担最重要的任务特定表示学习，但它们接收到的梯度信号却相对不足，导致学习速度缓慢。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;关键观察&lt;/strong&gt;：论文通过可视化展示了这一现象：&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Figure 3: Average L1 norm of gradients across layers"
srcset="https://dingyadong.top/posts/014_normformer_paper_review/figure3_hu_912365e85f7a846.webp 320w, https://dingyadong.top/posts/014_normformer_paper_review/figure3_hu_b53a7587722dff7c.webp 480w, https://dingyadong.top/posts/014_normformer_paper_review/figure3_hu_1d8372aa986662be.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/014_normformer_paper_review/figure3_hu_912365e85f7a846.webp"
width="760"
height="240"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Pre-LN 的梯度分布呈现明显的递减趋势，与 Post-LN 的递增趋势恰好相反。但&lt;strong&gt;两种趋势都是问题&lt;/strong&gt;——因为两者都导致梯度分布不均。&lt;/p&gt;
&lt;h3 id="13-梯度分布可视化问题的直观表现"&gt;1.3 梯度分布可视化：问题的直观表现&lt;/h3&gt;
&lt;p&gt;为了更直观地理解三种架构的梯度分布差异，我们用下面的图示展示各层的梯度范数变化：&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="梯度流向图：Post-LN vs Pre-LN vs NormFormer"
srcset="https://dingyadong.top/posts/014_normformer_paper_review/gradient-flow_hu_2888b64f237160ca.webp 320w, https://dingyadong.top/posts/014_normformer_paper_review/gradient-flow_hu_c541fc62113dabc4.webp 480w, https://dingyadong.top/posts/014_normformer_paper_review/gradient-flow_hu_f61a535502b159fd.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/014_normformer_paper_review/gradient-flow_hu_2888b64f237160ca.webp"
width="760"
height="472"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;图的含义&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;x 轴&lt;/strong&gt;：网络的第几层（从 1 到 12）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;y 轴&lt;/strong&gt;：该层参数的梯度 L1 范数（梯度大小）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;红线（Post-LN）&lt;/strong&gt;：梯度从浅层的很小逐渐增大到深层，形成&amp;quot;阶梯上升&amp;quot;。这导致&lt;strong&gt;深层参数更新剧烈，早层参数更新缓慢&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;蓝线（Pre-LN）&lt;/strong&gt;：梯度从浅层的很大逐渐减小到深层，形成&amp;quot;阶梯下降&amp;quot;。这导致&lt;strong&gt;早层参数更新剧烈，深层参数更新缓慢&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;绿线（NormFormer）&lt;/strong&gt;：梯度在各层基本保持一致的水平，形成&amp;quot;平坦&amp;quot;的分布。这导致&lt;strong&gt;各层参数更新速度均衡&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这张图直观地说明了为什么 NormFormer 能提升训练效率：通过在三个精心选择的位置添加归一化操作，它实现了&lt;strong&gt;梯度在各层的均衡分布&lt;/strong&gt;，使得每一层都能以相近的速率学习，从而提高了整个网络的训练效率。&lt;/p&gt;
&lt;h3 id="14-研究动机能否让梯度在所有层间均衡分布"&gt;1.4 研究动机：能否让梯度在所有层间均衡分布？&lt;/h3&gt;
&lt;p&gt;面对这一发现，NormFormer 论文提出了一个自然而直接的研究问题：&lt;strong&gt;能否通过在 Transformer 的关键位置添加额外的归一化操作，使得各层的梯度范数趋于均衡？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这个问题的提出源于一个简单但深刻的直觉：&lt;strong&gt;归一化操作本质上是对激活值进行重新缩放（rescaling），它天然具备调节梯度流动幅度的能力&lt;/strong&gt;。如果我们能在正确的位置插入归一化层，就有可能同时解决 Pre-LN 的早层梯度过大和后层梯度过小的问题。&lt;/p&gt;
&lt;p&gt;在接下来的章节中，我们将看到 NormFormer 如何通过三处精心设计的改进，实现这一目标。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="2-核心方案三处改进与架构演进"&gt;2. 核心方案：三处改进与架构演进&lt;/h2&gt;
&lt;p&gt;NormFormer 的核心思想可以用一句话概括：&lt;strong&gt;在 Pre-LN Transformer 的基础上，在三个关键位置添加额外的归一化操作，通过精心的梯度控制实现各层学习效率的均衡化&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;这三个操作分别是：Post-Attention LayerNorm（注意力后归一化）、HeadScale（注意力头缩放）和 FFN Mid-LayerNorm（前馈网络中间归一化）。它们的协同作用可以用下式表示：&lt;/p&gt;
$$x_{l+1}^{\text{NormFormer}} = \text{NormFFN}(\text{NormScaledMHA}(x_l))$$&lt;p&gt;在深入讲解具体的改进点之前，我们先给出 NormFormer、Pre-LN 和 Post-LN 三种架构的全景对比，帮助读者快速理解各架构的特点。&lt;/p&gt;
&lt;h3 id="20-架构总览"&gt;2.0 架构总览&lt;/h3&gt;
&lt;h4 id="三种架构的特性对比"&gt;三种架构的特性对比&lt;/h4&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Figure 1: NormFormer、Pre-LN 与 Post-LN 架构对比"
srcset="https://dingyadong.top/posts/014_normformer_paper_review/figure1_hu_65b7e3867928d564.webp 320w, https://dingyadong.top/posts/014_normformer_paper_review/figure1_hu_907d3f8b57aa34db.webp 480w, https://dingyadong.top/posts/014_normformer_paper_review/figure1_hu_1b4a0d45be0471f7.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/014_normformer_paper_review/figure1_hu_65b7e3867928d564.webp"
width="760"
height="429"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;特性&lt;/th&gt;
&lt;th&gt;Post-LN&lt;/th&gt;
&lt;th&gt;Pre-LN&lt;/th&gt;
&lt;th&gt;NormFormer&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;归一化位置&lt;/td&gt;
&lt;td&gt;残差连接之后&lt;/td&gt;
&lt;td&gt;子层之前&lt;/td&gt;
&lt;td&gt;多点分布式&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;训练稳定性&lt;/td&gt;
&lt;td&gt;差（需精细 warmup）&lt;/td&gt;
&lt;td&gt;好&lt;/td&gt;
&lt;td&gt;更好（支持更高学习率）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;梯度分布&lt;/td&gt;
&lt;td&gt;后层 &amp;raquo; 早层&lt;/td&gt;
&lt;td&gt;早层 &amp;raquo; 后层&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;各层趋于均衡&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;头级控制&lt;/td&gt;
&lt;td&gt;无&lt;/td&gt;
&lt;td&gt;无&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;有（HeadScale）&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;FFN 内部归一化&lt;/td&gt;
&lt;td&gt;无&lt;/td&gt;
&lt;td&gt;无&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;有&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;额外参数量&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;基准&lt;/td&gt;
&lt;td&gt;+0.4%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;额外训练开销&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;基准&lt;/td&gt;
&lt;td&gt;+2~6%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;关键观察&lt;/strong&gt;：NormFormer 的核心创新在于&lt;strong&gt;在三个精心选择的位置添加归一化操作&lt;/strong&gt;，以极小的代价（0.4% 参数 + 2~6% 计算）实现了梯度分布的均衡化。这种&amp;quot;微创手术&amp;quot;式的改进策略在理论上可以解决 Pre-LN 的梯度失衡问题，同时保留其训练稳定性优势。&lt;/p&gt;
&lt;h4 id="三处改进的位置总览"&gt;三处改进的位置总览&lt;/h4&gt;
&lt;p&gt;NormFormer 的三个改进分别位于 Transformer 块中的不同位置：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Post-Attention LayerNorm&lt;/strong&gt;：在多头注意力输出后、残差连接前&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HeadScale&lt;/strong&gt;：在多头注意力的拼接（concat）操作前，对每个头乘以可学习标量&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FFN Mid-LayerNorm&lt;/strong&gt;：在前馈网络的激活函数后、第二个线性层前&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;我们将逐个讲解每个改进的工作原理、消融验证数据和实际贡献度。&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="21-改进点-apost-attention-layernorm"&gt;2.1 改进点 A：Post-Attention LayerNorm&lt;/h3&gt;
&lt;h4 id="工作机制"&gt;工作机制&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;核心设计：&lt;/strong&gt; 在多头注意力的输出后、残差连接前，添加一个额外的 LayerNorm。&lt;/p&gt;
&lt;p&gt;标准 Pre-LN 的注意力子层为：&lt;/p&gt;
$$\text{PreLN-MHA}(x) = x + \text{MHA}(\text{LN}(x))$$&lt;p&gt;NormFormer 将其修改为：&lt;/p&gt;
$$\text{NormScaledMHA}(x) = x + \text{LN}(\text{HeadScaleMHA}(\text{LN}(x)))$$&lt;p&gt;这里外层的 $\text{LN}(\cdot)$ 包裹注意力输出。这个额外的归一化层起到了&lt;strong&gt;下缩放（downscaling）&lt;/strong&gt; 的作用：论文发现训练完成后，所有层的 Post-Attention LN 的缩放参数（gamma）都低于 1，这意味着它在系统性地降低注意力输出的幅度。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;为什么这很重要？&lt;/strong&gt; 在标准 Pre-LN 中，注意力层的输出直接通过残差连接加到主干上。如果注意力输出的幅度过大，会导致残差分支主导信号传播，破坏信息在不同层之间的平衡传递。通过添加这一归一化层，NormFormer 能够自适应地控制每一层注意力输出的贡献幅度。&lt;/p&gt;
&lt;h4 id="原理图和实现"&gt;原理图和实现&lt;/h4&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Post-Attention LayerNorm 原理"
srcset="https://dingyadong.top/posts/014_normformer_paper_review/post-attn-ln_hu_650e3dadc91fdb23.webp 320w, https://dingyadong.top/posts/014_normformer_paper_review/post-attn-ln_hu_3e2e0622ec83e258.webp 480w, https://dingyadong.top/posts/014_normformer_paper_review/post-attn-ln_hu_61aad4458c295a8d.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/014_normformer_paper_review/post-attn-ln_hu_650e3dadc91fdb23.webp"
width="760"
height="379"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;简洁实现示例（PyTorch）：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;attn_output&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;attention&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;layer_norm&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;attn_output&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;post_attn_layer_norm&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;attn_output&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 新增&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;attn_output&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="消融实验数据"&gt;消融实验数据&lt;/h4&gt;
&lt;p&gt;在 125M 模型上的消融结果：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;配置&lt;/th&gt;
&lt;th&gt;PPL&lt;/th&gt;
&lt;th&gt;相比完整 NormFormer 的变化&lt;/th&gt;
&lt;th&gt;贡献度&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;完整 NormFormer&lt;/td&gt;
&lt;td&gt;15.88&lt;/td&gt;
&lt;td&gt;基准&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;移除 Post-Attn LN&lt;/td&gt;
&lt;td&gt;15.92&lt;/td&gt;
&lt;td&gt;+0.04&lt;/td&gt;
&lt;td&gt;最小&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;贡献度评估&lt;/strong&gt;：Post-Attn LN 的单独贡献最小（+0.04 PPL 退化），但作为整体方案的补充，它有助于进一步稳定梯度流。&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="22-改进点-bheadscale"&gt;2.2 改进点 B：HeadScale&lt;/h3&gt;
&lt;h4 id="工作机制-1"&gt;工作机制&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;核心设计：&lt;/strong&gt; 在多头注意力的拼接（concat）操作前，对每个注意力头的输出乘以一个独立的可学习标量参数。&lt;/p&gt;
&lt;p&gt;传统的多头注意力将所有头的输出直接拼接后通过输出投影矩阵：&lt;/p&gt;
$$\text{MHA}(Q, K, V) = \text{Concat}(h_1, h_2, ..., h_n) W^O$$&lt;p&gt;NormFormer 引入了 HeadScale 机制：&lt;/p&gt;
$$\text{HeadScaleMHA}(Q, K, V) = \text{Concat}(\gamma_1 \cdot h_1, \gamma_2 \cdot h_2, ..., \gamma_n \cdot h_n) W^O$$&lt;p&gt;其中 $\gamma_i$ 为可学习的标量参数，&lt;strong&gt;初始化为 1&lt;/strong&gt;，确保训练初期与标准多头注意力完全一致。&lt;/p&gt;
&lt;h4 id="原理图和关键发现"&gt;原理图和关键发现&lt;/h4&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="HeadScale 原理：逐头缩放"
srcset="https://dingyadong.top/posts/014_normformer_paper_review/headscale_hu_2ef1e535a2f9325f.webp 320w, https://dingyadong.top/posts/014_normformer_paper_review/headscale_hu_a4d052439fea2345.webp 480w, https://dingyadong.top/posts/014_normformer_paper_review/headscale_hu_3b50bc676d871011.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/014_normformer_paper_review/headscale_hu_2ef1e535a2f9325f.webp"
width="760"
height="432"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;关键发现：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;头级权重差异化&lt;/strong&gt;：训练后的 $\gamma_i$ 值变化较大，不同头获得了不同的缩放权重，这表明模型学会了&lt;strong&gt;动态调整不同注意力头的重要性&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;无单调性约束&lt;/strong&gt;：$\gamma_i$ 与层深度之间没有明显的单调关系，说明 HeadScale 不是简单地对深层或浅层进行统一调节，而是在细粒度上优化每个头的贡献。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;最大贡献度&lt;/strong&gt;：在消融实验中，&lt;strong&gt;HeadScale 是三个操作中贡献最大的&lt;/strong&gt;。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="实现示例"&gt;实现示例&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;head_scales&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nn&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Parameter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ones&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;num_heads&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="c1"&gt;# 初始化为1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;scaled_heads&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;head_scales&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;heads&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;num_heads&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;attn_output&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;cat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;scaled_heads&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dim&lt;/span&gt;&lt;span class="o"&gt;=-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt; &lt;span class="n"&gt;W_o&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="消融实验数据-1"&gt;消融实验数据&lt;/h4&gt;
&lt;p&gt;在 125M 模型上的消融结果：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;配置&lt;/th&gt;
&lt;th&gt;PPL&lt;/th&gt;
&lt;th&gt;相比完整 NormFormer 的变化&lt;/th&gt;
&lt;th&gt;相对贡献度&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;完整 NormFormer&lt;/td&gt;
&lt;td&gt;15.88&lt;/td&gt;
&lt;td&gt;基准&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;移除 HeadScale&lt;/td&gt;
&lt;td&gt;16.22&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+0.34&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;69% 的总改进&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;贡献度评估&lt;/strong&gt;：HeadScale 是三个改进点中&lt;strong&gt;贡献最大的&lt;/strong&gt;，单独贡献占总改进（0.49 PPL 相比基线）的约 69%。（注：三个改进的占比之和超过 100% 是因为存在协同效应，详见第 2.5 节）这表明对注意力头进行差异化加权是 NormFormer 最核心的创新。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;与注意力头剪枝的联系&lt;/strong&gt;：HeadScale 的思想与注意力头剪枝（Head Pruning）有一定的联系。Chen 等人在 2021 年的工作中使用类似的头级缩放进行模型压缩，而 NormFormer 将这一思想用于改进训练过程，目标不同但技术路线相似。&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="23-改进点-cffn-mid-layernorm"&gt;2.3 改进点 C：FFN Mid-LayerNorm&lt;/h3&gt;
&lt;h4 id="工作机制-2"&gt;工作机制&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;核心设计：&lt;/strong&gt; 在前馈网络（FFN）的第一个线性变换之后、激活函数之后，添加一个 LayerNorm。&lt;/p&gt;
&lt;p&gt;标准 FFN 的计算流程为：&lt;/p&gt;
$$\text{FFN}(x) = \sigma(x W_1 + b_1) W_2 + b_2$$&lt;p&gt;NormFormer 将其修改为：&lt;/p&gt;
$$\text{NormFFN}(x) = x + \underbrace{\text{LN}_{\text{mid}}}_{\text{新增}}(\sigma(\underbrace{\text{LN}_{\text{pre}}}_{\text{原有Pre-LN}}(x) \cdot W_1 + b_1)) \cdot W_2 + b_2$$&lt;p&gt;其中 $\text{LN}_{\text{pre}}$ 是 Pre-LN 架构原有的归一化，而 $\text{LN}_{\text{mid}}$ 是 NormFormer 新增的 FFN 中间归一化——它位于激活函数 $\sigma(\cdot)$ 之后、第二个线性变换 $W_2$ 之前。&lt;/p&gt;
&lt;h4 id="关键机制自适应梯度抑制"&gt;关键机制：自适应梯度抑制&lt;/h4&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="FFN Mid-LayerNorm 原理：自适应梯度控制"
srcset="https://dingyadong.top/posts/014_normformer_paper_review/ffn-mid-ln_hu_e49f003a6922a098.webp 320w, https://dingyadong.top/posts/014_normformer_paper_review/ffn-mid-ln_hu_bf2c4151f3fd0dca.webp 480w, https://dingyadong.top/posts/014_normformer_paper_review/ffn-mid-ln_hu_d3dd635843edcfa8.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/014_normformer_paper_review/ffn-mid-ln_hu_e49f003a6922a098.webp"
width="760"
height="541"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;这是解决梯度失配的核心机制。&lt;/strong&gt; 论文的 Figure 4 &amp;amp; 5 展示了一个极为重要的发现：&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Figure 4 &amp;amp; 5: Scaling parameters and learning rate stability"
srcset="https://dingyadong.top/posts/014_normformer_paper_review/figure4_5_hu_2839d97f2aa297f7.webp 320w, https://dingyadong.top/posts/014_normformer_paper_review/figure4_5_hu_486bd82faad645a6.webp 480w, https://dingyadong.top/posts/014_normformer_paper_review/figure4_5_hu_9c7ac67978c723e9.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/014_normformer_paper_review/figure4_5_hu_2839d97f2aa297f7.webp"
width="760"
height="249"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;早期层的 FFN LN gamma 参数系统性地小于后期层的&lt;/strong&gt;。这意味着 FFN Mid-LayerNorm 自适应地减小了早期层全连接层输入的幅度，从而有效降低了早期层的梯度，缓解了 Pre-LN 固有的&amp;quot;早层梯度过大&amp;quot;问题。这种设计妙处在于：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;无需显式约束 gamma 值&lt;/li&gt;
&lt;li&gt;模型在训练过程中&lt;strong&gt;自动学习&lt;/strong&gt;最优的梯度分配方案&lt;/li&gt;
&lt;li&gt;早层自然获得较小的 gamma（抑制梯度），后层获得较大的 gamma（放大梯度）&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="数学直觉"&gt;数学直觉&lt;/h4&gt;
&lt;p&gt;归一化操作通过将激活值映射到零均值、单位方差的分布来工作。当早期层的 FFN 中间激活值幅度较大时，归一化层通过较小的 gamma 参数对其进行压缩，相当于在反向传播时减小了通过这些层的梯度流。这种自适应机制使得模型能够自动学习到最优的梯度分配方案。&lt;/p&gt;
&lt;h4 id="实现示例-1"&gt;实现示例&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 原始 FFN&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;h&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;activation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt; &lt;span class="n"&gt;W1&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;b1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;output&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;h&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt; &lt;span class="n"&gt;W2&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;b2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# NormFormer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;h&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;activation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt; &lt;span class="n"&gt;W1&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;b1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;h&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ffn_layer_norm&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 新增&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;output&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;h&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt; &lt;span class="n"&gt;W2&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;b2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="消融实验数据-2"&gt;消融实验数据&lt;/h4&gt;
&lt;p&gt;在 125M 模型上的消融结果：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;配置&lt;/th&gt;
&lt;th&gt;PPL&lt;/th&gt;
&lt;th&gt;相比完整 NormFormer 的变化&lt;/th&gt;
&lt;th&gt;相对贡献度&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;完整 NormFormer&lt;/td&gt;
&lt;td&gt;15.88&lt;/td&gt;
&lt;td&gt;基准&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;移除 FFN-LN&lt;/td&gt;
&lt;td&gt;16.14&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+0.26&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;53% 的总改进&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;贡献度评估&lt;/strong&gt;：FFN-LN 是&lt;strong&gt;第二大贡献者&lt;/strong&gt;，单独贡献占总改进的约 53%。这验证了前馈网络内部归一化对梯度均衡的重要性，是仅次于 HeadScale 的核心创新。&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="24-可选改进resscale"&gt;2.4 可选改进：ResScale&lt;/h3&gt;
&lt;p&gt;除了上述三个核心操作外，NormFormer 还提出了一个&lt;strong&gt;可选的&lt;/strong&gt; ResScale 操作：&lt;/p&gt;
$$\text{ResScale}(x) = \lambda_{\text{resid}} \odot x + \text{Sublayer}(\text{LayerNorm}(x))$$&lt;p&gt;其中 $\lambda_{\text{resid}}$ 是可学习的逐维度缩放参数，用于调节残差连接中主干信号和子层输出的相对权重。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;重要警告：&lt;/strong&gt; 论文实验表明，ResScale 仅在小模型（125M、355M 参数）上有效，&lt;strong&gt;在 1.3B 及以上规模的模型上反而会导致性能下降&lt;/strong&gt;。因此，对于当前主流的大规模预训练场景，&lt;strong&gt;不建议使用 ResScale&lt;/strong&gt;。这一发现也提醒我们，并非所有的归一化/缩放操作都是&amp;quot;越多越好&amp;quot;的——过度参数化在大模型上可能导致优化困难。&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="25-三大改进的协同效应"&gt;2.5 三大改进的协同效应&lt;/h3&gt;
&lt;p&gt;前四个小节分别介绍了三个改进点的单独贡献，现在我们看它们是如何协同工作的。&lt;/p&gt;
&lt;h4 id="完整消融实验对比"&gt;完整消融实验对比&lt;/h4&gt;
&lt;p&gt;论文在 &lt;strong&gt;125M 模型&lt;/strong&gt;上进行了系统性消融。注意：此规模下的&amp;quot;完整 NormFormer&amp;quot;包含 ResScale（因为 ResScale 仅在小模型上有正收益），而对于 1.3B 及以上的模型，推荐配置不包含 ResScale：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;配置&lt;/th&gt;
&lt;th&gt;PPL&lt;/th&gt;
&lt;th&gt;相比完整模型的变化&lt;/th&gt;
&lt;th&gt;单独贡献度&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;完整 NormFormer（含 ResScale）&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;15.88&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;基准&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;移除 Post-Attn LN&lt;/td&gt;
&lt;td&gt;15.92&lt;/td&gt;
&lt;td&gt;+0.04&lt;/td&gt;
&lt;td&gt;最小&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;移除 FFN-LN&lt;/td&gt;
&lt;td&gt;16.14&lt;/td&gt;
&lt;td&gt;+0.26&lt;/td&gt;
&lt;td&gt;第二大&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;移除 ResScale&lt;/td&gt;
&lt;td&gt;16.20&lt;/td&gt;
&lt;td&gt;+0.32&lt;/td&gt;
&lt;td&gt;中等&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;移除 HeadScale&lt;/td&gt;
&lt;td&gt;16.22&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+0.34&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;最大&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;增加 QKV 上的 3 个额外 LN&lt;/td&gt;
&lt;td&gt;15.88&lt;/td&gt;
&lt;td&gt;+0.00&lt;/td&gt;
&lt;td&gt;无收益&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;基线 Pre-LN&lt;/td&gt;
&lt;td&gt;16.37&lt;/td&gt;
&lt;td&gt;+0.49&lt;/td&gt;
&lt;td&gt;相比 Pre-LN 的总改进&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="消融实验贡献度分析"
srcset="https://dingyadong.top/posts/014_normformer_paper_review/ablation-contrib_hu_d5e98c5e7407aaa4.webp 320w, https://dingyadong.top/posts/014_normformer_paper_review/ablation-contrib_hu_cd5bf144d73ca05f.webp 480w, https://dingyadong.top/posts/014_normformer_paper_review/ablation-contrib_hu_7c23cca21b5bc352.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/014_normformer_paper_review/ablation-contrib_hu_d5e98c5e7407aaa4.webp"
width="760"
height="433"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 id="关键结论"&gt;关键结论&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;HeadScale 是绝对核心&lt;/strong&gt;（+0.34 PPL，占总改进 69%）：注意力头的差异化加权是 NormFormer 最具影响力的创新。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;FFN-LN 是第二支柱&lt;/strong&gt;（+0.26 PPL，占总改进 53%）：前馈网络内部的自适应梯度抑制对整体改进也至关重要。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Post-Attn LN 是补充设计&lt;/strong&gt;（+0.04 PPL，占总改进 8%）：单独看贡献最小，但与其他改进配合使用时能进一步稳定梯度流。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;三个改进的互补性&lt;/strong&gt;：总改进 0.49 PPL ≈ HeadScale(0.34) + FFN-LN(0.26) - 重叠。这说明三个改进虽然作用机制不同（头级权重、梯度抑制、层级下缩放），但它们的效果有部分叠加，共同作用于梯度分布均衡化。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="反面教训更多归一化不一定更好"&gt;反面教训：更多归一化不一定更好&lt;/h4&gt;
&lt;p&gt;论文还测试了一个反例：在 QKV 投影上额外添加 3 个 LayerNorm——这看似应该进一步改进梯度分布，但实际结果是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;困惑度无任何改进（+0.00 PPL）&lt;/li&gt;
&lt;li&gt;训练速度反而降低 5%&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;启示&lt;/strong&gt;：NormFormer 选择的三个位置（Post-Attn、HeadScale、FFN Mid）是经过精心设计的，不是简单的&amp;quot;到处加 LN&amp;quot;。随意添加更多归一化操作反而会浪费计算资源，甚至破坏优化过程。&lt;/p&gt;
&lt;h4 id="小模型-vs-大模型的推荐配置"&gt;小模型 vs 大模型的推荐配置&lt;/h4&gt;
&lt;p&gt;基于消融实验的结果，我们给出不同规模模型的推荐配置：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;模型规模&lt;/th&gt;
&lt;th&gt;推荐配置&lt;/th&gt;
&lt;th&gt;预期改进&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;125M-355M&lt;/td&gt;
&lt;td&gt;Post-Attn LN + HeadScale + FFN-LN + ResScale&lt;/td&gt;
&lt;td&gt;最大&lt;/td&gt;
&lt;td&gt;ResScale 在小模型上有正贡献&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1.3B+&lt;/td&gt;
&lt;td&gt;Post-Attn LN + HeadScale + FFN-LN&lt;/td&gt;
&lt;td&gt;稳定&lt;/td&gt;
&lt;td&gt;不使用 ResScale，避免大模型优化困难&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="3-实验结果深度分析"&gt;3. 实验结果深度分析&lt;/h2&gt;
&lt;p&gt;NormFormer 论文的实验设计非常全面，涵盖了因果语言模型（CLM）、掩码语言模型（MLM）、零样本评估、消融实验等多个维度。下面我们逐一分析关键实验结果。&lt;/p&gt;
&lt;h3 id="31-学习率搜索挑战-gpt-3-的默认设置"&gt;3.1 学习率搜索：挑战 GPT-3 的默认设置&lt;/h3&gt;
&lt;p&gt;在正式实验之前，论文做了一项非常有价值的预实验：系统性的学习率搜索。结果出人意料地发现，在他们的数据集上，&lt;strong&gt;最优学习率比 GPT-3 论文建议的值高出 3-5 倍&lt;/strong&gt;：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;模型规模&lt;/th&gt;
&lt;th&gt;GPT-3 建议学习率&lt;/th&gt;
&lt;th&gt;实际最优学习率&lt;/th&gt;
&lt;th&gt;倍数&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;125M&lt;/td&gt;
&lt;td&gt;6e-4&lt;/td&gt;
&lt;td&gt;3e-3&lt;/td&gt;
&lt;td&gt;5x&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;355M&lt;/td&gt;
&lt;td&gt;3e-4&lt;/td&gt;
&lt;td&gt;1e-3&lt;/td&gt;
&lt;td&gt;3.3x&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1.3B&lt;/td&gt;
&lt;td&gt;2e-4&lt;/td&gt;
&lt;td&gt;6e-4&lt;/td&gt;
&lt;td&gt;3x&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="为什么-normformer-能支持更高的学习率"&gt;为什么 NormFormer 能支持更高的学习率？&lt;/h4&gt;
&lt;p&gt;这个现象与我们在改进点 C（FFN Mid-LayerNorm）讨论的梯度缩放密切相关。通过在 FFN 第一个线性层后添加 LayerNorm，NormFormer 实现了&lt;strong&gt;分层的梯度缩放&lt;/strong&gt; — 前馈网络内部的特征被重新归一化，避免了极端的激活值。这种分层缩放机制使得早层的梯度幅度自动降低，即使在&lt;strong&gt;更高的学习率下，参数更新也不会过于剧烈&lt;/strong&gt;，从而显著提升了训练稳定性。&lt;/p&gt;
&lt;h4 id="工程启示"&gt;工程启示&lt;/h4&gt;
&lt;p&gt;这一发现本身就具有独立的工程价值——&lt;strong&gt;针对自己的数据集进行学习率搜索可能带来显著的性能提升&lt;/strong&gt;，不要盲目套用论文中的超参数。论文使用这些优化后的基线作为对比对象，确保了实验结果的公平性和说服力。&lt;/p&gt;
&lt;h3 id="32-因果语言模型稳定且一致的困惑度改进"&gt;3.2 因果语言模型：稳定且一致的困惑度改进&lt;/h3&gt;
&lt;p&gt;在因果语言模型（Causal Language Model）预训练任务上，NormFormer 在所有模型规模上都取得了一致的困惑度（Perplexity）改进：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;模型&lt;/th&gt;
&lt;th&gt;参数量&lt;/th&gt;
&lt;th&gt;基线 PPL&lt;/th&gt;
&lt;th&gt;NormFormer PPL&lt;/th&gt;
&lt;th&gt;改进幅度&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;125M&lt;/td&gt;
&lt;td&gt;124.5M&lt;/td&gt;
&lt;td&gt;21.09&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;20.11&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;-0.98&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1.3B&lt;/td&gt;
&lt;td&gt;1313.5M&lt;/td&gt;
&lt;td&gt;12.21&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;11.94&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;-0.27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2.7B&lt;/td&gt;
&lt;td&gt;2649.5M&lt;/td&gt;
&lt;td&gt;10.92&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;10.55&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;-0.37&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="核心发现"&gt;核心发现&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;1. 训练加速效果显著。&lt;/strong&gt; NormFormer-1.3B 达到基线相同困惑度的速度&lt;strong&gt;快了 24%&lt;/strong&gt;。也就是说，使用 NormFormer，你只需要原来 76% 的训练时间就能获得相同质量的模型。对于动辄需要数千 GPU 小时的大规模预训练来说，24% 的训练时间节省意味着巨大的计算成本削减。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;与改进点的关联&lt;/strong&gt;：这个加速来自于梯度均衡带来的&lt;strong&gt;更高的单步训练效率&lt;/strong&gt; — 梯度分布均匀意味着每一层都在以最优速率学习，没有某些层学得太快而其他层跟不上的浪费。这正是改进点 B（HeadScale）和改进点 C（FFN-LN）共同实现的梯度重均衡的直接体现。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. 大模型训练稳定性提升。&lt;/strong&gt; 这可能是 NormFormer 最引人注目的工程价值：&lt;strong&gt;基线 2.7B 模型在 6e-4 学习率下训练发散（完全失败），而 NormFormer-2.7B 在相同学习率下可以稳定训练并取得最佳性能&lt;/strong&gt;。这意味着 NormFormer 显著拓宽了大模型可用学习率的范围，降低了超参数调优的难度。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;与改进点的关联&lt;/strong&gt;：这与改进点 B（HeadScale）的头级权重调整密切相关 — 通过对注意力头进行细粒度控制，NormFormer 抑制了某些头过度主导信号的现象。在大模型中，这种头间差异往往更加突出，因此 HeadScale 的稳定化效果在大模型上更加显著。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. 困惑度改进随模型规模变化。&lt;/strong&gt; 125M 模型上的绝对改进最大（-0.98），而大模型上的绝对改进较小。但考虑到大模型本身的困惑度已经很低（基数效应），相对改进幅度仍然有意义。更重要的是，&lt;strong&gt;训练加速和稳定性提升在大模型上同样甚至更加显著&lt;/strong&gt;。&lt;/p&gt;
&lt;h4 id="总结"&gt;总结&lt;/h4&gt;
&lt;p&gt;因果语言模型的实验充分验证了 NormFormer 的核心改进在实践中的效果：梯度均衡带来的训练加速，头级控制带来的稳定性提升，使得 NormFormer 成为一个具有重大工程价值的改进方案。&lt;/p&gt;
&lt;h3 id="33-零样本任务评估无需微调即见效果"&gt;3.3 零样本任务评估：无需微调即见效果&lt;/h3&gt;
&lt;p&gt;NormFormer 在零样本（Zero-Shot）任务评估中展现了明显的优势，直接反映了预训练质量的提升：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;任务&lt;/th&gt;
&lt;th&gt;基线-1.3B&lt;/th&gt;
&lt;th&gt;NormFormer-1.3B&lt;/th&gt;
&lt;th&gt;基线-2.7B&lt;/th&gt;
&lt;th&gt;NormFormer-2.7B&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;HellaSwag&lt;/td&gt;
&lt;td&gt;58.5&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;60.5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WinoGrande&lt;/td&gt;
&lt;td&gt;76.8&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;77.5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;平均（多任务）&lt;/td&gt;
&lt;td&gt;63.6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;64.7&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;66.3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;68.7&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;关键发现：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NormFormer-125M 达到 GPT-3 Large（1.3B 参数）零样本性能的速度&lt;strong&gt;快了 60%&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;在 2.7B 规模上，平均零样本准确率从 66.3% 提升到 68.7%（+2.4 个百分点）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="34-掩码语言模型glue-基准全面提升"&gt;3.4 掩码语言模型：GLUE 基准全面提升&lt;/h3&gt;
&lt;p&gt;论文在掩码语言模型（Masked Language Model）上的实验验证了 NormFormer 对编码器型模型（BERT 类）同样有效。在 GLUE 基准的&lt;strong&gt;所有 7 个任务上都取得了改进&lt;/strong&gt;：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;GLUE 任务&lt;/th&gt;
&lt;th&gt;基线&lt;/th&gt;
&lt;th&gt;NormFormer&lt;/th&gt;
&lt;th&gt;提升&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;CoLA&lt;/td&gt;
&lt;td&gt;74.3&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;82.6&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+8.3&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MNLI&lt;/td&gt;
&lt;td&gt;85.9&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;86.3&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;+0.4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MRPC&lt;/td&gt;
&lt;td&gt;84.6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;86.0&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;+1.4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;QNLI&lt;/td&gt;
&lt;td&gt;91.6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;91.9&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;+0.3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;QQP&lt;/td&gt;
&lt;td&gt;90.7&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;91.3&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;+0.6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RTE&lt;/td&gt;
&lt;td&gt;66.4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;67.9&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;+1.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SST-2&lt;/td&gt;
&lt;td&gt;92.9&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;93.8&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;+0.9&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;平均&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;83.77&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;85.69&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+1.92&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;最令人印象深刻的是 CoLA 任务上的 +8.3 提升&lt;/strong&gt;（从 74.3 到 82.6），说明 NormFormer 对语法特征学习的显著帮助。GLUE 平均分提升接近 2 个百分点，MLM 困惑度从 3.42 降低到 3.31，展现了强大的通用性。&lt;/p&gt;
&lt;h3 id="35-消融实验各组件贡献量化"&gt;3.5 消融实验：各组件贡献量化&lt;/h3&gt;
&lt;p&gt;在第 2 部分，我们已经讨论了 NormFormer 的三个核心改进点（HeadScale、Post-Attn LN、FFN-LN）。这里提供完整的消融实验细节，量化每个组件的具体贡献。论文在 &lt;strong&gt;125M 小模型&lt;/strong&gt;（470 V100 GPU 小时）上进行了系统性消融。注意：此规模下的&amp;quot;完整 NormFormer&amp;quot;包含 ResScale（因为 ResScale 仅在小模型上有正收益），而对于 1.3B 及以上的模型，推荐配置不包含 ResScale：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;配置&lt;/th&gt;
&lt;th&gt;Perplexity&lt;/th&gt;
&lt;th&gt;相比完整模型的退化&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;完整 NormFormer + ResScale&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;15.88&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;基准&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;移除 Post-Attn LN&lt;/td&gt;
&lt;td&gt;15.92&lt;/td&gt;
&lt;td&gt;+0.04&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;移除 FFN LN&lt;/td&gt;
&lt;td&gt;16.14&lt;/td&gt;
&lt;td&gt;+0.26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;移除 ResScale&lt;/td&gt;
&lt;td&gt;16.20&lt;/td&gt;
&lt;td&gt;+0.32&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;移除 HeadScale&lt;/td&gt;
&lt;td&gt;16.22&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+0.34（影响最大）&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;增加 3 个额外 LN（QKV 上）&lt;/td&gt;
&lt;td&gt;15.88&lt;/td&gt;
&lt;td&gt;+0.00（无额外收益）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;基线 Pre-LN&lt;/td&gt;
&lt;td&gt;16.37&lt;/td&gt;
&lt;td&gt;+0.49&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;关键结论：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;HeadScale 贡献最大&lt;/strong&gt;（移除后退化 +0.34），说明注意力头的差异化加权是 NormFormer 最核心的创新。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FFN LN 贡献第二&lt;/strong&gt;（+0.26），验证了前馈网络内部归一化对梯度均衡的重要性。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Post-Attn LN 贡献最小&lt;/strong&gt;（+0.04），但仍有正面效果。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;更多归一化并不总是更好&lt;/strong&gt;：在 QKV 投影上额外添加 3 个 LN 没有带来任何性能提升，反而使训练速度降低 5%。这证明了 NormFormer 选择的三个位置是经过精心设计的，不是简单的&amp;quot;到处加 LN&amp;quot;。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="36-超参数鲁棒性验证"&gt;3.6 超参数鲁棒性验证&lt;/h3&gt;
&lt;p&gt;NormFormer 的另一个重要优势是其对超参数设置的鲁棒性。论文在 125M 模型上测试了多种超参数组合：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;学习率&lt;/th&gt;
&lt;th&gt;配置&lt;/th&gt;
&lt;th&gt;基线 PPL&lt;/th&gt;
&lt;th&gt;NormFormer PPL&lt;/th&gt;
&lt;th&gt;差值&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;0.001&lt;/td&gt;
&lt;td&gt;默认&lt;/td&gt;
&lt;td&gt;16.80&lt;/td&gt;
&lt;td&gt;16.33&lt;/td&gt;
&lt;td&gt;-0.47&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;0.003&lt;/td&gt;
&lt;td&gt;默认&lt;/td&gt;
&lt;td&gt;16.37&lt;/td&gt;
&lt;td&gt;15.88&lt;/td&gt;
&lt;td&gt;-0.49&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;0.003&lt;/td&gt;
&lt;td&gt;更长 warmup&lt;/td&gt;
&lt;td&gt;16.50&lt;/td&gt;
&lt;td&gt;16.06&lt;/td&gt;
&lt;td&gt;-0.44&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;0.003&lt;/td&gt;
&lt;td&gt;GPT-3 设置&lt;/td&gt;
&lt;td&gt;16.29&lt;/td&gt;
&lt;td&gt;15.88&lt;/td&gt;
&lt;td&gt;-0.41&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;NormFormer 在所有超参数配置下都一致优于基线&lt;/strong&gt;，改进幅度在 0.41-0.49 之间波动，方差极小。这意味着使用 NormFormer 不需要额外的超参数调优工作——只要基线能跑，NormFormer 就能带来稳定的改进。&lt;/p&gt;
&lt;h3 id="37-wikitext-103-验证"&gt;3.7 Wikitext-103 验证&lt;/h3&gt;
&lt;p&gt;论文还在 Wikitext-103 数据集上进行了验证：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;模型&lt;/th&gt;
&lt;th&gt;最终 Perplexity&lt;/th&gt;
&lt;th&gt;达到基线 PPL 所需步数&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;基线&lt;/td&gt;
&lt;td&gt;18.70&lt;/td&gt;
&lt;td&gt;100%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NormFormer&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;18.65&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;70%&lt;/strong&gt;（节省 30% 训练时间）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;NormFormer 仅需 70% 的训练步数就达到了基线的最终性能。虽然后 30% 的训练中 NormFormer 的改进趋于饱和，但论文指出这可能通过进一步的训练策略调优来改善。&lt;/p&gt;
&lt;h3 id="38-计算开销分析"&gt;3.8 计算开销分析&lt;/h3&gt;
&lt;p&gt;NormFormer 的工程吸引力在于其极低的额外开销：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;指标&lt;/th&gt;
&lt;th&gt;数值&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;额外参数量&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+0.4%&lt;/strong&gt;（不足 0.07% 实际额外参数）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;额外内存开销&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+2~6%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;单步训练时间增加&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+2~6%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;推理开销&lt;/td&gt;
&lt;td&gt;接近零&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;这些数字意味着，NormFormer 实质上是一个&amp;quot;免费的改进&amp;quot;——用不到 6% 的额外计算成本，换取 24% 的训练加速和可量化的性能提升。从性价比角度看，这非常划算。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="4-工程应用与落地分析"&gt;4. 工程应用与落地分析&lt;/h2&gt;
&lt;h3 id="41-实现极度简单"&gt;4.1 实现极度简单&lt;/h3&gt;
&lt;p&gt;NormFormer 的工程实现可以说是所有 Transformer 改进方案中最简单的之一。只需要在现有 Pre-LN Transformer 代码中做三处修改：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;修改一：在 MultiHeadAttention 输出后添加 LayerNorm&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 原始 Pre-LN&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;attn_output&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;attention&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;layer_norm&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;attn_output&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# NormFormer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;attn_output&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;attention&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;layer_norm&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;attn_output&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;post_attn_layer_norm&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;attn_output&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 新增&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;attn_output&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;修改二：在 MHA concat 前对每个 head 乘以可学习标量&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 原始 MHA&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;attn_output&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;cat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;heads&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dim&lt;/span&gt;&lt;span class="o"&gt;=-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt; &lt;span class="n"&gt;W_o&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# NormFormer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;head_scales&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nn&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Parameter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ones&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;num_heads&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="c1"&gt;# 初始化为1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;scaled_heads&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;head_scales&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;heads&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;num_heads&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;attn_output&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;cat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;scaled_heads&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dim&lt;/span&gt;&lt;span class="o"&gt;=-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt; &lt;span class="n"&gt;W_o&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;修改三：在 FFN 第一个线性层后添加 LayerNorm&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 原始 FFN&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;h&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;activation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt; &lt;span class="n"&gt;W1&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;b1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;output&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;h&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt; &lt;span class="n"&gt;W2&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;b2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# NormFormer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;h&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;activation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt; &lt;span class="n"&gt;W1&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;b1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;h&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ffn_layer_norm&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 新增&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;output&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;h&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt; &lt;span class="n"&gt;W2&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;b2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在 fairseq 框架中，这三个修改对应三个简单的命令行参数：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fairseq-train ... --scale-attn --scale-fc --scale-heads
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="42-与主流框架的兼容性"&gt;4.2 与主流框架的兼容性&lt;/h3&gt;
&lt;p&gt;NormFormer 的设计具有极强的框架兼容性：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;与 PyTorch 原生 Transformer 兼容：&lt;/strong&gt; NormFormer 的三处修改都是在现有层之间插入标准的 LayerNorm 或可学习参数，不改变任何现有层的接口或行为。这意味着它可以无缝集成到任何基于 PyTorch 的 Transformer 实现中。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;与 HuggingFace Transformers 兼容：&lt;/strong&gt; 只需继承现有的注意力层和前馈网络层，在对应位置添加归一化操作即可。不需要修改分词器、数据加载器或训练循环。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;与分布式训练框架兼容：&lt;/strong&gt; NormFormer 添加的归一化层和可学习参数都是标准的 PyTorch 模块，完全兼容 DeepSpeed、Megatron-LM、FSDP 等主流分布式训练框架。归一化操作的计算和通信开销极小，不会成为分布式训练的瓶颈。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;与不同归一化方式兼容：&lt;/strong&gt; 虽然论文使用 LayerNorm 进行实验，但其设计思想对 RMSNorm（LLaMA 系列使用的归一化方式）同样适用。可以将 NormFormer 中的 LayerNorm 替换为 RMSNorm，在保持核心优势的同时获得 RMSNorm 的计算效率优势。&lt;/p&gt;
&lt;h3 id="43-实际部署场景与建议"&gt;4.3 实际部署场景与建议&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;场景一：从头预训练大语言模型&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这是 NormFormer 最适用的场景。如果你的团队正在从头训练一个数十亿参数的语言模型，添加 NormFormer 可以：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;节省约 24% 的训练时间（以达到同等困惑度为标准）&lt;/li&gt;
&lt;li&gt;支持使用更高的学习率而不发散，降低超参数调优成本&lt;/li&gt;
&lt;li&gt;以不到 6% 的额外计算开销换取稳定的性能提升&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;场景二：中等规模模型的快速迭代&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;对于 125M-1B 参数规模的模型，NormFormer 的收益更加明显。在这个规模上，可以同时使用 ResScale 获得最大收益。特别适合需要快速迭代模型架构和训练策略的研究场景。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;场景三：训练稳定性要求高的场景&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;如果你的训练任务容易出现发散（例如使用较大的学习率、较长的上下文、较大的 batch size），NormFormer 可以显著提升训练的鲁棒性。2.7B 模型在高学习率下的稳定训练就是一个很好的例证。&lt;/p&gt;
&lt;h3 id="44-不适用场景"&gt;4.4 不适用场景&lt;/h3&gt;
&lt;p&gt;也需要诚实地指出 NormFormer 可能不太适用的场景：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;已有预训练好的模型进行微调：&lt;/strong&gt; NormFormer 的收益主要体现在预训练阶段。如果你只是微调一个现有模型，添加 NormFormer 需要重新预训练，成本远大于收益。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;极大规模模型（&amp;gt;10B）：&lt;/strong&gt; 论文最大的实验只到 2.7B，对于更大规模模型的效果尚未被验证。虽然理论上应该同样有效，但缺乏实证支持。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;推理优化敏感的场景：&lt;/strong&gt; 虽然 NormFormer 的额外推理开销极小，但在对推理延迟有极致要求的场景下（例如实时搜索排序），任何额外的计算都需要审慎评估。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="45-成本收益分析"&gt;4.5 成本收益分析&lt;/h3&gt;
&lt;p&gt;让我们做一个简单的成本收益计算。假设你正在训练一个 1.3B 参数的语言模型：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;成本（额外开销）：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;训练速度降低约 4%（1.3B 规模的典型值）&lt;/li&gt;
&lt;li&gt;如果原始训练需要 10000 GPU 小时，NormFormer 版本需要约 10400 GPU 小时&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;收益：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;达到相同困惑度仅需 7600 GPU 小时（节省 24%）&lt;/li&gt;
&lt;li&gt;最终困惑度从 12.21 降低到 11.94&lt;/li&gt;
&lt;li&gt;零样本平均准确率从 63.6% 提升到 64.7%&lt;/li&gt;
&lt;li&gt;更强的训练稳定性，降低训练失败的风险&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;净收益：&lt;/strong&gt; 即使考虑单步训练时间的增加，要达到基线相同性能仍然可以节省约 20% 的总训练时间。如果以固定的计算预算训练到收敛，则获得更好的最终性能。NormFormer 都是一个值得采纳的改进。&lt;/p&gt;
&lt;h3 id="46-与后续工作的关系"&gt;4.6 与后续工作的关系&lt;/h3&gt;
&lt;p&gt;NormFormer 发表于 2021 年底，此后 Transformer 归一化领域继续涌现了许多重要工作：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;RMSNorm&lt;/strong&gt;（Root Mean Square Layer Normalization）：去掉了 LayerNorm 中的均值中心化步骤，计算效率更高。被 LLaMA 系列广泛采用。NormFormer 的设计理念可以与 RMSNorm 无缝结合。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QK-Norm&lt;/strong&gt;：对注意力中的 Query 和 Key 进行归一化，防止注意力得分过大。与 NormFormer 的 HeadScale 有互补作用。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HybridNorm（2025）&lt;/strong&gt;：探索了在同一模型中混合使用 Pre-LN 和 Post-LN 的可能性，进一步细化了归一化位置的选择。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;nGPT（2024）&lt;/strong&gt;：提出了基于单位超球面上表示学习的归一化方案，代表了归一化研究的新方向。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这些后续工作并没有否定 NormFormer 的价值，反而证明了&amp;quot;在 Transformer 中优化归一化策略&amp;quot;这一研究方向的重要性。NormFormer 作为这一领域的先驱工作之一，为后续研究奠定了重要的理论和实验基础。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="5-总结与展望"&gt;5. 总结与展望&lt;/h2&gt;
&lt;h3 id="51-核心贡献回顾"&gt;5.1 核心贡献回顾&lt;/h3&gt;
&lt;p&gt;NormFormer 论文的核心贡献可以用三句话概括：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;发现了问题：&lt;/strong&gt; 系统性地揭示了 Pre-LN Transformer 中各层梯度分布不均的问题——早期层梯度过大、后期层梯度不足。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;提出了方案：&lt;/strong&gt; 通过在三个精心选择的位置（注意力输出后、注意力头拼接前、FFN 中间层）添加归一化操作，有效缓解了梯度失配。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;验证了效果：&lt;/strong&gt; 在多种任务（CLM、MLM、零样本）和多种规模（125M-2.7B）上，以不到 6% 的额外计算成本换取了 24% 的训练加速和一致的性能提升。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="52-对工程实践的启示"&gt;5.2 对工程实践的启示&lt;/h3&gt;
&lt;p&gt;NormFormer 给我们的最大启示不仅仅是&amp;quot;加几个 LayerNorm&amp;quot;这么简单，而是：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;启示一：小改进，大回报。&lt;/strong&gt; 在深度学习研究中，并非所有有价值的工作都需要颠覆性的架构创新。有时候，对现有架构的精细分析和微小调整就能带来显著的实际收益。NormFormer 的三处修改总共只增加了 0.4% 的参数量，却换来了 24% 的训练加速——这种高性价比的改进在工业界尤其受欢迎。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;启示二：梯度分析是优化训练的利器。&lt;/strong&gt; NormFormer 的整个工作建立在对梯度分布的细致观察之上。通过可视化和分析各层的梯度范数，研究者找到了问题所在，并据此设计了针对性的解决方案。这提醒我们，在训练大模型时，不要只盯着损失曲线，还应该关注梯度的层间分布。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;启示三：不是所有改进都能无限叠加。&lt;/strong&gt; 消融实验表明，在三个位置之外继续添加归一化层不仅没有收益，反而降低了训练速度。ResScale 在大模型上甚至有害。这告诉我们，模型改进需要有度，过度设计反而可能适得其反。&lt;/p&gt;
&lt;h3 id="53-未来展望"&gt;5.3 未来展望&lt;/h3&gt;
&lt;p&gt;尽管 NormFormer 已经展示了令人信服的实验结果，但仍有一些开放的研究方向值得探索：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;超大规模验证：&lt;/strong&gt; 论文最大的实验只到 2.7B 参数，NormFormer 在 10B、100B 甚至更大规模模型上的表现如何？是否存在新的问题或需要调整的地方？&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;与新型归一化的结合：&lt;/strong&gt; 将 NormFormer 的设计理念与 RMSNorm、QK-Norm 等新技术结合，是否能获得更大的收益？&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;多模态扩展：&lt;/strong&gt; NormFormer 目前主要在语言模型上验证，在视觉 Transformer（ViT）、多模态模型（如 Flamingo、GPT-4V）中是否同样有效？&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自适应归一化：&lt;/strong&gt; 能否设计一种机制，让模型在训练过程中自动决定在哪些位置需要额外的归一化，而不是人工预设固定位置？&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;总而言之，NormFormer 是一项兼具理论深度和工程价值的优秀工作。它用最简洁的方式解决了一个被忽视但重要的问题，为大规模 Transformer 预训练提供了一个即插即用的改进方案。对于正在从事大模型预训练的团队来说，NormFormer 值得认真评估和尝试。&lt;/p&gt;
&lt;hr&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;参考文献：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Shleifer, S., Weston, J., &amp;amp; Ott, M. (2021). NormFormer: Improved Transformer Pretraining with Extra Normalization.
&lt;/li&gt;
&lt;li&gt;Xiong, R., et al. (2020). On Layer Normalization in the Transformer Architecture. ICML 2020.&lt;/li&gt;
&lt;li&gt;Vaswani, A., et al. (2017). Attention Is All You Need. NeurIPS 2017.&lt;/li&gt;
&lt;li&gt;Zhang, B., &amp;amp; Sennrich, R. (2019). Root Mean Square Layer Normalization. NeurIPS 2019.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;</description></item><item><title>UniMixer：统一推荐系统三大架构范式的缩放定律探索</title><link>https://dingyadong.top/posts/013_unimixer_paper_review/</link><pubDate>Wed, 08 Apr 2026 10:15:00 +0800</pubDate><guid>https://dingyadong.top/posts/013_unimixer_paper_review/</guid><description>
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;本文是关于快手技术团队论文《UniMixer: A Unified Architecture for Scaling Laws in Recommendation Systems》（
）的深度精读笔记。这篇论文从理论上揭示了推荐系统中注意力机制、TokenMixer 和因式分解机三大架构范式的内在统一性，提出了参数化的 UniMixing 模块及其轻量化变体 UniMixer-Lite，并在快手广告系统上验证了清晰的缩放定律。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="1-引言推荐系统特征交互架构的三条技术路线"&gt;1. 引言：推荐系统特征交互架构的三条技术路线&lt;/h2&gt;
&lt;h3 id="11-从人工特征到深度模型的演进"&gt;1.1 从人工特征到深度模型的演进&lt;/h3&gt;
&lt;p&gt;推荐系统的核心挑战之一是&lt;strong&gt;特征交互建模&lt;/strong&gt;——如何从用户画像、物品属性、上下文信息等异构特征中提取有效的交叉模式，以预测用户行为。&lt;/p&gt;
&lt;p&gt;回顾推荐系统的发展历程，特征交互的建模方式经历了几个关键阶段：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;手工特征工程时代&lt;/strong&gt;（2010 年前）：依赖领域专家设计交叉特征，如&amp;quot;用户年龄 × 物品类别&amp;quot;。这种方式的问题在于人力成本高、覆盖度有限、无法捕获高阶交互。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;因式分解机时代&lt;/strong&gt;（2010-2016）：FM（Factorization Machine）及其变体（FFM、DeepFM）通过学习特征的隐向量表示来自动建模二阶交互 $\hat{y} = w_0 + \sum_i w_i x_i + \sum_{i\lt j} \langle v_i, v_j \rangle x_i x_j$。这开创了自动化特征交互的先河，但受限于交互阶数和表达能力。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;深度网络显式交叉时代&lt;/strong&gt;（2017-2022）：DCN、xDeepInt、AutoInt 等工作尝试通过显式的交叉网络结构捕获高阶交互。但这些方法往往带来复杂的网络设计和有限的扩展性。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Token 化与大模型时代&lt;/strong&gt;（2023-至今）：受 Transformer 和大语言模型启发，推荐系统开始将特征视为 Token 序列，引入注意力机制和 TokenMixer 等操作进行特征交互。这一范式转变使得推荐模型具备了类似 LLM 的缩放潜力。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="12-三条路线的分化与困境"&gt;1.2 三条路线的分化与困境&lt;/h3&gt;
&lt;p&gt;进入 Token 化时代后，推荐系统的特征交互架构逐渐形成了三条主要的技术路线：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;路线一：基于注意力机制（Attention-based）&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;代表工作：AutoInt、HiFormer、FAT、HHFT&lt;/li&gt;
&lt;li&gt;核心思想：通过 Self-Attention 机制让每个 Token 动态地关注其他 Token，使用 Token-specific 的 Q/K/V 投影&lt;/li&gt;
&lt;li&gt;优势：理论表达能力强，能捕获任意 Token 对之间的交互&lt;/li&gt;
&lt;li&gt;问题：$O(L^2)$ 的计算复杂度，在特征数量 $L$ 较大时计算成本过高；更关键的是，&lt;strong&gt;在异构特征场景下，注意力权重容易变得尖锐稀疏&lt;/strong&gt;，导致梯度回传受阻、训练停滞&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;路线二：基于 TokenMixer&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;代表工作：RankMixer（TokenMixer）、TokenMixer-Large&lt;/li&gt;
&lt;li&gt;核心思想：通过固定规则的矩阵（如 Split &amp;amp; Concat）对 Token 进行混合操作&lt;/li&gt;
&lt;li&gt;优势：计算效率高，参数无关（parameter-free），支持深层堆叠&lt;/li&gt;
&lt;li&gt;问题：基于规则的混合模式缺乏可学习性和场景适应性；&lt;strong&gt;强制要求 Token 数等于 Head 数（T=H）&lt;/strong&gt;，限制了交互模式的选择空间&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;路线三：基于因式分解机（FM-based）&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;代表工作：Wukong、FinalMLP、GDCN、FiBiNet&lt;/li&gt;
&lt;li&gt;核心思想：通过特征向量的内积或双线性交互建模特征对交互&lt;/li&gt;
&lt;li&gt;优势：参数效率高，可解释性较好&lt;/li&gt;
&lt;li&gt;问题：显式低阶交互约束限制了 Scaling 性能提升，难以扩展到更高阶&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这三条路线各有优劣，但在工业实践中往往是&amp;quot;选边站队&amp;quot;——一个团队通常只深耕其中一条路线。这种割裂带来了两个核心问题：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;缺乏统一的理论视角&lt;/strong&gt;：无法回答&amp;quot;这三种方法到底有什么本质区别和联系？&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;无法系统性地比较扩展效率&lt;/strong&gt;：各方法在各自的实验设置下报告结果，缺少公平的缩放定律对比&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="13-unimixer-的破局思路"&gt;1.3 UniMixer 的破局思路&lt;/h3&gt;
&lt;p&gt;UniMixer 论文的核心贡献在于回答了一个根本性问题：&lt;strong&gt;这三种看似不同的特征交互方式，是否存在统一的数学框架？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;答案是肯定的。论文揭示了一个优雅的统一结构：&lt;/p&gt;
$$\text{UniMixing}(X) = \text{reshape}\left(G(X, W_G) \cdot [\text{local patterns}],\ 1,\ L\right)$$&lt;p&gt;在这个框架下，注意力机制、TokenMixer 和因式分解机只是&lt;strong&gt;全局权重 $G$ 和局部模式的不同实例化&lt;/strong&gt;。这一发现不仅具有理论美感，更带来了实际的工程价值——既然三者本质相同，我们就能设计出集三者优势于一体的新架构。&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Figure 1: UniMixer - Unified Architecture Comparing Three Feature Interaction Paradigms"
srcset="https://dingyadong.top/posts/013_unimixer_paper_review/figure_unimixer_architecture_hu_ae08bf85d000a81b.webp 320w, https://dingyadong.top/posts/013_unimixer_paper_review/figure_unimixer_architecture_hu_cdb029024fea0521.webp 480w, https://dingyadong.top/posts/013_unimixer_paper_review/figure_unimixer_architecture_hu_260aef64289daff9.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/013_unimixer_paper_review/figure_unimixer_architecture_hu_ae08bf85d000a81b.webp"
width="760"
height="526"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="2-来源元数据-metadata"&gt;2. 来源元数据 (Metadata)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;原文标题&lt;/strong&gt;: UniMixer: A Unified Architecture for Scaling Laws in Recommendation Systems&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;原文链接&lt;/strong&gt;:
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;来源&lt;/strong&gt;: arXiv（快手技术团队）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;作者&lt;/strong&gt;: Mingming Ha, Guanchen Wang, Linxun Chen, Xuan Rao, Yuexin Shi, Tianbao Ma, Zhaojie Liu, Yunqian Fan, Zilong Lu, Yanan Niu, Han Li, Kun Gai&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;发表日期&lt;/strong&gt;: 2026 年 4 月&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="3-核心摘要-executive-summary"&gt;3. 核心摘要 (Executive Summary)&lt;/h2&gt;
&lt;p&gt;UniMixer 提出了推荐系统特征交互的统一架构框架，其核心创新包括：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;理论统一&lt;/strong&gt;：将注意力机制、TokenMixer 和因式分解机归纳为同一数学框架的不同特例&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;参数化 TokenMixer&lt;/strong&gt;：将基于规则的 Token 混合操作转化为等价的参数化矩阵乘法，使混合模式可在训练中端到端优化&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;UniMixer-Lite&lt;/strong&gt;：通过基矩阵组合和低秩近似，在大幅压缩参数量和计算成本的同时提升模型性能&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SiameseNorm&lt;/strong&gt;：引入耦合双流归一化解决深层架构的训练稳定性问题&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;缩放定律验证&lt;/strong&gt;：在快手广告系统上验证了清晰的幂律缩放关系，UniMixer-Lite 的缩放指数（0.142）显著优于 RankMixer（0.116）&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="4-深度解读-deep-dive"&gt;4. 深度解读 (Deep Dive)&lt;/h2&gt;
&lt;h3 id="41-参数化-tokenmixer从规则驱动到数据驱动"&gt;4.1 参数化 TokenMixer：从规则驱动到数据驱动&lt;/h3&gt;
&lt;p&gt;UniMixer 论文最精彩的理论贡献之一，是揭示了 TokenMixer 操作的矩阵本质。&lt;/p&gt;
&lt;h4 id="411-tokenmixer-的本质是什么"&gt;4.1.1 TokenMixer 的本质是什么？&lt;/h4&gt;
&lt;p&gt;以 RankMixer 为例，其核心操作是 Split &amp;amp; Concat——将 Token 序列按某种规则拆分后重新拼接。这看起来只是一种数据搬运操作，但论文指出：&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;任何 TokenMixer 的 Split &amp;amp; Concat 操作，都等价于将一个排列矩阵（Permutation Matrix）乘以展平的输入嵌入。&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;具体来说，对于输入 $X \in \mathbb{R}^{T \times D}$（$T$ 个 Token，每个维度为 $D$），TokenMixer 操作可以表示为：&lt;/p&gt;
$$\text{TokenMixer}(X) = \text{reshape}\left(W^{\text{perm}} \cdot \text{flatten}(X),\ H,\ \frac{TD}{H}\right)$$&lt;p&gt;其中 $W^{\text{perm}}$ 是一个排列矩阵。这个发现至关重要，因为：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;排列矩阵具有&lt;strong&gt;双随机性&lt;/strong&gt;（doubly stochastic）——每行每列恰好一个 1&lt;/li&gt;
&lt;li&gt;排列矩阵是&lt;strong&gt;稀疏的&lt;/strong&gt;——大部分元素为 0&lt;/li&gt;
&lt;li&gt;当 $T = H$ 时，排列矩阵是&lt;strong&gt;对称的&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="412-从排列矩阵到可学习权重"&gt;4.1.2 从排列矩阵到可学习权重&lt;/h4&gt;
&lt;p&gt;既然 TokenMixer 本质上是矩阵乘法，一个自然的问题是：&lt;strong&gt;为什么要使用固定的排列矩阵，而不让模型自己学习最优的混合权重？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这正是 UniMixer 的核心思路——将硬编码的排列矩阵替换为可学习的权重矩阵 $W$，同时通过正则化约束保持排列矩阵的良好性质。更重要的是，参数化使得 &lt;strong&gt;T=H 的约束被彻底解除&lt;/strong&gt;——传统 TokenMixer 强制要求 Token 数等于 Head 数，而参数化权重矩阵可以自由选择任意维度。&lt;/p&gt;
&lt;p&gt;具体的约束实施方式：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;双随机性约束&lt;/strong&gt;：通过 Sinkhorn-Knopp 迭代实现&lt;/li&gt;
&lt;/ul&gt;
$$S_k(W) = D_r^{-1} W D_c^{-1}$$&lt;p&gt;其中 $D_r$ 和 $D_c$ 分别是行和列的归一化矩阵，交替迭代直至收敛。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;稀疏性约束&lt;/strong&gt;：通过温度系数 $\tau$ 控制&lt;/li&gt;
&lt;/ul&gt;
$$W_{\tau} = \text{softmax}(W / \tau)$$&lt;p&gt;当 $\tau \to 0$ 时，权重趋向 one-hot 分布，恢复排列矩阵的稀疏性。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;对称性约束&lt;/strong&gt;：通过显式对称化&lt;/li&gt;
&lt;/ul&gt;
$$W_{\text{sym}} = \frac{W + W^T}{2}$$&lt;h4 id="413-温度退火训练策略"&gt;4.1.3 温度退火训练策略&lt;/h4&gt;
&lt;p&gt;直接使用低温度训练可能导致梯度消失（softmax 输出接近 one-hot 时梯度极小）。论文提出了&lt;strong&gt;温度退火&lt;/strong&gt;（Temperature Annealing）策略：&lt;/p&gt;
$$\tau_j = \max\left\{\tau_{\text{start}} - \frac{(\tau_{\text{start}} - \tau_{\text{end}}) \cdot j}{J},\ \tau_{\text{end}}\right\}$$&lt;p&gt;训练初期使用较高温度（$\tau_{\text{start}} = 1.0$），让模型在接近均匀分布的空间中自由探索；随着训练推进，逐步降低温度至 $\tau_{\text{end}} = 0.05$，使权重逐渐收敛到稀疏的最优混合模式。&lt;/p&gt;
&lt;p&gt;这种&amp;quot;先探索、后收敛&amp;quot;的策略与模拟退火算法有异曲同工之妙，有效避免了过早陷入局部最优。&lt;/p&gt;
&lt;h3 id="42-统一理论框架三大范式的殊途同归"&gt;4.2 统一理论框架：三大范式的殊途同归&lt;/h3&gt;
&lt;h4 id="421-统一公式"&gt;4.2.1 统一公式&lt;/h4&gt;
&lt;p&gt;论文的核心理论贡献是将三种架构范式统一到同一个框架下：&lt;/p&gt;
$$\text{UniMixing}(X) = \text{reshape}\left(G(X, W_G) \cdot [\text{local patterns}],\ 1,\ L\right)$$&lt;p&gt;不同方法的差异仅在于&lt;strong&gt;全局权重 $G$&lt;/strong&gt; 和&lt;strong&gt;局部模式&lt;/strong&gt;的选择：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;方法&lt;/th&gt;
&lt;th&gt;全局权重 $G$&lt;/th&gt;
&lt;th&gt;局部模式&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Self-Attention&lt;/td&gt;
&lt;td&gt;$\text{softmax}\left(\frac{(XW_Q)(XW_K)^T}{\sqrt{d}}\right)$&lt;/td&gt;
&lt;td&gt;$XW_V$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Heterogeneous Attention&lt;/td&gt;
&lt;td&gt;$\text{softmax}\left(\frac{(X\tilde{W}_Q)(X\tilde{W}_K)^T}{\sqrt{d}}\right)$&lt;/td&gt;
&lt;td&gt;$X\tilde{W}_V$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TokenMixer&lt;/td&gt;
&lt;td&gt;$G$（固定置换矩阵）&lt;/td&gt;
&lt;td&gt;$X$（恒等映射）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;FM&lt;/td&gt;
&lt;td&gt;$XI(XI)^\top$&lt;/td&gt;
&lt;td&gt;$Y$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;UniMixer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$W_G$（可学习全局混合）&lt;/td&gt;
&lt;td&gt;$\{W_B^i\}$（可学习块权重）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;这个统一视角揭示了三个深刻的洞察：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;注意力机制是数据依赖的动态混合&lt;/strong&gt;：全局权重 $G$ 由输入 $X$ 通过 Query-Key 机制动态计算，因此不同输入有不同的混合模式。这赋予了注意力极强的表达能力，但也带来了 $O(L^2)$ 的计算成本。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;TokenMixer 是数据无关的静态混合&lt;/strong&gt;：全局权重 $G$ 是固定的可学习参数，与输入无关。这使得计算效率极高（权重可以预计算），但牺牲了对不同输入的适应性。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;因式分解机是特征相似度驱动的混合&lt;/strong&gt;：全局权重 $G = XI(XI)^\top$ 由特征向量的内积决定，本质上是基于特征相似度的混合。这在二阶交互上效率很高，但难以扩展到更高阶。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="422-kronecker-积分解与计算优化"&gt;4.2.2 Kronecker 积分解与计算优化&lt;/h4&gt;
&lt;p&gt;完整的 UniMixing 操作涉及 $L \times L$ 的权重矩阵（$L$ 为 Token 数量），在特征数量较大时计算成本不可接受。论文利用排列矩阵的 Kronecker 积结构进行分解：&lt;/p&gt;
$$W^{\text{perm}} = G \otimes I$$&lt;p&gt;这意味着全局混合矩阵可以分解为&lt;strong&gt;全局模式&lt;/strong&gt; $W_G$ 和&lt;strong&gt;局部模式&lt;/strong&gt; $W_B$ 的组合，将计算复杂度从 $O(L^2)$ 降低到：&lt;/p&gt;
$$O\left(\frac{L^2}{B} + LB\right)$$&lt;p&gt;其中 $B$ 是块大小。这种&amp;quot;全局-局部&amp;quot;的分层结构是 UniMixer 兼顾表达能力和计算效率的关键。&lt;/p&gt;
&lt;h3 id="43-unimixer-lite效率与性能的帕累托前沿"&gt;4.3 UniMixer-Lite：效率与性能的帕累托前沿&lt;/h3&gt;
&lt;h4 id="431-设计动机"&gt;4.3.1 设计动机&lt;/h4&gt;
&lt;p&gt;完整的 UniMixing 模块虽然理论上优雅，但在工业部署中仍面临参数效率的挑战——每个块都需要独立的全局和局部权重矩阵。UniMixer-Lite 通过两项关键技术将参数量大幅压缩：&lt;/p&gt;
&lt;h4 id="432-基矩阵组合basis-composition"&gt;4.3.2 基矩阵组合（Basis Composition）&lt;/h4&gt;
&lt;p&gt;对于局部权重 $W_B^{(i)}$（第 $i$ 个块的局部混合矩阵），UniMixer-Lite 不再为每个块独立学习权重，而是通过一组&lt;strong&gt;共享基矩阵&lt;/strong&gt;的线性组合动态生成：&lt;/p&gt;
$$W_B^{(i)} = \sum_{\ell=1}^{b} \omega_\ell^{(i)} Z_\ell$$&lt;p&gt;其中 $\{Z_\ell\}_{\ell=1}^{b}$ 是 $b$ 个共享基矩阵，$\omega_\ell^{(i)}$ 是第 $i$ 个块对各基矩阵的组合系数。&lt;/p&gt;
&lt;p&gt;这种设计的精妙之处在于：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;基矩阵在所有块间共享，参数量从 $O(L/B \cdot B^2)$ 降到 $O(b \cdot B^2)$&lt;/li&gt;
&lt;li&gt;组合系数 $\omega_\ell^{(i)}$ 允许每个块有自己独特的混合模式&lt;/li&gt;
&lt;li&gt;基矩阵数量 $b$ 远小于块数量 $L/B$，实现了参数的高效复用&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="433-低秩近似low-rank-approximation"&gt;4.3.3 低秩近似（Low-Rank Approximation）&lt;/h4&gt;
&lt;p&gt;对于全局权重 $W_G$，UniMixer-Lite 采用低秩分解：&lt;/p&gt;
$$W_G \approx W_r = A_G B_G$$&lt;p&gt;其中 $A_G \in \mathbb{R}^{(L/B) \times r}$，$B_G \in \mathbb{R}^{r \times (L/B)}$，秩 $r \ll L/B$。&lt;/p&gt;
&lt;p&gt;这将全局权重的参数量从 $O((L/B)^2)$ 降到 $O(r \cdot L/B)$，在实践中 $r$ 通常取 4-8 即可达到接近全秩的效果。&lt;/p&gt;
&lt;h4 id="434-sinkhorn-knopp-的保障作用"&gt;4.3.4 Sinkhorn-Knopp 的保障作用&lt;/h4&gt;
&lt;p&gt;值得注意的是，即使使用了低秩近似和基矩阵组合来压缩参数，UniMixer-Lite 仍然通过 Sinkhorn-Knopp 操作确保权重矩阵保持接近满秩的双随机性质。这种&amp;quot;先压缩、后修正&amp;quot;的设计避免了参数压缩带来的表达能力损失。&lt;/p&gt;
&lt;h4 id="435-性能表现"&gt;4.3.5 性能表现&lt;/h4&gt;
&lt;p&gt;实验数据来自快手广告投放场景，超过 &lt;strong&gt;7 亿用户样本&lt;/strong&gt;、一年数据，包含数百个异构特征。任务为用户留存预测（次日回访）。结果令人印象深刻：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;模型&lt;/th&gt;
&lt;th&gt;参数量&lt;/th&gt;
&lt;th&gt;FLOPs&lt;/th&gt;
&lt;th&gt;AUC&lt;/th&gt;
&lt;th&gt;ΔAUC&lt;/th&gt;
&lt;th&gt;UAUC&lt;/th&gt;
&lt;th&gt;ΔUAUC&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Heterogeneous Attention&lt;/td&gt;
&lt;td&gt;132.7M&lt;/td&gt;
&lt;td&gt;1.68T&lt;/td&gt;
&lt;td&gt;0.7446&lt;/td&gt;
&lt;td&gt;baseline&lt;/td&gt;
&lt;td&gt;0.7338&lt;/td&gt;
&lt;td&gt;baseline&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RankMixer&lt;/td&gt;
&lt;td&gt;135.5M&lt;/td&gt;
&lt;td&gt;1.68T&lt;/td&gt;
&lt;td&gt;0.7493&lt;/td&gt;
&lt;td&gt;+0.475%&lt;/td&gt;
&lt;td&gt;0.7389&lt;/td&gt;
&lt;td&gt;+0.511%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;UniMixer-2B&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;101.5M&lt;/td&gt;
&lt;td&gt;2.50T&lt;/td&gt;
&lt;td&gt;0.7502&lt;/td&gt;
&lt;td&gt;+0.566%&lt;/td&gt;
&lt;td&gt;0.7400&lt;/td&gt;
&lt;td&gt;+0.615%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;UniMixer-Lite-2B&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;76.2M&lt;/td&gt;
&lt;td&gt;2.60T&lt;/td&gt;
&lt;td&gt;0.7514&lt;/td&gt;
&lt;td&gt;+0.682%&lt;/td&gt;
&lt;td&gt;0.7412&lt;/td&gt;
&lt;td&gt;+0.739%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;UniMixer-Lite-4B&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;84.5M&lt;/td&gt;
&lt;td&gt;4.24T&lt;/td&gt;
&lt;td&gt;0.7527&lt;/td&gt;
&lt;td&gt;+0.814%&lt;/td&gt;
&lt;td&gt;0.7425&lt;/td&gt;
&lt;td&gt;+0.870%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;几个关键发现：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;UniMixer-Lite-4B 仅用 &lt;strong&gt;84.5M 参数&lt;/strong&gt;，AUC 提升 +0.814%，显著优于 135.5M 参数的 RankMixer&lt;/li&gt;
&lt;li&gt;在推荐系统领域，AUC 提升 0.1% 即被视为显著改进，0.8% 是非常大的提升&lt;/li&gt;
&lt;li&gt;UniMixer 的 FLOPs 高于 RankMixer（2.50T vs 1.68T），这是参数化带来的计算开销——但考虑到参数量的大幅减少和性能的显著提升，这一权衡在工业场景中是值得的&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="44-pertoken-swiglu-与完整架构"&gt;4.4 Pertoken SwiGLU 与完整架构&lt;/h3&gt;
&lt;p&gt;在 UniMixing 完成特征交互后，模型通过 &lt;strong&gt;Pertoken SwiGLU&lt;/strong&gt; 建模不同特征的异质性：&lt;/p&gt;
$$\text{pSwiGLU}(o_i) = W_{\text{down}}^i \left( (W_{\text{up}}^i o_i + b_{\text{up}}^i) \odot \text{Swish}(W_{\text{gate}}^i o_i + b_{\text{gate}}^i) \right) + b_{\text{down}}^i$$&lt;p&gt;每个 Token 拥有&lt;strong&gt;独立的 FFN 参数&lt;/strong&gt;（$W_{\text{up}}^i$, $W_{\text{gate}}^i$, $W_{\text{down}}^i$），充分建模不同特征领域（用户画像、物品属性、行为序列等）的异质性。这与 NLP 中所有 Token 共享 FFN 参数形成了鲜明对比。&lt;/p&gt;
&lt;p&gt;完整的 UniMixer 模型由以下部分组成：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Feature Tokenization&lt;/strong&gt; → 异构特征按领域分组，投影为统一维度的 Token 表示&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;M 层 UniMixer Block（含 SiameseNorm）&lt;/strong&gt; → 层叠的统一混合模块&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sparse-Pertoken MoE&lt;/strong&gt; → 稀疏混合专家进一步增强表达能力&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;预测头&lt;/strong&gt; → 输出最终预测&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="45-siamesenorm解锁深层架构的训练稳定性"&gt;4.5 SiameseNorm：解锁深层架构的训练稳定性&lt;/h3&gt;
&lt;h4 id="451-深层推荐模型的训练难题"&gt;4.5.1 深层推荐模型的训练难题&lt;/h4&gt;
&lt;p&gt;随着推荐模型向更深的层数扩展，一个经典的矛盾浮出水面：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Pre-Norm&lt;/strong&gt;（归一化在子层之前）：有利于梯度流动和训练稳定性，但可能导致深层表示退化——所有层的输出趋于相似&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Post-Norm&lt;/strong&gt;（归一化在子层之后）：理论上能产生更丰富的层间表示差异，但在深层网络中容易出现梯度消失或爆炸&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这个问题在 NLP 领域已有大量研究，但推荐系统的特征异构性（数值型、类别型、序列型特征共存）使得问题更加复杂。&lt;/p&gt;
&lt;h4 id="452-siamesenorm-的双流设计"&gt;4.5.2 SiameseNorm 的双流设计&lt;/h4&gt;
&lt;p&gt;UniMixer 引入了 SiameseNorm，其核心思想是维护两条&lt;strong&gt;耦合的信息流&lt;/strong&gt;（$\bar{X}_\ell$ 和 $\bar{Y}_\ell$）。具体更新规则为：&lt;/p&gt;
$$\tilde{Y}_\ell = \text{RMSNorm}(\bar{Y}_\ell), \quad O_\ell = \text{UniMixer}(\bar{X}_\ell + \tilde{Y}_\ell)$$$$\bar{X}_{\ell+1} = \text{RMSNorm}(\bar{X}_\ell + O_\ell), \quad \bar{Y}_{\ell+1} = \bar{Y}_\ell + O_\ell$$&lt;p&gt;其中 $\bar{X}_\ell$ 承担类似 Pre-Norm 路径的角色——每次更新都经过 RMSNorm，保证训练稳定性；$\bar{Y}_\ell$ 承担类似 Post-Norm 路径的角色——直接累加输出，保持层间表示的多样性。两条流在每一层通过 $\bar{X}_\ell + \tilde{Y}_\ell$ 的融合进行耦合交互，兼具两种归一化方案的优势。&lt;/p&gt;
&lt;p&gt;这种设计使得 UniMixer 能够&lt;strong&gt;同时在模型深度和宽度两个维度上进行有效扩展&lt;/strong&gt;，而不会遇到训练不稳定的瓶颈。&lt;/p&gt;
&lt;h3 id="46-缩放定律推荐系统的chinchilla-时刻"&gt;4.6 缩放定律：推荐系统的&amp;quot;Chinchilla 时刻&amp;quot;&lt;/h3&gt;
&lt;h4 id="461-为什么推荐系统需要缩放定律"&gt;4.6.1 为什么推荐系统需要缩放定律？&lt;/h4&gt;
&lt;p&gt;在自然语言处理领域，Kaplan et al. (2020) 和 Hoffmann et al. (2022, Chinchilla) 发现了模型性能与参数量之间的幂律关系，这一发现深刻地改变了 LLM 的训练策略——从&amp;quot;盲目堆大&amp;quot;转向&amp;quot;计算最优&amp;quot;。&lt;/p&gt;
&lt;p&gt;但推荐系统的缩放定律研究相对匮乏。其原因在于：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;推荐模型的架构多样性远高于 LLM（Transformer 一统天下），难以进行公平对比&lt;/li&gt;
&lt;li&gt;推荐系统的特征异构性（稀疏 ID 特征 + 稠密数值特征）使得&amp;quot;参数量&amp;quot;的定义不如 LLM 清晰&lt;/li&gt;
&lt;li&gt;工业界的保密性导致大规模缩放实验的结果难以公开&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;UniMixer 论文的重要贡献之一，就是&lt;strong&gt;在统一框架下，为推荐系统建立了可对比的缩放定律基准&lt;/strong&gt;。&lt;/p&gt;
&lt;h4 id="462-幂律关系"&gt;4.6.2 幂律关系&lt;/h4&gt;
&lt;p&gt;论文验证了 AUC 增益与参数量之间的幂律关系：&lt;/p&gt;
$$\Delta \text{AUC} = a \cdot \text{Params}^{\alpha}$$&lt;p&gt;其中 $\alpha$ 是缩放指数，反映了架构的参数效率。实验结果：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;架构&lt;/th&gt;
&lt;th&gt;Scaling Law 公式&lt;/th&gt;
&lt;th&gt;缩放指数 $\alpha$&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;RankMixer&lt;/td&gt;
&lt;td&gt;$\Delta\text{AUC} = 0.002718 \cdot \text{Params}^{0.116}$&lt;/td&gt;
&lt;td&gt;0.116&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UniMixer&lt;/td&gt;
&lt;td&gt;$\Delta\text{AUC} = 0.003032 \cdot \text{Params}^{0.132}$&lt;/td&gt;
&lt;td&gt;0.132&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;UniMixer-Lite&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$\Delta\text{AUC} = 0.003767 \cdot \text{Params}^{0.142}$&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.142&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;UniMixer-Lite 的缩放指数比 RankMixer 高出 &lt;strong&gt;22.3%&lt;/strong&gt;，这意味着在相同的参数预算增长下，UniMixer-Lite 能获得更大的性能提升。更直观地说：&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;如果将参数量翻倍，RankMixer 的 AUC 增益提升约 8.4%，而 UniMixer-Lite 的提升约 10.3%。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;随着模型规模的持续增长，这种差距会被不断放大。&lt;/p&gt;
&lt;h4 id="463-深层-scaling-的关键差异"&gt;4.6.3 深层 Scaling 的关键差异&lt;/h4&gt;
&lt;p&gt;更引人注目的是深层 Scaling 的对比实验：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;模型&lt;/th&gt;
&lt;th&gt;AUC&lt;/th&gt;
&lt;th&gt;趋势&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;RankMixer-2B&lt;/td&gt;
&lt;td&gt;0.7478&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RankMixer-4B&lt;/td&gt;
&lt;td&gt;0.7467 (-0.107%)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;性能退化&lt;/strong&gt; ↓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UniMixer-Lite-2B&lt;/td&gt;
&lt;td&gt;0.7492&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UniMixer-Lite-4B&lt;/td&gt;
&lt;td&gt;0.7508 (+0.158%)&lt;/td&gt;
&lt;td&gt;持续提升 ↑&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UniMixer-Lite-8B&lt;/td&gt;
&lt;td&gt;0.7509 (+0.165%)&lt;/td&gt;
&lt;td&gt;持续提升 ↑&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;这是一个极其重要的发现&lt;/strong&gt;：RankMixer 增加深度后性能反而下降（-0.107%），而 UniMixer-Lite 在 8B 规模仍然展现出清晰的提升趋势。这证明了参数化混合 + SiameseNorm 的组合确实解决了深层推荐模型的 Scaling 瓶颈。&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="47-消融实验每个组件的贡献"&gt;4.7 消融实验：每个组件的贡献&lt;/h3&gt;
&lt;p&gt;论文提供了详尽的消融实验，量化了每个设计选择的贡献：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;设置&lt;/th&gt;
&lt;th&gt;AUC&lt;/th&gt;
&lt;th&gt;ΔAUC&lt;/th&gt;
&lt;th&gt;影响程度&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;完整 UniMixer&lt;/td&gt;
&lt;td&gt;0.7485&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;去除温度系数&lt;/td&gt;
&lt;td&gt;0.7468&lt;/td&gt;
&lt;td&gt;-0.165%&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;显著&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;去除模型预热&lt;/td&gt;
&lt;td&gt;0.7476&lt;/td&gt;
&lt;td&gt;-0.086%&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;显著&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;去除对称性约束&lt;/td&gt;
&lt;td&gt;0.7479&lt;/td&gt;
&lt;td&gt;-0.057%&lt;/td&gt;
&lt;td&gt;中等&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;去除分块特异权重&lt;/td&gt;
&lt;td&gt;0.7480&lt;/td&gt;
&lt;td&gt;-0.044%&lt;/td&gt;
&lt;td&gt;轻微&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;关键结论：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;温度系数是最关键的组件&lt;/strong&gt;（-0.165%），这验证了&amp;quot;先探索后收敛&amp;quot;的退火策略对于找到最优混合模式至关重要&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;模型预热同样重要&lt;/strong&gt;（-0.086%），说明从高温初始化开始训练对避免局部最优有显著帮助&lt;/li&gt;
&lt;li&gt;对称性约束和分块特异权重的影响相对较小，但仍然为正向贡献&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="5-工程实践从论文到生产的关键挑战"&gt;5. 工程实践：从论文到生产的关键挑战&lt;/h2&gt;
&lt;h3 id="51-异构特征的-token-化处理"&gt;5.1 异构特征的 Token 化处理&lt;/h3&gt;
&lt;p&gt;工业推荐系统的输入特征高度异构——用户 ID（稀疏类别型）、用户年龄（数值型）、行为序列（变长序列型）、上下文时间（连续型）需要被统一为 Token 表示。UniMixer 的处理方式是将输入特征按领域组织（用户画像、物品特征、行为序列、Query 特征等），每个领域通过 Embedding 层转换为向量，再均匀划分为块并投影为 Token 嵌入：&lt;/p&gt;
$$x_i = W_i^{\text{proj}} E_{di:di+d} + b_i^{\text{proj}} \in \mathbb{R}^D$$&lt;p&gt;这种分组 Token 化方案使得不同类型的特征被映射为统一维度的 Token 向量，为后续的 UniMixing 操作提供了一致的输入格式。&lt;/p&gt;
&lt;h3 id="52-sinkhorn-knopp-迭代的计算开销"&gt;5.2 Sinkhorn-Knopp 迭代的计算开销&lt;/h3&gt;
&lt;p&gt;双随机约束的 Sinkhorn-Knopp 迭代在理论上需要无穷步才能严格收敛，但实践中论文发现 &lt;strong&gt;5-10 次迭代&lt;/strong&gt;即可达到足够的精度。这一开销在训练时是可接受的，而在推理时权重已经固定，无需额外迭代。&lt;/p&gt;
&lt;h3 id="53-温度退火的超参数选择与冷启动策略"&gt;5.3 温度退火的超参数选择与冷启动策略&lt;/h3&gt;
&lt;p&gt;温度退火策略引入了三个超参数：起始温度 $\tau_{\text{start}}$、终止温度 $\tau_{\text{end}}$ 和退火步数 $J$。论文推荐的默认值为 $\tau_{\text{start}} = 1.0$、$\tau_{\text{end}} = 0.05$。一个实用的经验法则是将退火步数设置为总训练步数的 60-80%，让模型在训练的最后阶段以稳定的低温度进行精调。&lt;/p&gt;
&lt;p&gt;对于&lt;strong&gt;数据不足的场景&lt;/strong&gt;，论文还提出了&amp;quot;冷启动&amp;quot;策略：先用高温度完成一轮完整训练，然后用高温训练得到的权重作为初始化，再进行低温度的重训。这种两阶段方法可以在数据有限的情况下依然获得良好的稀疏权重。&lt;/p&gt;
&lt;h3 id="54-快手广告系统的部署实践"&gt;5.4 快手广告系统的部署实践&lt;/h3&gt;
&lt;p&gt;UniMixer 和 UniMixer-Lite 已在快手的多个广告投放场景中完成部署。论文报告了在线 A/B 测试的结果，以 &lt;strong&gt;30 天累计活跃天数（CAD, Cumulative Active Days）&lt;/strong&gt; 为核心评估指标：&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;D1-D30 的 CAD 平均提升超过 15%&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;同时离线 AUC 提升 &lt;strong&gt;+0.814%&lt;/strong&gt;（UniMixer-Lite-4B vs 基线）。在推荐系统领域，AUC 提升 0.1% 就已经是显著的改进，0.8% 的提升幅度在工业界是极为罕见的。这一结果有力地证明了统一架构的实际业务价值。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="6-与相关工作的对比分析"&gt;6. 与相关工作的对比分析&lt;/h2&gt;
&lt;h3 id="61-与-tokenmixer-large字节跳动的对比"&gt;6.1 与 TokenMixer-Large（字节跳动）的对比&lt;/h3&gt;
&lt;p&gt;TokenMixer-Large 是字节跳动提出的推荐系统大模型架构，与 UniMixer 形成了有趣的技术路线对比：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;维度&lt;/th&gt;
&lt;th&gt;TokenMixer-Large&lt;/th&gt;
&lt;th&gt;UniMixer&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;核心贡献&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;工程优化——通过纯净架构和 MoE 扩展至 15B&lt;/td&gt;
&lt;td&gt;理论统一——揭示三大范式的等价性&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;扩展策略&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;深度扩展（Mixing &amp;amp; Reverting + 跨层残差）&lt;/td&gt;
&lt;td&gt;参数效率扩展（基矩阵组合 + 低秩近似）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;混合方式&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;基于规则的 Split &amp;amp; Concat&lt;/td&gt;
&lt;td&gt;参数化的可学习混合矩阵&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;训练稳定性&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Rezero 初始化 + 辅助损失&lt;/td&gt;
&lt;td&gt;SiameseNorm 双流设计&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;稀疏化&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Per-token MoE&lt;/td&gt;
&lt;td&gt;温度退火的稀疏权重&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;验证规模&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;最大 15B 参数&lt;/td&gt;
&lt;td&gt;聚焦于 100M 级别的缩放定律&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;两篇论文实际上代表了推荐系统大模型的两种互补思路：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;TokenMixer-Large&lt;/strong&gt;：以&amp;quot;工程至上&amp;quot;为原则，通过极致的架构优化和 MoE 稀疏化，在既有的 TokenMixer 框架内推到了 15B 的参数规模&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;UniMixer&lt;/strong&gt;：以&amp;quot;理论先行&amp;quot;为原则，通过统一框架发现了更高效的参数化空间，用更少的参数实现了更好的缩放效率&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="62-与-attention-based-方法的对比"&gt;6.2 与 Attention-based 方法的对比&lt;/h3&gt;
&lt;p&gt;UniMixer 的统一框架揭示了一个有趣的事实：注意力机制可以被视为&amp;quot;输入依赖的 UniMixing&amp;quot;，而 UniMixer 使用的是&amp;quot;输入无关的可学习权重&amp;quot;。这意味着：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;注意力机制的表达能力理论上更强（动态权重 vs 静态权重）&lt;/li&gt;
&lt;li&gt;但 UniMixer 的计算效率更高（权重可预计算，无需在线计算 QK）&lt;/li&gt;
&lt;li&gt;在推荐系统的实际场景中，UniMixer 的缩放效率反而更好——这可能说明推荐系统中&amp;quot;最优的混合模式&amp;quot;并不需要随输入动态变化&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="63-与-fm-based-方法的对比"&gt;6.3 与 FM-based 方法的对比&lt;/h3&gt;
&lt;p&gt;因式分解机方法在 UniMixer 的框架下被理解为&amp;quot;全局权重由特征相似度决定&amp;quot;的特例。UniMixer 的改进在于：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;FM 的全局权重 $G = XI(XI)^\top$ 完全由输入决定，没有可学习参数&lt;/li&gt;
&lt;li&gt;UniMixer 的全局权重 $W_G$ 是可学习的，能发现数据中不直接由相似度反映的交互模式&lt;/li&gt;
&lt;li&gt;UniMixer-Lite 的基矩阵组合可以看作是&amp;quot;参数化的 FM&amp;quot;——每个块的局部交互模式由共享基矩阵动态组合&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="7-流程图-flowchart"&gt;7. 流程图 (Flowchart)&lt;/h2&gt;
&lt;div class="mermaid-wrapper"&gt;
&lt;div class="mermaid" style="background: transparent;"&gt;
graph LR
A["异构特征"] --&gt; B["Token 化"]
B --&gt; C["UniMixing"]
C --&gt; D["Pertoken SwiGLU"]
D --&gt; E["SiameseNorm"]
E --&gt; F["Sparse MoE"]
F --&gt; G["深层堆叠"]
G --&gt; H["预测输出"]
style C fill:#4ecdc4,color:#fff
style E fill:#45b7d1,color:#fff
style F fill:#f7dc6f,color:#333
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;UniMixing 内部结构：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="mermaid-wrapper"&gt;
&lt;div class="mermaid" style="background: transparent;"&gt;
graph LR
X["输入 X"] --&gt; WG["全局权重 W_G&lt;br/&gt;低秩近似"]
X --&gt; WB["局部权重 W_B&lt;br/&gt;基矩阵组合"]
WG --&gt; SK["Sinkhorn-Knopp&lt;br/&gt;双随机约束"]
WB --&gt; SK2["Sinkhorn-Knopp&lt;br/&gt;双随机约束"]
SK --&gt; MIX["UniMixing 交互"]
SK2 --&gt; MIX
MIX --&gt; OUT["输出"]
style SK fill:#4ecdc4,color:#fff
style SK2 fill:#4ecdc4,color:#fff
style MIX fill:#45b7d1,color:#fff
&lt;/div&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="8-优缺点分析"&gt;8. 优缺点分析&lt;/h2&gt;
&lt;h3 id="81-优势"&gt;8.1 优势&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;理论贡献突出&lt;/strong&gt;：首次将推荐系统三大特征交互范式统一到同一数学框架下，为后续研究提供了清晰的理论基础和统一的对比基准。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;参数效率卓越&lt;/strong&gt;：UniMixer-Lite 以不到一半的参数量超越全参数基线，缩放指数提升 22.3%。这意味着在相同的计算预算下，UniMixer 能获得更大的性能收益。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;设计优雅&lt;/strong&gt;：温度退火 + Sinkhorn-Knopp 约束的组合，使得可学习权重能在保持排列矩阵良好性质的同时，找到最优的混合模式。这种&amp;quot;在约束空间中优化&amp;quot;的思路具有广泛的启发意义。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;工业验证充分&lt;/strong&gt;：在快手广告系统的多个场景中完成部署，离线 AUC +0.814%、在线 30 天 CAD +15% 的效果证明了方案的实际业务价值。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="82-局限与待探索方向"&gt;8.2 局限与待探索方向&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;缩放实验规模有限&lt;/strong&gt;：与 TokenMixer-Large 的 15B 参数实验相比，UniMixer 的缩放验证主要集中在 100M 参数级别。UniMixer-Lite-8B 虽然仍有提升，但增量已经放缓（+0.165% vs +0.158%），更大规模下是否仍能保持优势有待验证。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;计算成本权衡&lt;/strong&gt;：UniMixer 的 FLOPs 显著高于 RankMixer（2.50T vs 1.68T），这意味着参数化带来的性能提升需要以额外的计算开销为代价。在延迟敏感的在线服务场景中，这一权衡需要仔细评估。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;动态权重的缺失&lt;/strong&gt;：UniMixer 使用的是输入无关的静态权重，而注意力机制的核心优势在于动态权重。能否在保持计算效率的前提下引入有限的动态性（如条件化的权重调制），可能是一个有价值的研究方向。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;公开数据集验证缺失&lt;/strong&gt;：论文仅在快手内部数据集上进行了验证，缺乏公开数据集上的对比实验，这限制了社区对结果的复现和验证。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;多任务场景的验证&lt;/strong&gt;：论文主要聚焦在用户留存预测任务上，在其他推荐任务（CTR、CVR、停留时长等）和多任务学习场景下的表现尚待验证。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;与序列建模的结合&lt;/strong&gt;：当前的 UniMixing 主要处理特征间的交互，如何与用户行为序列建模（如 DIN、SIM）有效结合，也是一个值得探索的方向。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="9-未来展望推荐系统架构的大一统趋势"&gt;9. 未来展望：推荐系统架构的&amp;quot;大一统&amp;quot;趋势&lt;/h2&gt;
&lt;h3 id="91-从架构统一到训练范式统一"&gt;9.1 从架构统一到训练范式统一&lt;/h3&gt;
&lt;p&gt;UniMixer 完成了特征交互层面的架构统一。下一步自然是&lt;strong&gt;训练范式的统一&lt;/strong&gt;——能否将 CTR 预估、召回、排序等不同阶段的模型统一到同一个框架下？Spotify 的 NEO 论文已经在搜索与推荐的统一上迈出了一步，而 UniMixer 的统一框架可能为推荐系统内部的多阶段统一提供理论基础。&lt;/p&gt;
&lt;h3 id="92-缩放定律指导资源分配"&gt;9.2 缩放定律指导资源分配&lt;/h3&gt;
&lt;p&gt;UniMixer 建立的缩放定律对比框架，为工业界的模型选型和资源分配提供了量化依据。在实际决策中，团队可以根据缩放指数估算&amp;quot;投入 X 倍计算资源，预期获得 Y% 的性能提升&amp;quot;，从而做出更理性的投资决策。&lt;/p&gt;
&lt;h3 id="93-参数化混合的更广泛应用"&gt;9.3 参数化混合的更广泛应用&lt;/h3&gt;
&lt;p&gt;&amp;ldquo;将规则驱动的操作参数化，同时通过约束保持原始性质&amp;quot;这一思路，可以推广到推荐系统的其他组件——例如特征选择、样本加权、多目标融合等。这些传统上依赖人工规则或简单启发式的模块，都可能从参数化中获益。&lt;/p&gt;
&lt;h3 id="94-深度与效率的帕累托前沿"&gt;9.4 深度与效率的帕累托前沿&lt;/h3&gt;
&lt;p&gt;SiameseNorm 解决了深层训练的稳定性问题，而 UniMixer-Lite 的基矩阵组合和低秩近似则压缩了参数量。未来的研究可以进一步探索：在给定的延迟预算下，如何在模型深度、宽度和稀疏度之间找到最优的帕累托前沿？&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="10-总结"&gt;10. 总结&lt;/h2&gt;
&lt;p&gt;UniMixer 论文的价值不仅在于提出了一个新的推荐系统架构，更在于&lt;strong&gt;建立了一个统一的理论视角&lt;/strong&gt;，让我们重新审视过去十年推荐系统特征交互技术的发展脉络。&lt;/p&gt;
&lt;p&gt;回顾全文：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;三条技术路线的殊途同归&lt;/strong&gt;：注意力机制、TokenMixer 和因式分解机看似是三种截然不同的特征交互方式，但在 UniMixing 框架下只是全局权重和局部模式的不同选择&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;参数化带来的红利&lt;/strong&gt;：将规则驱动的 TokenMixer 转化为可学习的参数化形式，配合温度退火和 Sinkhorn-Knopp 约束，实现了更高效的缩放&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;从理论到实践的闭环&lt;/strong&gt;：统一框架不仅具有理论美感，更通过 UniMixer-Lite 和 SiameseNorm 的工程设计转化为实际的性能收益&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;在推荐系统向大模型时代迈进的过程中，UniMixer 提供了一个重要的启示：&lt;strong&gt;真正的扩展效率提升，往往不是来自简单地堆叠更多参数，而是来自对架构本质的深刻理解&lt;/strong&gt;。当我们理解了&amp;quot;为什么这样做有效&amp;rdquo;，才能找到&amp;quot;如何做得更高效&amp;quot;的答案。&lt;/p&gt;</description></item><item><title>NEO：用统一语言模型重新定义搜索、推荐与推理</title><link>https://dingyadong.top/posts/012_neo_unified_lm_search_rec/</link><pubDate>Thu, 02 Apr 2026 21:00:00 +0800</pubDate><guid>https://dingyadong.top/posts/012_neo_unified_lm_search_rec/</guid><description>
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;本文是关于 Spotify 团队论文《A Unified Language Model for Large Scale Search, Recommendation, and Reasoning》（
）的深度精读笔记。这篇论文提出了 NEO 框架，将预训练 LLM 改造为无需外部工具、目录受限的生成模型，在超过 1000 万物品的工业级目录上统一了推荐、搜索和用户理解等多种发现任务。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="1-引言搜索与推荐的大一统时刻"&gt;1. 引言：搜索与推荐的&amp;quot;大一统&amp;quot;时刻&lt;/h2&gt;
&lt;h3 id="11-搜索和推荐的传统割裂"&gt;1.1 搜索和推荐的传统割裂&lt;/h3&gt;
&lt;p&gt;在大多数互联网公司中，搜索和推荐是两个独立的系统。搜索系统接收用户的文本查询，通过倒排索引或向量检索返回匹配结果；推荐系统则基于用户历史行为，通过协同过滤或深度模型预测用户可能感兴趣的内容。两者在数据管线、模型架构、评估体系上几乎完全独立。&lt;/p&gt;
&lt;p&gt;这种割裂带来了显而易见的问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;重复建设&lt;/strong&gt;：搜索和推荐分别维护独立的特征工程、模型训练、在线服务系统&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;知识无法共享&lt;/strong&gt;：用户在搜索中表达的意图信息无法被推荐系统利用，反之亦然&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;体验不一致&lt;/strong&gt;：用户在搜索和推荐中看到的内容可能存在风格和质量的割裂&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;多模态支持困难&lt;/strong&gt;：当目录中包含多种类型的实体（歌曲、播客、有声书、艺术家），每种实体需要独立的处理管线&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="12-llm-带来的新可能"&gt;1.2 LLM 带来的新可能&lt;/h3&gt;
&lt;p&gt;大语言模型（LLM）的崛起让人们看到了统一这些任务的可能性。LLM 天然具备以下能力：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;语言可控性&lt;/strong&gt;：通过自然语言指令控制任务类型、输出格式&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;多任务学习&lt;/strong&gt;：在统一的 next-token prediction 框架下训练多种任务&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;泛化能力&lt;/strong&gt;：预训练知识可以迁移到下游任务&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;但将 LLM 直接用于工业级推荐/搜索面临一个核心困难：&lt;strong&gt;LLM 的输出是自然语言文本，而推荐/搜索需要输出的是明确、无歧义的目录物品&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;这个鸿沟具体体现为：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;方案&lt;/th&gt;
&lt;th&gt;问题&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;纯文本输出物品名称&lt;/td&gt;
&lt;td&gt;歧义（同名物品）、不稳定（hallucination）、无法保证目录有效性&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;向量嵌入方式&lt;/td&gt;
&lt;td&gt;需要修改模型架构，破坏预训练知识&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;工具增强（先生成查询再检索）&lt;/td&gt;
&lt;td&gt;增加编排复杂度和延迟，引入级联误差&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="13-neo-的核心洞察"&gt;1.3 NEO 的核心洞察&lt;/h3&gt;
&lt;p&gt;NEO 的核心洞察在于：&lt;strong&gt;可以将目录物品表示为一种新的&amp;quot;语言&amp;quot;——语义标识符（Semantic Identifiers, SIDs），让 LLM 在自然语言和物品标识符之间自由切换&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;这种设计的精妙之处在于：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SID 是离散 token，完全兼容 LLM 的 next-token prediction 范式&lt;/li&gt;
&lt;li&gt;SID 保持了语义邻域结构，语义相近的物品有相似的 SID&lt;/li&gt;
&lt;li&gt;通过约束解码（Constrained Decoding）保证生成的 SID 一定对应真实目录物品&lt;/li&gt;
&lt;li&gt;自然语言指令可以控制任务类型、目标实体类型和输出格式&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;一个直观的类比：如果说 LLM 学会了&amp;quot;说人话&amp;quot;，那么 NEO 就是让 LLM 同时学会了&amp;quot;说人话&amp;quot;和&amp;quot;说物品话&amp;quot;，并且能在两种语言之间自由切换。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="2-方法论三阶段训练框架"&gt;2. 方法论：三阶段训练框架&lt;/h2&gt;
&lt;p&gt;NEO 的方法论可以概括为一个三阶段训练框架（论文中描述为四阶段，但第四阶段留作未来工作）：&lt;/p&gt;
&lt;div class="mermaid-wrapper"&gt;
&lt;div class="mermaid" style="background: transparent;"&gt;
graph LR
S1["阶段一&lt;br/&gt;语义基础&lt;br/&gt;构建 SID"] --&gt; S2["阶段二&lt;br/&gt;领域对齐&lt;br/&gt;SID ↔ 文本"]
S2 --&gt; S3["阶段三&lt;br/&gt;能力注入&lt;br/&gt;多任务指令微调"]
S3 -.-&gt; S4["阶段四&lt;br/&gt;任务特化&lt;br/&gt;（未来工作）"]
style S1 fill:#4ecdc4,color:#fff
style S2 fill:#45b7d1,color:#fff
style S3 fill:#f7dc6f,color:#333
style S4 fill:#ccc,color:#666
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="21-阶段一语义标识符sid的构建"&gt;2.1 阶段一：语义标识符（SID）的构建&lt;/h3&gt;
&lt;h4 id="什么是-sid"&gt;什么是 SID？&lt;/h4&gt;
&lt;p&gt;SID 是将目录中每个物品映射为一个短的离散 token 序列的方法。具体来说，每个物品 $e$ 被表示为 $SID(e) = (c_1, c_2, ..., c_M)$，其中每个 $c_i$ 来自一个大小为 $K$ 的码本。&lt;/p&gt;
&lt;p&gt;NEO 使用 &lt;strong&gt;残差 K-means 量化（Residual K-means）&lt;/strong&gt; 来构建 SID，这是一种层级化的向量量化方法：&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Figure 1: SID Generation Pipeline - From Items to Semantic Identifiers"
srcset="https://dingyadong.top/posts/012_neo_unified_lm_search_rec/figure_sid_generation_hu_a90a2c68556c56e5.webp 320w, https://dingyadong.top/posts/012_neo_unified_lm_search_rec/figure_sid_generation_hu_927c031cff0b81f2.webp 480w, https://dingyadong.top/posts/012_neo_unified_lm_search_rec/figure_sid_generation_hu_f932a40cff4efb8b.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/012_neo_unified_lm_search_rec/figure_sid_generation_hu_a90a2c68556c56e5.webp"
width="760"
height="507"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;首先将物品的内容嵌入（content embedding）通过第一个码本量化，捕获粗粒度的语义区域&lt;/li&gt;
&lt;li&gt;计算残差（原始向量 - 量化向量），用第二个码本量化残差&lt;/li&gt;
&lt;li&gt;重复这一过程 $M$ 次，逐步精细化表示&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这种残差量化方式产生了&lt;strong&gt;从粗到细的层级结构&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;第一个 token：大的语义类别（如&amp;quot;喜剧播客&amp;quot;）&lt;/li&gt;
&lt;li&gt;第二个 token：细分领域（如&amp;quot;科技脱口秀&amp;quot;）&lt;/li&gt;
&lt;li&gt;第三、四个 token：进一步区分具体物品&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="neo-的具体配置"&gt;NEO 的具体配置&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;实体类型&lt;/th&gt;
&lt;th&gt;嵌入来源&lt;/th&gt;
&lt;th&gt;码本数 M&lt;/th&gt;
&lt;th&gt;码本大小 K&lt;/th&gt;
&lt;th&gt;SID 长度&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;艺术家&lt;/td&gt;
&lt;td&gt;音频频谱嵌入（track 级聚合）&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;1024&lt;/td&gt;
&lt;td&gt;4 tokens&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;节目/剧集/有声书&lt;/td&gt;
&lt;td&gt;Qwen3 Embedding (8B) 文本嵌入&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;256&lt;/td&gt;
&lt;td&gt;4 tokens&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;几个关键设计决策值得注意：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;为什么艺术家用音频嵌入而非文本嵌入？&lt;/strong&gt; 因为艺术家的核心特征是其音乐风格，而音乐风格最好通过音频信号来捕捉。文本描述（如艺术家简介）往往不能充分反映其音乐特征。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;为什么艺术家的码本更大（K=1024 vs K=256）？&lt;/strong&gt; 音频嵌入空间的复杂度更高，需要更大的码本来保持足够的区分度。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;为什么不同实体类型使用独立的量化器？&lt;/strong&gt; 不同类型的物品可能存在于不同的潜在空间中（音频 vs 文本），强制使用同一个量化器会损害表示质量。&lt;/p&gt;
&lt;h4 id="数据增强的重要性"&gt;数据增强的重要性&lt;/h4&gt;
&lt;p&gt;论文特别提到了一个实用的工程经验：剧集的文本描述往往很短或重复性高（如&amp;quot;第 42 集&amp;quot;），直接用这些低质量文本生成的嵌入会导致大量 SID 碰撞。解决方案是使用 LLM 从多个元数据字段生成增强的描述，显著改善了 SID 的区分度。&lt;/p&gt;
&lt;p&gt;消融实验表明，不使用数据增强会导致 HR@10 下降 2.9%。虽然看起来不大，但在工业级系统中，这个差距意味着数百万用户的体验差异。&lt;/p&gt;
&lt;h4 id="与-llm-词表的融合"&gt;与 LLM 词表的融合&lt;/h4&gt;
&lt;p&gt;SID 构建完成后，需要将其整合到 LLM 的词表中：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;扩展词表：$V = V_{text} \cup V_{SID}$&lt;/li&gt;
&lt;li&gt;新增 $M \times K$ 个 SID token（随机初始化）+ 2 个定界符 &lt;code&gt;[SID]&lt;/code&gt; 和 &lt;code&gt;[/SID]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;NEO 实际新增了 &lt;strong&gt;7,170 个 token&lt;/strong&gt;（3 种文本实体 × 4 × 256 + 1 种音频实体 × 4 × 1024 + 2 个定界符 = 3072 + 4096 + 2）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;序列格式采用定界符约定：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;⟨自然语言文本⟩ [SID] ⟨c₁ c₂ c₃ c₄⟩ [/SID] ⟨自然语言文本⟩
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这种设计使得模型可以在一个序列中自由交织自然语言和物品引用。&lt;/p&gt;
&lt;h3 id="22-阶段二领域对齐domain-grounding"&gt;2.2 阶段二：领域对齐（Domain Grounding）&lt;/h3&gt;
&lt;h4 id="核心问题"&gt;核心问题&lt;/h4&gt;
&lt;p&gt;阶段一生成的 SID token 是随机初始化的，与 LLM 预训练的文本嵌入空间没有任何关联。如果直接进行下游任务训练，模型需要同时学习&amp;quot;SID 是什么&amp;quot;和&amp;quot;如何用 SID 完成任务&amp;quot;，这两个目标的耦合会严重影响学习效率。&lt;/p&gt;
&lt;h4 id="三种对齐目标"&gt;三种对齐目标&lt;/h4&gt;
&lt;p&gt;NEO 设计了三种互补的对齐目标，建立 SID 和自然语言之间的双向映射：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. SID → 文本（语言化）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;给定一个 SID，预测其对应的自然语言描述：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;输入：这个 [SID] ⟨c₁c₂c₃c₄⟩ [/SID] 是什么？
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;输出：这是一档科技脱口秀节目，由...主持，讨论...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2. 文本 → SID（受限检索）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;给定自然语言查询，预测对应物品的 SID：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;输入：找到名为&amp;#34;The Daily&amp;#34;的新闻播客
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;输出：[SID] ⟨c₁c₂c₃c₄⟩ [/SID]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;3. SID → 类型（类型消歧）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;给定一个 SID，预测其实体类型：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;输入：这个 [SID] ⟨c₁c₂c₃c₄⟩ [/SID] 是什么类型？
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;输出：播客节目
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="参数化策略防止灾难性遗忘"&gt;参数化策略：防止灾难性遗忘&lt;/h4&gt;
&lt;p&gt;这个阶段的训练策略非常谨慎：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;冻结预训练骨干网络的所有参数&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;只优化新引入的 SID token 嵌入&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;只优化 LLM 输出头中与 SID 相关的 logits&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这种策略的好处是在建立 SID-文本映射的同时，完全保留了 LLM 的语言能力。论文的消融实验证明，这一设计至关重要：跳过对齐阶段会导致下游任务性能下降 6-8%，而将对齐和任务训练合并为一个阶段则会导致 7-10% 的下降。&lt;/p&gt;
&lt;h4 id="对齐数据"&gt;对齐数据&lt;/h4&gt;
&lt;p&gt;对齐阶段使用约 &lt;strong&gt;500 万条&lt;/strong&gt;配对数据，包括物品标题、描述、摘要、话题、类别、风格、维基百科片段等多种文本信息与 SID 的配对。&lt;/p&gt;
&lt;h3 id="23-阶段三多任务指令微调"&gt;2.3 阶段三：多任务指令微调&lt;/h3&gt;
&lt;h4 id="训练设置"&gt;训练设置&lt;/h4&gt;
&lt;p&gt;这一阶段解冻所有参数，在统一词表上进行有监督的指令微调。训练集规模达到 &lt;strong&gt;1000 万条&lt;/strong&gt;，覆盖以下四大类任务：&lt;/p&gt;
&lt;h4 id="任务一下一物品推荐"&gt;任务一：下一物品推荐&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;指令：Based on this user&amp;#39;s recent listening history, recommend the next
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; podcast episode they would enjoy.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;上下文：User has listened to [SID]⟨...⟩[/SID], [SID]⟨...⟩[/SID], ...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;输出：[SID]⟨c₁c₂c₃c₄⟩[/SID]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;给定用户历史交互序列（以 SID 表示），预测用户下一个可能消费的物品。这是最经典的推荐任务。&lt;/p&gt;
&lt;h4 id="任务二文本检索"&gt;任务二：文本检索&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;指令：Find the audiobook that best matches this search query.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;查询：&amp;#34;a thriller about artificial intelligence taking over&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;输出：[SID]⟨c₁c₂c₃c₄⟩[/SID]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;给定自然语言查询（可选地结合用户上下文），生成最相关物品的 SID。这对应传统的搜索检索任务。&lt;/p&gt;
&lt;h4 id="任务三推荐解释recsplanation"&gt;任务三：推荐解释（Recsplanation）&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;指令：Recommend a show for this user and explain why.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;上下文：User has listened to [SID]⟨...⟩[/SID], [SID]⟨...⟩[/SID], ...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;输出：I recommend [SID]⟨c₁c₂c₃c₄⟩[/SID] because based on your
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; interest in true crime podcasts and investigative journalism,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; this show offers...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这是一个混合生成任务：模型需要同时生成推荐物品的 SID 和自然语言解释。这是 NEO 的独特贡献之一——传统系统要么只能推荐物品（没有解释），要么需要额外的解释生成模块。&lt;/p&gt;
&lt;h4 id="任务四用户理解interest-profiling"&gt;任务四：用户理解（Interest Profiling）&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;指令：Describe this user&amp;#39;s interests based on their listening history.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;上下文：User has listened to [SID]⟨...⟩[/SID], [SID]⟨...⟩[/SID], ...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;输出：This user shows a strong interest in technology and science
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; podcasts, particularly those discussing AI and machine learning.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; They also enjoy...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;从用户的 SID 交互历史中生成自然语言的兴趣画像。这个任务没有现成的标注数据，NEO 使用了一个巧妙的方案——&lt;strong&gt;从更大的 LLM（32B 参数）蒸馏&lt;/strong&gt;：先用大模型读取物品文本描述生成兴趣摘要，然后训练 NEO 直接从 SID 历史生成同样的摘要。&lt;/p&gt;
&lt;h4 id="指令模板设计"&gt;指令模板设计&lt;/h4&gt;
&lt;p&gt;论文使用了 20 种不同的指令模板，随机选择并填入用户信息。指令模板显式指定：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;任务类型&lt;/strong&gt;：推荐、检索、解释、用户理解&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;目标实体类型&lt;/strong&gt;：剧集、节目、有声书、艺术家&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;输出格式&lt;/strong&gt;：纯 SID、纯文本、或混合格式&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这种设计使模型具备了&lt;strong&gt;语言可控性（Language Steerability）&lt;/strong&gt;——通过改变指令就可以控制模型的行为，而无需训练不同的模型。&lt;/p&gt;
&lt;h3 id="24-推理约束解码"&gt;2.4 推理：约束解码&lt;/h3&gt;
&lt;h4 id="组合爆炸的挑战"&gt;组合爆炸的挑战&lt;/h4&gt;
&lt;p&gt;4 个 token、每个 token 有 256 种选择，意味着约 43 亿（$256^4$）种可能的 SID 组合。但实际目录中只有约 1000 万个有效物品。如果不加约束，模型可能生成不存在于目录中的 SID。&lt;/p&gt;
&lt;h4 id="trie-约束解码"&gt;Trie 约束解码&lt;/h4&gt;
&lt;p&gt;NEO 采用 &lt;strong&gt;前缀 Trie（Prefix Trie）&lt;/strong&gt; 进行约束解码：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;预先计算所有有效 SID 元组&lt;/li&gt;
&lt;li&gt;构建前缀 Trie 数据结构&lt;/li&gt;
&lt;li&gt;在 &lt;code&gt;[SID]...[/SID]&lt;/code&gt; 跨度内，每一步只允许 Trie 中合法的后续 token&lt;/li&gt;
&lt;li&gt;在自由文本区域不施加约束&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="mermaid-wrapper"&gt;
&lt;div class="mermaid" style="background: transparent;"&gt;
graph TD
Root["根节点"] --&gt; A1["c₁=5"]
Root --&gt; A2["c₁=12"]
Root --&gt; A3["c₁=..."]
A1 --&gt; B1["c₂=3"]
A1 --&gt; B2["c₂=87"]
A2 --&gt; B3["c₂=3"]
A2 --&gt; B4["c₂=45"]
B1 --&gt; C1["c₃=22"]
B1 --&gt; C2["c₃=156"]
C1 --&gt; D1["c₄=7 ✓ Item A"]
C1 --&gt; D2["c₄=200 ✓ Item B"]
style D1 fill:#4ecdc4,color:#fff
style D2 fill:#4ecdc4,color:#fff
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;图：Trie 约束解码示意。&lt;/strong&gt; 每一步解码只在 Trie 的合法子节点中选择，确保最终生成的 SID 对应真实目录物品。&lt;/p&gt;
&lt;h4 id="碰撞处理"&gt;碰撞处理&lt;/h4&gt;
&lt;p&gt;多个物品可能共享同一个 SID（因为量化不可避免地引入信息损失）。NEO 使用基于流行度的启发式方法：将每个 SID 映射到其中最流行的物品。实验表明碰撞在推理时很少发生，随机碰撞解析与流行度解析没有显著差异。&lt;/p&gt;
&lt;h4 id="性能开销"&gt;性能开销&lt;/h4&gt;
&lt;p&gt;约束解码带来的延迟开销非常小（&amp;lt;5%），但提供了额外的灵活性——例如可以在推理时动态限制只生成特定子集的物品（如新上线内容）。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="3-实验设置"&gt;3. 实验设置&lt;/h2&gt;
&lt;h3 id="31-数据集与规模"&gt;3.1 数据集与规模&lt;/h3&gt;
&lt;p&gt;NEO 在 Spotify 的真实数据集上进行评估：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;维度&lt;/th&gt;
&lt;th&gt;规模&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;目录物品数&lt;/td&gt;
&lt;td&gt;&amp;gt;1000 万&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;物品类型&lt;/td&gt;
&lt;td&gt;剧集、节目、有声书、艺术家&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;用户数&lt;/td&gt;
&lt;td&gt;~1500 万&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;对齐训练数据&lt;/td&gt;
&lt;td&gt;~500 万条&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;任务训练数据&lt;/td&gt;
&lt;td&gt;1000 万条&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;测试数据&lt;/td&gt;
&lt;td&gt;~10 万条&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="32-评估协议"&gt;3.2 评估协议&lt;/h3&gt;
&lt;p&gt;NEO 采用&lt;strong&gt;全局时间评估协议（Global Temporal Evaluation）&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;上下文：截至第 $t$ 天的交互历史&lt;/li&gt;
&lt;li&gt;标签：第 $t+k$ 天的消费物品（剧集/节目 $k=1$，有声书 $k=7$）&lt;/li&gt;
&lt;li&gt;评估时间点：$t+2k$&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这种协议确保了评估的真实性——模型在训练时永远看不到评估时间段的数据。&lt;/p&gt;
&lt;h3 id="33-基线系统"&gt;3.3 基线系统&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;推荐基线：&lt;/strong&gt; 基于图神经网络（GNN）的双塔架构，融合了：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;跨物品类型的共同消费关系&lt;/li&gt;
&lt;li&gt;弱信号（关注、预览等）用于冷启动&lt;/li&gt;
&lt;li&gt;类别特征（分类、话题、用户国家）&lt;/li&gt;
&lt;li&gt;LLM 编码的物品元数据&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这是一个相当强的工业级基线，而非简单的学术 baseline。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;检索基线：&lt;/strong&gt; 密集检索系统，包含：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;查询编码器处理文本位置和搜索查询&lt;/li&gt;
&lt;li&gt;实体编码器表示物品元数据&lt;/li&gt;
&lt;li&gt;训练数据来自搜索日志、多步重写会话、人工策划和合成查询&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="34-评估指标"&gt;3.4 评估指标&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;HR@K（Hit Rate@K）&lt;/strong&gt;：前 K 个推荐中包含目标物品的比例&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NDCG@K（Normalized Discounted Cumulative Gain@K）&lt;/strong&gt;：考虑排序位置的指标&lt;/li&gt;
&lt;li&gt;$K \in \{10, 30\}$&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="4-实验结果与分析"&gt;4. 实验结果与分析&lt;/h2&gt;
&lt;h3 id="41-主要结果neo-全面超越强基线"&gt;4.1 主要结果：NEO 全面超越强基线&lt;/h3&gt;
&lt;p&gt;NEO 在推荐和检索任务上均显著超越了各自的强基线：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;推荐任务（下一物品预测）：&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;维度&lt;/th&gt;
&lt;th&gt;NEO 相对提升&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;HR@10&lt;/td&gt;
&lt;td&gt;+20% ~ +58%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NDCG@10&lt;/td&gt;
&lt;td&gt;+46% ~ +97%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;覆盖实体类型&lt;/td&gt;
&lt;td&gt;剧集（+57%）、有声书（+36%&lt;del&gt;+46%）、节目（+20%&lt;/del&gt;+24%）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;文本检索任务：&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;维度&lt;/th&gt;
&lt;th&gt;NEO 相对提升&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;HR@10&lt;/td&gt;
&lt;td&gt;+26% ~ +47%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;细粒度实体（剧集）&lt;/td&gt;
&lt;td&gt;+40%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;多步搜索会话&lt;/td&gt;
&lt;td&gt;HR@10 +185%，NDCG@10 +243%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;几个值得注意的发现：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;NDCG 的提升幅度远大于 HR&lt;/strong&gt;：这意味着 NEO 不仅能把正确的物品放进 top-K，还能把它排到更靠前的位置&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;细粒度实体收益更大&lt;/strong&gt;：剧集（最细粒度）的提升比节目（较粗粒度）更显著，说明 SID 的层级结构在区分细粒度物品时特别有效&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;多步搜索会话的巨大提升&lt;/strong&gt;：在用户需要多次重写查询才能找到目标的场景中，NEO 的优势最为明显（HR@10 +185%，NDCG@10 +243%），这很可能是因为 NEO 能更好地理解用户的搜索意图&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="42-多任务学习正向迁移"&gt;4.2 多任务学习：正向迁移&lt;/h3&gt;
&lt;p&gt;这是 NEO 最令人兴奋的发现之一：&lt;strong&gt;联合训练多种任务不仅没有互相伤害，反而产生了正向的跨任务迁移&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;具体而言，同时训练推荐、检索、解释和用户理解任务时，每个任务的性能都不低于（甚至优于）单独训练的结果。这意味着：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;检索任务的文本理解能力帮助了推荐任务&lt;/li&gt;
&lt;li&gt;推荐任务的用户行为建模能力帮助了检索任务&lt;/li&gt;
&lt;li&gt;解释和用户理解任务作为辅助目标，进一步强化了模型的语义理解&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这一结果支持了 NEO 的核心假设：搜索、推荐和用户理解不是孤立的任务，它们共享底层的用户意图和物品语义理解能力。&lt;/p&gt;
&lt;h3 id="43-语义基础消融sid-设计的每个决策都很重要"&gt;4.3 语义基础消融：SID 设计的每个决策都很重要&lt;/h3&gt;
&lt;p&gt;论文通过详尽的消融实验验证了 SID 设计中每个决策的影响：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;消融实验&lt;/th&gt;
&lt;th&gt;HR@10 变化&lt;/th&gt;
&lt;th&gt;核心发现&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;原子 ID（随机打乱 SID）&lt;/td&gt;
&lt;td&gt;-59.7%&lt;/td&gt;
&lt;td&gt;语义结构至关重要&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LSH 量化（数据无关）&lt;/td&gt;
&lt;td&gt;-51.2%&lt;/td&gt;
&lt;td&gt;学习型量化显著优于随机投影&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;无数据增强&lt;/td&gt;
&lt;td&gt;-2.9%&lt;/td&gt;
&lt;td&gt;元数据质量影响 SID 质量&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;协同过滤嵌入&lt;/td&gt;
&lt;td&gt;-25.6%&lt;/td&gt;
&lt;td&gt;内容嵌入优于协同过滤嵌入&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;让我逐一分析这些结果：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;原子 ID vs SID（-59.7%）：&lt;/strong&gt; 这是最关键的消融。通过随机排列 SID 元组（保持码本长度和词表大小不变，但破坏语义邻域结构），性能暴跌近 60%。这证明了 SID 的语义结构（而非仅仅是离散编码形式）才是性能提升的核心来源。在语义 SID 下，模型学到的不仅仅是&amp;quot;这个 ID 对应这个物品&amp;quot;，更是&amp;quot;这个 ID 的前缀代表这类物品&amp;quot;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;LSH vs 学习型量化（-51.2%）：&lt;/strong&gt; LSH（Locality-Sensitive Hashing）是一种数据无关的随机投影量化方法。虽然 LSH 也能在一定程度上保持语义邻域，但与数据自适应的残差 K-means 相比差距巨大。这说明量化器需要适应数据的实际分布，而不能依赖通用的随机投影。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;协同过滤 vs 内容嵌入（-25.6%）：&lt;/strong&gt; 这个结果有些反直觉。在传统推荐系统中，协同过滤信号通常被认为比内容信号更强。但在 NEO 的框架下，基于协同过滤的 SID 表现明显更差。论文解释了原因：协同过滤信号（基于播放列表共现的 word2vec）存在&lt;strong&gt;时间不稳定性&lt;/strong&gt;——用户的共现模式随时间变化剧烈，导致 SID 无法保持一致的语义结构。相比之下，内容嵌入（音频特征、文本描述）更加稳定，更适合作为长期有效的标识符。&lt;/p&gt;
&lt;h3 id="44-领域对齐策略分阶段-vs-端到端"&gt;4.4 领域对齐策略：分阶段 vs 端到端&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;策略&lt;/th&gt;
&lt;th&gt;HR 变化&lt;/th&gt;
&lt;th&gt;NDCG 变化&lt;/th&gt;
&lt;th&gt;MMLU-Redux&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;NEO（三阶段）&lt;/td&gt;
&lt;td&gt;基准&lt;/td&gt;
&lt;td&gt;基准&lt;/td&gt;
&lt;td&gt;0.46&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;无领域对齐&lt;/td&gt;
&lt;td&gt;-6%~-7%&lt;/td&gt;
&lt;td&gt;-8%&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;两阶段合并&lt;/td&gt;
&lt;td&gt;-7%~-8%&lt;/td&gt;
&lt;td&gt;-10%&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;随机初始化（不用预训练）&lt;/td&gt;
&lt;td&gt;-43%~-44%&lt;/td&gt;
&lt;td&gt;-43%~-44%&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;持续预训练（CPT）&lt;/td&gt;
&lt;td&gt;-2%~-3%&lt;/td&gt;
&lt;td&gt;-2%~-3%&lt;/td&gt;
&lt;td&gt;0.03&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;最引人注目的是最后一行：&lt;strong&gt;持续预训练（CPT）&lt;/strong&gt; 方法在下游任务上只比 NEO 差 2-3%，看起来差距不大。但它在语言能力保留上的灾难性表现揭示了一个关键权衡：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;NEO&lt;/strong&gt; 的 MMLU-Redux 得分保持在 &lt;strong&gt;0.46&lt;/strong&gt;（接近原始预训练模型）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CPT&lt;/strong&gt; 的 MMLU-Redux 得分暴跌至 &lt;strong&gt;0.03&lt;/strong&gt;（几乎丧失了语言理解能力）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这意味着 CPT 方法虽然学会了处理 SID，但代价是&amp;quot;忘记了怎么说人话&amp;quot;。对于只需要输出 SID 的纯推荐任务，这也许可以接受。但 NEO 的目标是同时支持推荐、检索、解释和用户理解——这些任务都需要强大的语言能力。&lt;strong&gt;NEO 的分阶段策略实现了 SID 能力和语言能力的最佳平衡&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id="45-约束解码分析"&gt;4.5 约束解码分析&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;推理策略&lt;/th&gt;
&lt;th&gt;ΔHR@10&lt;/th&gt;
&lt;th&gt;ΔHR@30&lt;/th&gt;
&lt;th&gt;延迟变化&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;NEO（Trie 约束 + Beam Search）&lt;/td&gt;
&lt;td&gt;基准&lt;/td&gt;
&lt;td&gt;基准&lt;/td&gt;
&lt;td&gt;基准&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Beam Search 无约束&lt;/td&gt;
&lt;td&gt;-1.80%&lt;/td&gt;
&lt;td&gt;-1.93%&lt;/td&gt;
&lt;td&gt;-2.92%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Top-p 采样&lt;/td&gt;
&lt;td&gt;-21.97%&lt;/td&gt;
&lt;td&gt;-32.41%&lt;/td&gt;
&lt;td&gt;-7.91%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;一个有趣的发现是：&lt;strong&gt;即使不加约束，模型也能在 98% 的情况下生成有效的 SID&lt;/strong&gt;。这说明经过充分的对齐和任务训练后，模型已经&amp;quot;内化&amp;quot;了目录结构。约束解码提供的更多是一种&amp;quot;安全网&amp;quot;，同时支持推理时的灵活控制（如限制输出范围到特定子集）。&lt;/p&gt;
&lt;p&gt;Top-p 采样的大幅退化（-22%~-32%）则表明，在 SID 生成任务中，贪心/束搜索策略远优于随机采样。这与直觉一致——物品推荐需要的是精确匹配而非创造性多样性。&lt;/p&gt;
&lt;h3 id="46-文本生成质量"&gt;4.6 文本生成质量&lt;/h3&gt;
&lt;p&gt;NEO 不仅能生成 SID，还能生成高质量的自然语言文本。使用 GPT-4o-mini 作为评判的评估结果：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;维度&lt;/th&gt;
&lt;th&gt;评分（满分 5 分）&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;覆盖度（Coverage）&lt;/td&gt;
&lt;td&gt;3.5 ~ 4.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;接地性（Groundedness）&lt;/td&gt;
&lt;td&gt;3.5 ~ 4.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;忠实度（Faithfulness）&lt;/td&gt;
&lt;td&gt;3.5 ~ 4.7&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;这表明 NEO 的文本生成能力在推荐解释和用户画像任务中达到了实用水平。&lt;/p&gt;
&lt;h3 id="47-框架通用性验证"&gt;4.7 框架通用性验证&lt;/h3&gt;
&lt;p&gt;NEO 不仅在 Qwen3-0.6B 上有效，在 &lt;strong&gt;Llama 3.2 1B&lt;/strong&gt; 上也得到了验证——领域对齐阶段即带来约 &lt;strong&gt;18%&lt;/strong&gt; 的文本检索性能提升。这证明 NEO 是一个框架级的贡献，而非特定于某个模型的优化。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="5-深度思考neo-的设计哲学与启示"&gt;5. 深度思考：NEO 的设计哲学与启示&lt;/h2&gt;
&lt;h3 id="51-新模态范式-vs-工具增强范式"&gt;5.1 &amp;ldquo;新模态&amp;quot;范式 vs &amp;ldquo;工具增强&amp;quot;范式&lt;/h3&gt;
&lt;p&gt;在 LLM 与推荐系统结合的研究中，存在两大流派：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;工具增强范式&lt;/strong&gt;：LLM 通过调用外部工具（检索器、排序器）来完成推荐任务。代表工作包括 TalkPlay-tools、RecMind 等。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;新模态范式&lt;/strong&gt;：将物品标识符作为一种新的&amp;quot;语言模态&amp;quot;直接融入 LLM。NEO 属于这一范式。&lt;/p&gt;
&lt;p&gt;NEO 的实验结果强力支持了新模态范式的优越性：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;维度&lt;/th&gt;
&lt;th&gt;工具增强&lt;/th&gt;
&lt;th&gt;新模态（NEO）&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;延迟&lt;/td&gt;
&lt;td&gt;高（多次 API 调用）&lt;/td&gt;
&lt;td&gt;低（单次前向传播）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;级联误差&lt;/td&gt;
&lt;td&gt;有（工具错误传播）&lt;/td&gt;
&lt;td&gt;无（端到端生成）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;架构复杂度&lt;/td&gt;
&lt;td&gt;高（需要编排层）&lt;/td&gt;
&lt;td&gt;低（标准 Transformer）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;文本-物品交织&lt;/td&gt;
&lt;td&gt;困难&lt;/td&gt;
&lt;td&gt;自然&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;可解释性&lt;/td&gt;
&lt;td&gt;有限&lt;/td&gt;
&lt;td&gt;内生（同一模型生成解释）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="52-语义-id-的哲学意义"&gt;5.2 语义 ID 的哲学意义&lt;/h3&gt;
&lt;p&gt;SID 的设计体现了一个深刻的洞察：&lt;strong&gt;在离散符号系统（语言）和连续表示空间（嵌入）之间存在一个最佳的折中点&lt;/strong&gt;。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;纯文本表示：完全离散，人类可读，但有歧义&lt;/li&gt;
&lt;li&gt;纯嵌入表示：完全连续，信息丰富，但不兼容自回归生成&lt;/li&gt;
&lt;li&gt;SID：离散但保持语义结构，兼容自回归生成，且无歧义&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这种&amp;quot;结构化离散表示&amp;quot;的理念可能超越推荐系统，适用于任何需要 LLM 操作大规模离散目录的场景——比如代码补全（代码库中的函数/类）、知识图谱推理（实体/关系）、甚至分子生成（化合物库）。&lt;/p&gt;
&lt;h3 id="53-冷启动与长尾理论优势与现实挑战"&gt;5.3 冷启动与长尾：理论优势与现实挑战&lt;/h3&gt;
&lt;p&gt;SID 的语义结构在理论上具备冷启动优势：语义相近的物品共享 SID 前缀，即使新物品从未出现在训练数据中，只要其 SID 前缀对应的语义区域已被学习，模型就能做出一定的预测。这与原子 ID 形成鲜明对比——原子 ID 对未见物品完全无能为力。&lt;/p&gt;
&lt;p&gt;但论文的实验数据也揭示了一个重要的现实：&lt;strong&gt;在用户冷启动场景（移除历史行为信息，只依赖用户元数据）下，NEO 的性能会大幅下降（HR@10 约 -48%）&lt;/strong&gt;。这说明 SID 虽然缓解了物品侧的冷启动问题，但用户侧的冷启动仍然是一个巨大挑战——没有足够的行为历史，模型很难准确预测用户兴趣。&lt;/p&gt;
&lt;p&gt;这提醒我们：&lt;strong&gt;SID 不是冷启动的&amp;quot;银弹&amp;rdquo;&lt;/strong&gt;。在实际部署中，新用户仍然需要通过偏好探索（exploration）、显式偏好收集等机制来积累足够的信号。&lt;/p&gt;
&lt;h3 id="54-scaling-的潜力"&gt;5.4 Scaling 的潜力&lt;/h3&gt;
&lt;p&gt;NEO 当前使用的是 &lt;strong&gt;Qwen3-0.6B&lt;/strong&gt;——一个仅有 6 亿参数的&amp;quot;小&amp;quot;模型。考虑到 LLM 领域的 Scaling Law，一个自然的问题是：更大的模型（如 7B、70B）会带来多大的提升？&lt;/p&gt;
&lt;p&gt;论文没有直接回答这个问题，但几个间接证据暗示了巨大的 Scaling 潜力：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;从随机初始化训练导致 43-44% 的性能下降，说明预训练知识非常重要&lt;/li&gt;
&lt;li&gt;使用 Llama 3.2 1B（稍大的模型）也能获得显著提升&lt;/li&gt;
&lt;li&gt;多任务训练展现正向迁移，暗示更大的模型容量可以支持更多任务&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="55-与行业趋势的关系"&gt;5.5 与行业趋势的关系&lt;/h3&gt;
&lt;p&gt;NEO 的出现并非孤立事件，它是整个行业&amp;quot;推荐系统基础模型化&amp;quot;趋势的一部分。我们可以将其与其他重要工作进行对比：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;工作&lt;/th&gt;
&lt;th&gt;公司&lt;/th&gt;
&lt;th&gt;核心思路&lt;/th&gt;
&lt;th&gt;与 NEO 的区别&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;HSTU&lt;/td&gt;
&lt;td&gt;Meta&lt;/td&gt;
&lt;td&gt;统一序列 Transformer 做推荐&lt;/td&gt;
&lt;td&gt;不支持搜索和文本生成&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPSD&lt;/td&gt;
&lt;td&gt;Meta&lt;/td&gt;
&lt;td&gt;生成式预训练做推荐&lt;/td&gt;
&lt;td&gt;聚焦预训练范式，非语言模型&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SORT&lt;/td&gt;
&lt;td&gt;阿里&lt;/td&gt;
&lt;td&gt;Transformer 做工业排序&lt;/td&gt;
&lt;td&gt;判别式模型，不支持生成&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MTFM&lt;/td&gt;
&lt;td&gt;美团&lt;/td&gt;
&lt;td&gt;基础模型做推荐&lt;/td&gt;
&lt;td&gt;多模态但非语言模型统一框架&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;NEO&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Spotify&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;LLM 统一搜索/推荐/推理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;唯一真正统一搜索和推荐的 LLM 方案&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;NEO 的独特价值在于它是第一个在工业规模上验证了&amp;quot;用单一 LLM 统一搜索和推荐&amp;quot;的可行性。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="6-局限性与未来方向"&gt;6. 局限性与未来方向&lt;/h2&gt;
&lt;h3 id="61-当前局限"&gt;6.1 当前局限&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;模型规模&lt;/strong&gt;：0.6B 参数在 LLM 世界中属于小模型，可能限制了复杂推理能力。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;离线评估&lt;/strong&gt;：论文主要报告了离线指标，缺少在线 A/B 测试结果。虽然离线提升显著，但在线效果可能受到展示偏差、位置偏差等因素的影响。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;单轮交互&lt;/strong&gt;：当前的 NEO 主要支持单轮交互，虽然可以通过历史拼接扩展到多轮，但缺乏真正的对话建模能力。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SID 碰撞&lt;/strong&gt;：虽然实验表明碰撞很少，但在极端长尾场景中，碰撞可能成为瓶颈。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;阶段四缺失&lt;/strong&gt;：论文描述了四阶段训练框架，但第四阶段（任务特化微调）留作了未来工作。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;训练基础设施&lt;/strong&gt;：论文使用 8 × Nvidia H100 GPU + PyTorch + Ray 进行训练，对于大多数团队来说这是可及的资源量，暗示了框架的实用性。&lt;/p&gt;
&lt;h3 id="62-论文中的失败尝试"&gt;6.2 论文中的失败尝试&lt;/h3&gt;
&lt;p&gt;论文附录中坦诚记录了两个失败方向，这对从业者非常有价值：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;SID Expert with Hard Router Mask&lt;/strong&gt;：尝试为 SID token 设计专用的 MoE Expert 并通过硬路由掩码强制 SID token 走特定 Expert，但效果不佳&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vision as LoRA&lt;/strong&gt;：尝试用 LoRA 方式融入视觉信息，同样未能带来提升&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这些失败尝试提醒我们：并非所有直觉上合理的设计都能在实践中奏效。NEO 最终选择的&amp;quot;最小化架构修改&amp;quot;策略（仅扩展词表，不改模型结构）可能恰恰是因为它最好地保留了预训练知识。&lt;/p&gt;
&lt;h3 id="63-值得期待的未来方向"&gt;6.3 值得期待的未来方向&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;多轮对话推荐&lt;/strong&gt;：将 NEO 扩展为真正的对话式推荐系统，支持用户通过多轮对话逐步精细化需求。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;实时个性化&lt;/strong&gt;：结合 online learning 或 in-context learning，实现对用户实时兴趣变化的快速响应。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;跨平台迁移&lt;/strong&gt;：探索 SID 框架在不同平台和领域间的迁移能力。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;更大规模验证&lt;/strong&gt;：在更大的模型（7B+）和更大的目录（1 亿+）上验证 Scaling 效果。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="7-总结"&gt;7. 总结&lt;/h2&gt;
&lt;p&gt;NEO 是一项具有里程碑意义的工作，它首次在工业规模上证明了：&lt;strong&gt;一个预训练的解码器 LLM 可以被改造为无需外部工具、支持目录约束的生成模型，在同一个框架下统一推荐、搜索、解释和用户理解等多种发现任务&lt;/strong&gt;。&lt;/p&gt;
&lt;div class="mermaid-wrapper"&gt;
&lt;div class="mermaid" style="background: transparent;"&gt;
graph TD
subgraph "NEO 核心贡献"
A["语义标识符 SID&lt;br/&gt;物品的新语言"] --&gt; D["统一模型"]
B["三阶段训练&lt;br/&gt;渐进式能力注入"] --&gt; D
C["约束解码&lt;br/&gt;目录有效性保证"] --&gt; D
D --&gt; E["推荐 +36~58%"]
D --&gt; F["检索 +26~47%"]
D --&gt; G["解释 &amp; 用户理解"]
D --&gt; H["正向跨任务迁移"]
end
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;这篇论文给我最大的启发是：&lt;strong&gt;不要试图让 LLM &amp;ldquo;使用&amp;rdquo; 现有的推荐系统，而是让 LLM &amp;ldquo;成为&amp;rdquo; 推荐系统&lt;/strong&gt;。通过将目录物品转化为 LLM 原生理解的离散 token，搜索和推荐从&amp;quot;LLM 的下游应用&amp;quot;变成了&amp;quot;LLM 的内在能力&amp;rdquo;。&lt;/p&gt;
&lt;p&gt;这一范式转变的影响可能是深远的。如果 SID 的思路被广泛采用，我们可能会看到：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;搜索和推荐团队的合并&lt;/li&gt;
&lt;li&gt;推荐系统工程从&amp;quot;特征工程 + 模型训练 + 在线服务&amp;quot;简化为&amp;quot;数据准备 + LLM 微调 + 约束解码&amp;quot;&lt;/li&gt;
&lt;li&gt;可解释推荐从&amp;quot;事后解释&amp;quot;变为&amp;quot;内生解释&amp;quot;&lt;/li&gt;
&lt;li&gt;用户与推荐系统的交互从&amp;quot;被动接收&amp;quot;变为&amp;quot;主动对话&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;当然，从论文到真正的工业落地还有很长的路要走。但 NEO 已经迈出了关键的第一步——在超过 1000 万物品的真实工业级目录上证明了这条路是可行的。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;参考文献：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;De Nadai et al., &amp;ldquo;A Unified Language Model for Large Scale Search, Recommendation, and Reasoning,&amp;rdquo; arXiv:2603.17533, March 2026.&lt;/li&gt;
&lt;li&gt;Rajput et al., &amp;ldquo;Recommender Systems with Generative Retrieval,&amp;rdquo; NeurIPS 2023 (TIGER).&lt;/li&gt;
&lt;li&gt;Zhai et al., &amp;ldquo;Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations,&amp;rdquo; ICML 2024 (HSTU).&lt;/li&gt;
&lt;li&gt;Li et al., &amp;ldquo;Generative Pre-trained Sequence Denoiser for Sequential Recommendation,&amp;rdquo; 2025 (GPSD).&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>SORT：面向工业级推荐系统的系统优化排序 Transformer</title><link>https://dingyadong.top/posts/011_sort_paper_review/</link><pubDate>Wed, 01 Apr 2026 12:00:00 +0800</pubDate><guid>https://dingyadong.top/posts/011_sort_paper_review/</guid><description>
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;本文是关于 AliExpress 团队论文《SORT: A Systematically Optimized Ranking Transformer for Industrial-scale Recommenders》（
）的深度精读笔记。本文将从问题定义、架构设计、系统优化到实验分析，全方位剖析 SORT 如何将 Transformer 成功落地到工业级推荐排序场景。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="1-引言transformer-进军推荐排序的最后一公里"&gt;1. 引言：Transformer 进军推荐排序的&amp;quot;最后一公里&amp;quot;&lt;/h2&gt;
&lt;p&gt;Transformer 架构凭借其卓越的可扩展性（Scalability），在大语言模型（LLM）领域取得了令人瞩目的成就。从 GPT 到 LLaMA，从 BERT 到 T5，统一的 Transformer 架构不断刷新各项基准。这种成功的核心在于一个简洁而强大的范式：&lt;strong&gt;通过增加模型参数和训练数据，性能可以持续提升（Scaling Law）&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;然而在推荐系统的排序（Ranking）阶段，主流模型仍然是 DIN、DIEN、DeepFM、DCN 等&lt;strong&gt;专用架构（Task-specific Architectures）&lt;/strong&gt;。这些模型虽然在各自的场景中表现优异，但存在一个根本性问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;架构碎片化&lt;/strong&gt;：不同的特征交互方式需要不同的模型设计，难以统一&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;可扩展性差&lt;/strong&gt;：增加参数量往往不能带来持续的性能提升，甚至可能导致过拟合&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;工程维护成本高&lt;/strong&gt;：每种模型都需要独立的优化和维护&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;一个自然的问题是：&lt;strong&gt;能否像 LLM 一样，用统一的 Transformer 架构来构建推荐排序模型？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;近年来，已有一些先驱性的工作开始探索这个方向：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;HSTU&lt;/strong&gt;（Meta, 2024）：提出了层级化序列转导单元，验证了推荐系统中的 Scaling Law&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OneTrans&lt;/strong&gt;（2024）：尝试将 Transformer 应用于排序场景&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPSD&lt;/strong&gt;（Meta, 2025）：通过生成式预训练解决判别式推荐模型的过拟合问题&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;但这些工作要么聚焦于召回/检索阶段，要么在工业级排序场景中的落地效果有限。&lt;strong&gt;SORT（Systematically Optimized Ranking Transformer）&lt;/strong&gt; 正是在这一背景下提出的——它系统性地解决了 Transformer 在工业级排序模型中面临的一系列挑战，并在 AliExpress 的真实业务场景中取得了显著收益。&lt;/p&gt;
&lt;div class="mermaid-wrapper"&gt;
&lt;div class="mermaid" style="background: transparent;"&gt;
graph LR
A1["DIN&lt;br/&gt;目标注意力"] &amp; A2["DIEN&lt;br/&gt;兴趣演化"] &amp; A3["DeepFM&lt;br/&gt;特征交叉"] &amp; A4["DCN&lt;br/&gt;交叉网络"]
A4 --&gt;|"架构碎片化&lt;br/&gt;可扩展性差"| B1
B1["HSTU&lt;br/&gt;Meta 2024"] &amp; B2["OneTrans&lt;br/&gt;2024"] &amp; B3["GPSD&lt;br/&gt;Meta 2025"]
B3 --&gt;|"系统性优化"| C1
C1["统一架构"] &amp; C2["系统优化&lt;br/&gt;稀疏注意力+MoE"] &amp; C3["工业落地"]
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;图 1：推荐排序模型的演进路径。&lt;/strong&gt; 从传统的专用架构（DIN、DeepFM 等），经过 Transformer 的初步探索（HSTU、OneTrans、GPSD），到 SORT 实现统一的工业级排序 Transformer。传统范式面临架构碎片化和可扩展性差的问题——每种特征交互方式都需要定制化的模型设计（如 DIN 的目标注意力、DeepFM 的二阶交叉、DCN 的显式交叉网络），导致工程维护成本高且难以通过简单增加参数来提升性能。过渡阶段的探索工作（HSTU 聚焦召回、GPSD 专注预训练框架、OneTrans 初步尝试排序）虽然各有突破，但尚未形成完整的工业级排序解决方案。SORT 通过系统性优化，首次在工业级排序场景中成功落地统一的 Transformer 架构，标志着推荐排序从&amp;quot;专用模型&amp;quot;向&amp;quot;统一基础模型&amp;quot;的范式转变。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="2-核心问题高特征稀疏性-vs-低标签密度"&gt;2. 核心问题：高特征稀疏性 vs 低标签密度&lt;/h2&gt;
&lt;p&gt;在深入 SORT 的技术细节之前，我们需要理解一个根本性问题：&lt;strong&gt;为什么 Transformer 在推荐排序中不能像在 NLP 中那样直接 Scale Up？&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="21-语言模型-vs-推荐模型的关键差异"&gt;2.1 语言模型 vs 推荐模型的关键差异&lt;/h3&gt;
&lt;p&gt;论文清晰地指出了两个领域之间的核心矛盾：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;维度&lt;/th&gt;
&lt;th&gt;语言模型 (LLM)&lt;/th&gt;
&lt;th&gt;推荐排序模型&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;词表规模&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;BPE 子词分词，词表约 32K-128K&lt;/td&gt;
&lt;td&gt;十亿级物品 ID 词表&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;特征稀疏性&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;低（子词复用率高）&lt;/td&gt;
&lt;td&gt;极高（长尾物品大量存在）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;标签密度&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;高（每个位置都有来自完整词表的监督信号）&lt;/td&gt;
&lt;td&gt;极低（仅目标物品有二值标签 0/1）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;训练信号&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;丰富（next-token prediction 提供密集梯度）&lt;/td&gt;
&lt;td&gt;稀疏（只有点击/未点击的二值反馈）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;过拟合风险&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;相对较低&lt;/td&gt;
&lt;td&gt;极高&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;用一句话概括这个矛盾&lt;/strong&gt;：推荐排序模型需要用&lt;strong&gt;极度稀疏的二值标签&lt;/strong&gt;来正则化&lt;strong&gt;海量的参数空间&lt;/strong&gt;（特别是十亿级的 Embedding 表），这导致了严重的过拟合问题。&lt;/p&gt;
&lt;h3 id="22-具体表现"&gt;2.2 具体表现&lt;/h3&gt;
&lt;p&gt;这个矛盾在实践中有以下具体表现：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Embedding 表过拟合&lt;/strong&gt;：十亿级物品 ID 的 Embedding 参数极其庞大，但大量长尾物品只有极少的训练样本，导致对应的 Embedding 向量无法被充分学习&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;模型容量与数据量不匹配&lt;/strong&gt;：增加 Transformer 层数和参数量时，模型的泛化差距（Generalization Gap）迅速扩大&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;训练不稳定&lt;/strong&gt;：大规模稀疏特征的梯度更新存在高方差，容易导致训练发散&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="23-sort-的系统性应对策略"&gt;2.3 SORT 的系统性应对策略&lt;/h3&gt;
&lt;p&gt;面对上述挑战，SORT 并没有采取单一的解决方案，而是提出了一套&lt;strong&gt;系统性的互补优化&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="mermaid-wrapper"&gt;
&lt;div class="mermaid" style="background: transparent;"&gt;
graph LR
Problem["核心矛盾&lt;br/&gt;高特征稀疏性&lt;br/&gt;× 低标签密度"]
S1["① 请求中心样本 → 效率↑"]
S2["② 特殊 Token → 训练稳定"]
S3["③ 稀疏注意力+裁剪 → O(n)"]
S4["④ DeepSeek MoE → 容量↑"]
S5["⑤ 预训练+冻结 → 过拟合↓"]
S6["⑥ QKNorm+门控 → 大规模"]
Problem --&gt; S1
Problem --&gt; S2
Problem --&gt; S3
Problem --&gt; S4
Problem --&gt; S5
Problem --&gt; S6
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;图 2：SORT 针对核心矛盾的系统性解决方案。&lt;/strong&gt; 面对高特征稀疏性和低标签密度的根本矛盾，SORT 提出了六个互补的优化方向，每个方向解决一个具体维度的问题：请求中心样本组织从数据层面减少冗余计算，提升训练效率；特殊 Token（BOS/SEP）从注意力分布层面稳定训练过程，防止注意力权重的异常分配；稀疏注意力和查询裁剪从计算复杂度层面将二次复杂度降至线性，并引入有益的时间衰减归纳偏置；DeepSeek MoE FFN 从模型容量层面在不增加激活计算量的前提下大幅扩展参数空间；生成式预训练加嵌入冻结策略从优化目标层面根本性地解决稀疏参数的过拟合问题；QKNorm 和门控注意力从数值稳定性层面保障大规模训练的收敛。这六个优化并非孤立存在，而是形成了一个有机整体——它们分别作用于数据、注意力、复杂度、容量、正则化和稳定性六个维度，共同构成了 SORT 的技术护城河。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="3-sort-架构详解"&gt;3. SORT 架构详解&lt;/h2&gt;
&lt;h3 id="31-请求中心的样本组织request-centric-sample-organization"&gt;3.1 请求中心的样本组织（Request-Centric Sample Organization）&lt;/h3&gt;
&lt;h4 id="传统方法的问题"&gt;传统方法的问题&lt;/h4&gt;
&lt;p&gt;在传统的排序模型训练中，对于用户的一次请求（Request），系统会返回 $N$ 个候选物品，然后为每个候选物品生成一个独立的训练样本。这意味着：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;同一个用户的历史行为序列被重复编码 $N$ 次&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;同一个用户画像（User Profile）被重复处理 $N$ 次&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;计算资源严重浪费&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="sort-的解决方案"&gt;SORT 的解决方案&lt;/h4&gt;
&lt;p&gt;SORT 将样本组织方式从&amp;quot;物品中心&amp;quot;改为**&amp;ldquo;请求中心&amp;rdquo;**：&lt;/p&gt;
$$S = \langle H, U, C \rangle$$&lt;p&gt;其中：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;$H$ = 用户历史行为序列（User History）&lt;/li&gt;
&lt;li&gt;$U$ = 用户画像（User Profile）&lt;/li&gt;
&lt;li&gt;$C$ = 候选物品集合（Candidate Set，包含该请求中的所有候选物品）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这种组织方式的核心优势：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;一次前向传播处理所有候选物品&lt;/strong&gt;：用户序列和画像只需编码一次&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;计算成本按候选数量摊销&lt;/strong&gt;：N 个候选物品共享上下文计算&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;天然支持候选间信息交互&lt;/strong&gt;：候选物品之间可以通过注意力机制进行比较&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="mermaid-wrapper"&gt;
&lt;div class="mermaid" style="background: transparent;"&gt;
graph LR
R1["传统：请求 N 个候选"] --&gt; S["传统：N 条样本&lt;br/&gt;每条 = History+Profile+Item"]
S --&gt; F["传统：N 次前向传播&lt;br/&gt;⚠️ History 重复编码 N 次"]
R2["SORT：请求 N 个候选"] --&gt; US["SORT：1 条样本&lt;br/&gt;S = ⟨H, U, C₁...Cₙ⟩"]
US --&gt; FF["SORT：1 次前向传播&lt;br/&gt;✅ History 仅编码 1 次"]
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;图 3：传统物品中心 vs SORT 请求中心的样本组织对比。&lt;/strong&gt; 传统方法对每个候选物品生成独立样本，用户历史和画像被冗余编码 N 次，计算浪费严重。SORT 将一次请求中的所有候选物品打包为统一样本，通过单次前向传播同时处理所有候选，用户上下文仅编码一次。这不仅大幅降低了计算成本，还使候选物品之间能够通过注意力机制进行信息交互，为后续的排序决策提供了更丰富的比较信号。在实际工业场景中，一次请求通常包含数十到数百个候选物品，因此这种改进带来的效率提升非常显著。&lt;/p&gt;
&lt;h3 id="32-分词模块tokenization"&gt;3.2 分词模块（Tokenization）&lt;/h3&gt;
&lt;p&gt;SORT 的分词模块将异构的推荐特征统一映射为 Token 序列，具体设计如下：&lt;/p&gt;
&lt;h4 id="token-类型"&gt;Token 类型&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Token 类型&lt;/th&gt;
&lt;th&gt;来源&lt;/th&gt;
&lt;th&gt;数量&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;BOS Token&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;特殊标记&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;序列起始标记，充当&amp;quot;注意力汇聚点&amp;quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;History Token&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;用户历史行为&lt;/td&gt;
&lt;td&gt;$L_h$&lt;/td&gt;
&lt;td&gt;每个历史交互物品生成一个 Token&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Profile Token&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;用户画像&lt;/td&gt;
&lt;td&gt;$L_u$&lt;/td&gt;
&lt;td&gt;用户画像特征映射为多个 Token&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SEP Token&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;特殊标记&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;分隔用户上下文和候选物品&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Candidate Token&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;候选物品&lt;/td&gt;
&lt;td&gt;$N_c$&lt;/td&gt;
&lt;td&gt;每个候选物品生成一个 Token&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="bos-token-的关键作用注意力汇聚attention-sink"&gt;BOS Token 的关键作用——注意力汇聚（Attention Sink）&lt;/h4&gt;
&lt;p&gt;在 Transformer 中，一个广泛观察到的现象是：&lt;strong&gt;模型倾向于将大量注意力分数分配给序列的第一个 Token&lt;/strong&gt;，即便该 Token 本身没有实际语义。这种现象被称为 &lt;strong&gt;&amp;ldquo;注意力汇聚（Attention Sink）&amp;rdquo;&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;SORT 显式引入 BOS Token 来承担这一角色：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;吸收冗余注意力分数&lt;/strong&gt;：防止无关 Token 之间产生不合理的高注意力权重&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;稳定注意力分布&lt;/strong&gt;：使模型能更准确地分配注意力给真正重要的 Token&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;实验验证&lt;/strong&gt;：引入特殊 Token（BOS + SEP）带来了 &lt;strong&gt;+0.33pt CTR-AUC&lt;/strong&gt; 的提升&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="token-生成过程"&gt;Token 生成过程&lt;/h4&gt;
&lt;p&gt;每个 Token 的生成方式如下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;类别特征&lt;/strong&gt;：通过 Embedding 查表获取向量&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;数值特征&lt;/strong&gt;：通过线性变换映射为向量&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;多特征融合&lt;/strong&gt;：同一 Token 的多个特征向量通过&lt;strong&gt;求和（Sum Pooling）&lt;/strong&gt; 融合为最终的 Token 表示&lt;/li&gt;
&lt;/ol&gt;
$$\text{Token}_i = \sum_{f \in \text{Features}_i} \text{Embed}(f)$$&lt;h3 id="33-多头注意力mha优化"&gt;3.3 多头注意力（MHA）优化&lt;/h3&gt;
&lt;p&gt;SORT 在标准多头注意力的基础上进行了三项关键优化：&lt;/p&gt;
&lt;h4 id="331-rope-相对位置编码rotary-position-embedding"&gt;3.3.1 RoPE 相对位置编码（Rotary Position Embedding）&lt;/h4&gt;
&lt;p&gt;传统的绝对位置编码（如正弦编码或可学习编码）在处理变长序列时存在局限性。SORT 采用 &lt;strong&gt;RoPE&lt;/strong&gt; 作为位置编码方案：&lt;/p&gt;
$$\text{RoPE}(x, \text{pos}) = x \cdot \cos(\text{pos} \cdot \theta) + \text{rotate}(x) \cdot \sin(\text{pos} \cdot \theta)$$&lt;p&gt;&lt;strong&gt;对候选物品的特殊处理&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;所有候选物品使用&lt;strong&gt;相同的位置 ID&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;通过&lt;strong&gt;对角掩码（Diagonal Mask）&lt;/strong&gt; 确保候选物品之间的独立性&lt;/li&gt;
&lt;li&gt;这意味着每个候选物品&amp;quot;站在同一个位置&amp;quot;观察用户历史，保证了排序的公平性&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="332-qknorm训练稳定性的保障"&gt;3.3.2 QKNorm——训练稳定性的保障&lt;/h4&gt;
&lt;p&gt;在大规模训练中，Query 和 Key 向量的内积可能产生极大的数值，导致 Softmax 的梯度消失。SORT 引入 &lt;strong&gt;QKNorm&lt;/strong&gt;：&lt;/p&gt;
$$\text{Attention}(Q, K, V) = \text{Softmax}\left(\frac{\text{Norm}(Q) \cdot \text{Norm}(K)^T}{\sqrt{d_k}}\right) V$$&lt;p&gt;对 Query 和 Key 在投影后分别进行 LayerNorm，确保注意力分数的数值范围稳定。&lt;/p&gt;
&lt;h4 id="333-门控注意力gated-attention"&gt;3.3.3 门控注意力（Gated Attention）&lt;/h4&gt;
&lt;p&gt;在标准缩放点积注意力的基础上，SORT 添加了一个&lt;strong&gt;门控机制&lt;/strong&gt;：&lt;/p&gt;
$$\text{GatedAttn}(Q, K, V) = \sigma(G) \odot \text{Softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) V$$&lt;p&gt;其中 $\sigma(G)$ 是一个可学习的门控向量，用于控制每个注意力头的信息流。这种门控机制允许模型：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;自适应地调节不同注意力头的贡献&lt;/li&gt;
&lt;li&gt;在训练早期抑制不稳定的注意力模式&lt;/li&gt;
&lt;li&gt;提供更细粒度的信息流控制&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="34-稀疏注意力机制sparse-attention"&gt;3.4 稀疏注意力机制（Sparse Attention）&lt;/h3&gt;
&lt;h4 id="动机"&gt;动机&lt;/h4&gt;
&lt;p&gt;标准因果注意力的复杂度为 $\mathcal{O}(L^2)$，对于长用户行为序列（L 可达数千）来说，计算和内存成本都不可接受。&lt;/p&gt;
&lt;h4 id="设计"&gt;设计&lt;/h4&gt;
&lt;p&gt;SORT 采用**分区稀疏注意力（Partitioned Sparse Attention）**策略：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;历史行为序列&lt;/strong&gt;：采用&lt;strong&gt;局部注意力窗口（Local Attention Window）&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;每个 Token 只关注其前方窗口大小 $w$ 内的 Token&lt;/li&gt;
&lt;li&gt;时间复杂度从 $\mathcal{O}(L^2)$ 降至 $\mathcal{O}(L \cdot w)$，即&lt;strong&gt;线性复杂度&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;最优窗口大小为 &lt;strong&gt;256&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;候选物品&lt;/strong&gt;：保留&lt;strong&gt;标准因果注意力&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;候选物品需要关注完整的用户上下文&lt;/li&gt;
&lt;li&gt;候选物品数量相对较少，不会成为瓶颈&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="关键发现"&gt;关键发现&lt;/h4&gt;
&lt;p&gt;论文中一个令人意外的发现是：&lt;strong&gt;局部注意力窗口 256 的效果甚至超过了标准因果注意力（即完整的全局注意力）&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;这一现象的直觉解释是：推荐场景中用户的近期行为比远期行为对当前兴趣更为重要，局部注意力天然契合了这种时间局部性。更深入的分析见第 7.1 节的讨论。&lt;/p&gt;
&lt;h3 id="35-查询裁剪query-pruning"&gt;3.5 查询裁剪（Query Pruning）&lt;/h3&gt;
&lt;h4 id="核心思想"&gt;核心思想&lt;/h4&gt;
&lt;p&gt;查询裁剪是 SORT 中一个非常巧妙的设计。其核心思想是：&lt;strong&gt;在 Transformer 的深层，距离候选物品较远的历史 Token 的 Query 向量对最终预测的贡献越来越小，可以安全地裁剪掉。&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id="实现方式"&gt;实现方式&lt;/h4&gt;
&lt;p&gt;SORT 采用&lt;strong&gt;逐层递进式裁剪&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在浅层（靠近输入）：保留所有 Token 的 Query&lt;/li&gt;
&lt;li&gt;在深层（靠近输出）：逐步裁剪距离候选物品远的 Query Token&lt;/li&gt;
&lt;li&gt;在最终层：仅保留 &lt;strong&gt;≤128 个非候选 Token&lt;/strong&gt; 的 Query&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;重要区别&lt;/strong&gt;：被裁剪的是 &lt;strong&gt;Query&lt;/strong&gt;，而非 Key 和 Value。这意味着：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;被裁剪的 Token 仍然作为 Key 和 Value 参与注意力计算&lt;/li&gt;
&lt;li&gt;其他 Token（特别是候选物品）仍然可以&amp;quot;看到&amp;quot;被裁剪 Token 的信息&lt;/li&gt;
&lt;li&gt;但被裁剪的 Token 本身不再主动&amp;quot;查询&amp;quot;其他 Token&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="效果"&gt;效果&lt;/h4&gt;
&lt;p&gt;查询裁剪带来了双重收益：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;计算成本减半&lt;/strong&gt;：几乎将 FLOPs 降低了 50%&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;性能反而提升&lt;/strong&gt;：带来了 &lt;strong&gt;+0.26pt CTR-AUC&lt;/strong&gt; 的增益&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;性能提升的原因在于查询裁剪隐式地引入了&lt;strong&gt;时间衰减归纳偏置（Temporal Decay Inductive Bias）&lt;/strong&gt;——在推荐系统中，这是一个非常合理的先验：用户的近期行为比远期行为对当前兴趣的预测更为重要。&lt;/p&gt;
&lt;div class="mermaid-wrapper"&gt;
&lt;div class="mermaid" style="background: transparent;"&gt;
graph LR
H["输入: H₁, H₂, ..., Hₙ&lt;br/&gt;(History)"]
C["输入: C₁, C₂, ..., Cₘ&lt;br/&gt;(Candidates)"]
L1["浅层 1-4&lt;br/&gt;全量 Q/K/V + 局部窗口 w=256"]
L2["中间层 5-8&lt;br/&gt;裁剪远距 History Q, 保留 K/V"]
L3["深层 9-12&lt;br/&gt;≤128 History Q + 全量 Candidate"]
O["输出: Candidate 隐层 → FFN&lt;br/&gt;→ CTR/CVR 预测"]
H --&gt; L1
C --&gt; L1
L1 --&gt; L2 --&gt; L3
L3 --&gt; O
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;图 4：SORT 的稀疏注意力与查询裁剪机制。&lt;/strong&gt; 在浅层，所有 Token 保留完整的 Query/Key/Value 进行局部注意力计算（窗口大小 256）；随着层数加深，距离候选物品较远的历史 Token 的 Query 被逐步裁剪，但其 Key 和 Value 仍然保留，确保候选物品可以访问完整的历史信息；在最深层，仅保留不超过 128 个历史 Token 的 Query 和所有候选 Token，最终通过候选 Token 的隐层输出进行 CTR/CVR 预测。这种设计将计算成本降低约 50%，同时通过引入时间衰减归纳偏置反而提升了模型性能。&lt;/p&gt;
&lt;h3 id="36-deepseek-moe-ffn"&gt;3.6 DeepSeek MoE FFN&lt;/h3&gt;
&lt;h4 id="为什么需要-moe"&gt;为什么需要 MoE？&lt;/h4&gt;
&lt;p&gt;标准 Transformer 的 FFN 层采用稠密计算，所有参数对每个 Token 都会被激活。在推荐排序模型中：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;不同类型的用户行为（浏览、点击、收藏、购买）可能需要不同的特征变换&lt;/li&gt;
&lt;li&gt;不同类别的物品可能需要不同的处理方式&lt;/li&gt;
&lt;li&gt;稠密 FFN 难以同时满足这些多样化的需求&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;MoE（Mixture of Experts）&lt;/strong&gt; 通过引入多个&amp;quot;专家&amp;quot;网络并动态路由，可以在不成比例增加计算量的前提下大幅扩大模型容量。&lt;/p&gt;
&lt;h4 id="sort-的-moe-选择deepseek-moe"&gt;SORT 的 MoE 选择：DeepSeek MoE&lt;/h4&gt;
&lt;p&gt;SORT 比较了两种 MoE 方案：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;维度&lt;/th&gt;
&lt;th&gt;Switch MoE&lt;/th&gt;
&lt;th&gt;DeepSeek MoE&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;路由方式&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Top-K 路由&lt;/td&gt;
&lt;td&gt;细粒度路由&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;负载均衡&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;需要调整辅助损失超参&lt;/td&gt;
&lt;td&gt;无需辅助负载均衡损失&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;性能&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;基线&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;略优于 Switch MoE&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;工程复杂度&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;需要仔细调参&lt;/td&gt;
&lt;td&gt;开箱即用&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;最终 SORT 选择了 DeepSeek MoE，关键超参数：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;稀疏率&lt;/strong&gt;：$1/8$（每个 Token 激活 $1/8$ 的专家参数）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;性能收益&lt;/strong&gt;：+0.19pt CTR-AUC&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;核心优势&lt;/strong&gt;：无需额外的辅助损失函数调参，工程实现更简洁&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="moe-稀疏率的影响"&gt;MoE 稀疏率的影响&lt;/h4&gt;
&lt;p&gt;论文通过消融实验探索了不同稀疏率的效果：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;稀疏率&lt;/th&gt;
&lt;th&gt;含义&lt;/th&gt;
&lt;th&gt;性能趋势&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1/1（无 MoE）&lt;/td&gt;
&lt;td&gt;全稠密 FFN&lt;/td&gt;
&lt;td&gt;基线&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1/2&lt;/td&gt;
&lt;td&gt;激活一半专家&lt;/td&gt;
&lt;td&gt;有一定提升&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1/4&lt;/td&gt;
&lt;td&gt;激活 1/4 专家&lt;/td&gt;
&lt;td&gt;继续提升&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1/8&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;激活 1/8 专家&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;最优&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1/16&lt;/td&gt;
&lt;td&gt;激活 1/16 专家&lt;/td&gt;
&lt;td&gt;开始下降&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;最优稀疏率为 $1/8$，这意味着 SORT 能够以 $1/8$ 的激活计算量获得与完整稠密模型相当甚至更优的效果。过低的稀疏率（如 1/16）可能由于每个专家接收到的训练信号不足而导致性能退化。&lt;/p&gt;
&lt;h3 id="37-生成式预训练与嵌入冻结generative-pretraining--embedding-freeze"&gt;3.7 生成式预训练与嵌入冻结（Generative Pretraining + Embedding Freeze）&lt;/h3&gt;
&lt;h4 id="这是解决过拟合的关键"&gt;这是解决过拟合的关键&lt;/h4&gt;
&lt;p&gt;前面提到，推荐排序模型的核心矛盾在于用稀疏的二值标签训练庞大的 Embedding 表。SORT 借鉴了 GPSD 框架的思路，但有自己独特的处理方式。&lt;/p&gt;
&lt;h4 id="两阶段策略"&gt;两阶段策略&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;阶段一：生成式预训练（Generative Pretraining）&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在用户行为序列上进行 &lt;strong&gt;next-item prediction&lt;/strong&gt; 任务&lt;/li&gt;
&lt;li&gt;使用 &lt;strong&gt;Sampled Softmax&lt;/strong&gt; 作为损失函数&lt;/li&gt;
&lt;li&gt;预训练的目标是学习高质量的&lt;strong&gt;物品 Embedding 表&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;关键设计：&lt;strong&gt;不使用用户 ID 特征&lt;/strong&gt;，仅通过历史行为序列和画像来表征用户&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;阶段二：判别式训练（Discriminative Training）+ 嵌入冻结&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;将预训练好的物品 Embedding 表迁移到排序模型&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;冻结 Embedding 表&lt;/strong&gt;，不在排序训练中更新&lt;/li&gt;
&lt;li&gt;仅训练 Transformer 的稠密参数&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="冻结策略的关键性"&gt;冻结策略的关键性&lt;/h4&gt;
&lt;p&gt;论文通过消融实验揭示了一个极其重要的发现：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;策略&lt;/th&gt;
&lt;th&gt;CTR-AUC 变化&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;无预训练（基线）&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;仅转移预训练 Embedding&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;-0.13pt&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;反而下降！&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;转移 + &lt;strong&gt;冻结&lt;/strong&gt; Embedding&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+2.81pt&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;显著提升&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;为什么&amp;quot;仅转移不冻结&amp;quot;反而有害？&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;预训练的 Embedding 在判别式训练中会被大量负样本的梯度&amp;quot;冲刷&amp;quot;&lt;/li&gt;
&lt;li&gt;失去了预训练阶段通过密集生成式信号学到的高质量表示&lt;/li&gt;
&lt;li&gt;相当于预训练的效果被&amp;quot;遗忘&amp;quot;了&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;为什么&amp;quot;冻结&amp;quot;如此有效？&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;保护了预训练 Embedding 的质量不被稀疏标签破坏&lt;/li&gt;
&lt;li&gt;大幅减少了可训练参数量（Embedding 表通常占总参数量的 90%+）&lt;/li&gt;
&lt;li&gt;使模型能进行&lt;strong&gt;多轮次训练（Multi-epoch）&lt;/strong&gt; 而不过拟合&lt;/li&gt;
&lt;li&gt;将优化重心聚焦于稠密的 Transformer 参数&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="mermaid-wrapper"&gt;
&lt;div class="mermaid" style="background: transparent;"&gt;
graph LR
A["Stage1: 行为序列"] --&gt; B["Stage1: Transformer Decoder"] --&gt; C["Stage1: Next-Item Prediction"]
C --&gt;|"密集信号"| D["Stage1: 预训练 Embedding"]
D --&gt;|"复制 + 冻结 ❄️"| G
F["Stage2: 请求样本 ⟨H,U,C⟩"] --&gt; G["Stage2: Token化 🔒"]
G --&gt; H["Stage2: SORT Transformer 🔥"] --&gt; I["Stage2: FFN → CTR/CVR"]
I --&gt; R["转移+冻结: +2.81pt ✅"]
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;图 5：SORT 的生成式预训练与嵌入冻结策略。&lt;/strong&gt; 第一阶段通过 next-item prediction 任务预训练物品 Embedding 表，利用 Sampled Softmax 提供的密集训练信号充分学习每个物品的表示。第二阶段将预训练好的 Embedding 表迁移到排序模型中并&lt;strong&gt;冻结&lt;/strong&gt;，只训练 Transformer 的稠密参数。消融实验表明，仅转移不冻结反而导致性能下降 0.13pt（预训练效果被稀疏标签&amp;quot;冲刷&amp;quot;），而转移加冻结策略带来了高达 2.81pt 的 CTR-AUC 提升。冻结策略的成功本质上是将&amp;quot;稀疏特征学习&amp;quot;和&amp;quot;稠密特征交叉&amp;quot;解耦为两个独立的优化目标，各自用最合适的任务和训练方式来学习。&lt;/p&gt;
&lt;h3 id="38-排序头与损失函数"&gt;3.8 排序头与损失函数&lt;/h3&gt;
&lt;p&gt;SORT 的最终预测通过以下方式完成：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;提取候选 Token 的隐层输出&lt;/strong&gt;：取 Transformer 最后一层中每个候选 Token 对应的隐状态向量&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;排序头 FFN&lt;/strong&gt;：一个两层的前馈网络
&lt;ul&gt;
&lt;li&gt;隐藏层 + ReLU 激活&lt;/li&gt;
&lt;li&gt;输出层 + Sigmoid 激活&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;多目标预测&lt;/strong&gt;：同时预估多个目标
&lt;ul&gt;
&lt;li&gt;点击率（CTR）&lt;/li&gt;
&lt;li&gt;加购率（Add-to-Cart Rate）&lt;/li&gt;
&lt;li&gt;购买率（CVR）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;损失函数&lt;/strong&gt;：加权二值交叉熵（Weighted Binary Cross-Entropy）&lt;/li&gt;
&lt;/ol&gt;
$$\mathcal{L} = \sum_{t \in \{\text{click, cart, purchase}\}} w_t \cdot \text{BCE}(\hat{y}_t, y_t)$$&lt;hr&gt;
&lt;h2 id="4-系统优化从算法到工程的全链路"&gt;4. 系统优化：从算法到工程的全链路&lt;/h2&gt;
&lt;p&gt;一个好的模型设计如果不能在工程上高效实现，就无法在工业场景中落地。SORT 在训练和推理两端都进行了深度优化。&lt;/p&gt;
&lt;h3 id="41-训练系统优化"&gt;4.1 训练系统优化&lt;/h3&gt;
&lt;h4 id="mfu-从-13-到-22-的飞跃"&gt;MFU 从 13% 到 22% 的飞跃&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;MFU（Model FLOPs Utilization）&lt;/strong&gt; 衡量的是模型训练时对硬件计算能力的实际利用率。SORT 将 MFU 从 13% 提升到 &lt;strong&gt;22%&lt;/strong&gt;，主要通过以下手段：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;（1）稀疏模块优化：多进程组通信（MPGC）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;推荐模型的 Embedding 表分布在多个 GPU 上，每次前向传播都需要大量的跨 GPU 通信。SORT 开发了 &lt;strong&gt;MPGC（Multi-Process Group Communication）&lt;/strong&gt; 机制：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;动态调度多个特征 Embedding 的跨进程组通信&lt;/li&gt;
&lt;li&gt;将通信与计算&lt;strong&gt;流水线化&lt;/strong&gt;，隐藏通信延迟&lt;/li&gt;
&lt;li&gt;不同特征组的通信可以并行执行&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;（2）稠密模块优化：高效稀疏注意力算子&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;SORT 开发了通用的稀疏注意力 GPU 算子：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;采用&lt;strong&gt;分块计算（Tiled Computation）&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;掩码预加载与验证&lt;/strong&gt;：跳过完全被掩码的块，避免无效计算&lt;/li&gt;
&lt;li&gt;结合&lt;strong&gt;混合精度训练（BF16）&lt;/strong&gt; 和&lt;strong&gt;梯度累积&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;优化内存访问模式，提升 GPU 利用率&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="训练优化效果汇总"&gt;训练优化效果汇总&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;优化手段&lt;/th&gt;
&lt;th&gt;提升&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;MPGC 通信优化&lt;/td&gt;
&lt;td&gt;通信延迟隐藏&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;稀疏注意力算子&lt;/td&gt;
&lt;td&gt;注意力计算效率↑&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;混合精度训练&lt;/td&gt;
&lt;td&gt;内存占用↓，计算速度↑&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;梯度累积&lt;/td&gt;
&lt;td&gt;大 batch size 支持&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;综合 MFU&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;13% → 22%（+69%）&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="42-推理系统优化"&gt;4.2 推理系统优化&lt;/h3&gt;
&lt;h4 id="从动态图到静态图"&gt;从动态图到静态图&lt;/h4&gt;
&lt;p&gt;SORT 使用 &lt;strong&gt;torch.export&lt;/strong&gt; 和 &lt;strong&gt;AOTInductor&lt;/strong&gt; 将 PyTorch 的动态计算图转换为静态图，获得编译器级别的优化。&lt;/p&gt;
&lt;h4 id="核心推理优化"&gt;核心推理优化&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;（1）稀疏掩码注意力核（Sparse Masked Attention Kernel）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;针对 SORT 的稀疏注意力模式，开发了高性能的 GPU 推理核：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;吞吐量提升 &lt;strong&gt;+16.7%&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;延迟降低 &lt;strong&gt;-24.4%&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;（2）算子融合（Operator Fusion）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;合并自注意力中的多个线性层计算：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;将 Q/K/V 的投影融合为单次矩阵乘法&lt;/li&gt;
&lt;li&gt;吞吐量提升 &lt;strong&gt;+10.9%&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;延迟降低 &lt;strong&gt;-6.3%&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;（3）通用优化&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;半精度推理（FP16/BF16）&lt;/strong&gt;：在不损失精度的前提下加速计算&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;KV Cache&lt;/strong&gt;：缓存历史 Token 的 Key 和 Value，避免重复计算&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;多上下文多流执行（Multi-Context Multi-Stream）&lt;/strong&gt;：充分利用 GPU 的并行能力&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="推理优化效果汇总"&gt;推理优化效果汇总&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;优化手段&lt;/th&gt;
&lt;th&gt;吞吐量提升&lt;/th&gt;
&lt;th&gt;延迟降低&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;稀疏注意力核&lt;/td&gt;
&lt;td&gt;+16.7%&lt;/td&gt;
&lt;td&gt;-24.4%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;算子融合&lt;/td&gt;
&lt;td&gt;+10.9%&lt;/td&gt;
&lt;td&gt;-6.3%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;通用优化&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;综合效果&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+29.4%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;-29.3%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="5-实验分析"&gt;5. 实验分析&lt;/h2&gt;
&lt;h3 id="51-离线实验"&gt;5.1 离线实验&lt;/h3&gt;
&lt;h4 id="基准模型对比"&gt;基准模型对比&lt;/h4&gt;
&lt;p&gt;SORT 与多个基准模型在相同数据集上进行了公平对比：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;模型&lt;/th&gt;
&lt;th&gt;规模&lt;/th&gt;
&lt;th&gt;FLOPs&lt;/th&gt;
&lt;th&gt;CTR-AUC 差异（vs Std Trans）&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Standard Transformer&lt;/td&gt;
&lt;td&gt;Base&lt;/td&gt;
&lt;td&gt;43G&lt;/td&gt;
&lt;td&gt;基线&lt;/td&gt;
&lt;td&gt;标准因果 Transformer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HSTU&lt;/td&gt;
&lt;td&gt;Base&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;-0.18pt&lt;/td&gt;
&lt;td&gt;Meta 的层级化序列转导&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OneTrans&lt;/td&gt;
&lt;td&gt;Base&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;+0.20pt&lt;/td&gt;
&lt;td&gt;Transformer 排序方案&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SORT（Base）&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Base&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;24G&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+0.41pt&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;FLOPs 仅为标准的 56%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Standard Transformer&lt;/td&gt;
&lt;td&gt;Large&lt;/td&gt;
&lt;td&gt;322G&lt;/td&gt;
&lt;td&gt;基线&lt;/td&gt;
&lt;td&gt;大规模标准 Transformer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SORT（Large 144M）&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Large&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;188G&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+0.51pt&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;FLOPs 仅为标准的 58%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;关键发现&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在 Base 规模下，SORT 以&lt;strong&gt;仅 56% 的 FLOPs（24G vs 43G）&lt;/strong&gt; 超越标准 Transformer &lt;strong&gt;0.41pt&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;相比 HSTU 和 OneTrans，SORT 分别领先 &lt;strong&gt;0.59pt&lt;/strong&gt;（0.41-(-0.18)）和 &lt;strong&gt;0.21pt&lt;/strong&gt;（0.41-0.20）&lt;/li&gt;
&lt;li&gt;扩展到 Large 规模（144M 参数）后，SORT 以 58% 的 FLOPs（188G vs 322G）领先标准 Transformer &lt;strong&gt;0.51pt&lt;/strong&gt;，验证了可扩展性&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="各组件贡献消融实验"&gt;各组件贡献（消融实验）&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;技术组件&lt;/th&gt;
&lt;th&gt;CTR-AUC 增益&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;特殊 Token（BOS + SEP）&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+0.33pt&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;注意力汇聚，稳定注意力分布&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;查询裁剪（Query Pruning）&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+0.26pt&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;计算减半，引入时间衰减偏置&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;门控注意力（Attention Gate）&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+0.21pt&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;自适应调节注意力头贡献&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DeepSeek MoE&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+0.19pt&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;扩大容量，不增计算&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;QKNorm&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+0.12pt&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;稳定大规模训练&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;局部注意力（Local Attention）&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+0.10pt&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;线性复杂度 + 隐式正则化&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;所有技术叠加&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;&amp;gt; 各项之和&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;协同效应显著&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;值得注意的是，各项技术叠加后产生了显著的&lt;strong&gt;协同效应&lt;/strong&gt;——综合提升大于各项单独贡献之和。这说明这些优化并非孤立存在，而是在不同维度上互相增强：例如，局部注意力减少了注意力范围中的噪声，使得特殊 Token 的汇聚效果更加聚焦；查询裁剪与 MoE 的组合则在保持低计算量的同时维持了高模型容量。&lt;/p&gt;
&lt;h4 id="可扩展性分析"&gt;可扩展性分析&lt;/h4&gt;
&lt;p&gt;SORT 在三个维度上验证了可扩展性：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;扩展维度&lt;/th&gt;
&lt;th&gt;方式&lt;/th&gt;
&lt;th&gt;效果&lt;/th&gt;
&lt;th&gt;有效性排序&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;数据扩展&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;增加训练轮次（Multi-epoch）&lt;/td&gt;
&lt;td&gt;最显著提升&lt;/td&gt;
&lt;td&gt;🥇 最有效&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;序列长度&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;256 → 4096&lt;/td&gt;
&lt;td&gt;持续提升&lt;/td&gt;
&lt;td&gt;🥈 次有效&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;模型规模&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;增加参数量&lt;/td&gt;
&lt;td&gt;稳定提升&lt;/td&gt;
&lt;td&gt;🥉 第三&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;数据扩展最为有效&lt;/strong&gt;这一发现值得注意——得益于冻结 Embedding 策略，SORT 可以进行多轮次训练而不过拟合，这在传统排序模型中是难以实现的。&lt;/p&gt;
&lt;h4 id="特征工程兼容性"&gt;特征工程兼容性&lt;/h4&gt;
&lt;p&gt;SORT 并非要取代特征工程，而是与其互补：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;特征集&lt;/th&gt;
&lt;th&gt;CTR-AUC 增益&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;基础特征（ID + 属性）&lt;/td&gt;
&lt;td&gt;基线&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;+ 多模态特征&lt;/td&gt;
&lt;td&gt;+0.36%&lt;/td&gt;
&lt;td&gt;图像、文本等&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;+ 用户-物品交叉特征&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+1.03%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;最显著提升&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;全特征集&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;CTR +1.27%, CVR +1.74%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;综合提升&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;用户-物品交叉特征带来了最显著的提升，说明 Transformer 的注意力机制虽然擅长自动学习特征交互，但&lt;strong&gt;精心设计的交叉特征仍然能提供额外的先验知识&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id="52-在线-ab-测试"&gt;5.2 在线 A/B 测试&lt;/h3&gt;
&lt;p&gt;SORT 在 AliExpress 的三个核心场景进行了为期一个月的在线 A/B 测试：&lt;/p&gt;
&lt;h4 id="总体业务指标"&gt;总体业务指标&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;指标&lt;/th&gt;
&lt;th&gt;平均提升&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;订单数&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+6.35%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;买家数&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+5.97%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GMV（成交总额）&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+5.47%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;推理延迟&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;-44.67%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;推理吞吐量&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+121.33%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="分场景详细结果"&gt;分场景详细结果&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;场景&lt;/th&gt;
&lt;th&gt;订单数&lt;/th&gt;
&lt;th&gt;买家数&lt;/th&gt;
&lt;th&gt;GMV&lt;/th&gt;
&lt;th&gt;延迟&lt;/th&gt;
&lt;th&gt;吞吐量&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;首页（Homepage）&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;+4.13%&lt;/td&gt;
&lt;td&gt;+4.26%&lt;/td&gt;
&lt;td&gt;+6.60%&lt;/td&gt;
&lt;td&gt;-58%&lt;/td&gt;
&lt;td&gt;+36%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;购物车（Cart）&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;+3.50%&lt;/td&gt;
&lt;td&gt;+3.75%&lt;/td&gt;
&lt;td&gt;+3.69%&lt;/td&gt;
&lt;td&gt;-37%&lt;/td&gt;
&lt;td&gt;+169%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;支付后（Post-Pay）&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+11.43%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+9.91%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+6.12%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;-39%&lt;/td&gt;
&lt;td&gt;+159%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;关键观察&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;支付后场景订单提升最显著&lt;/strong&gt;（+11.43%）：可能因为该场景的用户购买意向已经明确，SORT 的精准排序能力带来更大的边际收益&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;首页场景延迟优化最佳&lt;/strong&gt;（-58%）：首页是流量最大的入口，延迟优化带来的用户体验提升尤为关键&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;系统效率全面提升&lt;/strong&gt;：平均延迟下降 44.67%、吞吐量提升 121.33%，不仅是模型效果更好，而且更快更省资源&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="6-方法论对比sort-vs-同期方案"&gt;6. 方法论对比：SORT vs 同期方案&lt;/h2&gt;
&lt;h3 id="61-多维度对比表"&gt;6.1 多维度对比表&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;对比维度&lt;/th&gt;
&lt;th&gt;SORT&lt;/th&gt;
&lt;th&gt;HSTU (Meta)&lt;/th&gt;
&lt;th&gt;OneTrans&lt;/th&gt;
&lt;th&gt;标准 Transformer&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;目标场景&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;排序（Ranking）&lt;/td&gt;
&lt;td&gt;召回 + 排序&lt;/td&gt;
&lt;td&gt;排序&lt;/td&gt;
&lt;td&gt;通用&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;样本组织&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;请求中心&lt;/td&gt;
&lt;td&gt;序列化&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;独立样本&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;注意力机制&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;局部稀疏 + 查询裁剪&lt;/td&gt;
&lt;td&gt;门控注意力（无 MLP）&lt;/td&gt;
&lt;td&gt;标准因果&lt;/td&gt;
&lt;td&gt;标准因果&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;位置编码&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;RoPE + 对角掩码&lt;/td&gt;
&lt;td&gt;相对偏差&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;绝对/相对&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;FFN 设计&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;DeepSeek MoE（1/8 稀疏）&lt;/td&gt;
&lt;td&gt;无独立 FFN&lt;/td&gt;
&lt;td&gt;标准 FFN&lt;/td&gt;
&lt;td&gt;标准 FFN&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;预训练策略&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;生成式预训练 + 嵌入冻结&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;训练稳定性&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;QKNorm + 门控&lt;/td&gt;
&lt;td&gt;门控&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;无特殊处理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;序列长度&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;256-4K（局部注意力）&lt;/td&gt;
&lt;td&gt;超长序列&lt;/td&gt;
&lt;td&gt;中等&lt;/td&gt;
&lt;td&gt;受限于 O(L²)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;工业验证&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;AliExpress 全场景&lt;/td&gt;
&lt;td&gt;Meta 内部&lt;/td&gt;
&lt;td&gt;有限&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="62-sort-的优势"&gt;6.2 SORT 的优势&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;系统性优化&lt;/strong&gt;：不是单点突破，而是从分词、注意力、FFN、预训练到系统工程的全链路优化&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;工程友好&lt;/strong&gt;：DeepSeek MoE 无需调辅助损失、查询裁剪实现简单、推理优化降低部署成本&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;效率突出&lt;/strong&gt;：以 58% 的 FLOPs 超越标准 Transformer，推理延迟降低 44.67%&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;可扩展性强&lt;/strong&gt;：在数据、模型、序列长度三个维度上均展现持续提升&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;特征兼容&lt;/strong&gt;：不排斥传统特征工程，与交叉特征、多模态特征互补&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;业务收益显著&lt;/strong&gt;：在线 A/B 测试订单 +6.35%，GMV +5.47%&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="63-sort-的潜在不足"&gt;6.3 SORT 的潜在不足&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;两阶段训练流程&lt;/strong&gt;：生成式预训练 + 判别式训练增加了训练管线的复杂度&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;预训练依赖&lt;/strong&gt;：如果物品分布频繁变化，预训练 Embedding 的时效性可能成为问题&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;冻结策略的刚性&lt;/strong&gt;：完全冻结 Embedding 可能无法适应动态变化的物品语义&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MoE 的工程挑战&lt;/strong&gt;：稀疏 MoE 在分布式训练和推理中的负载均衡仍需关注&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;场景泛化性&lt;/strong&gt;：目前仅在电商场景验证，在视频、社交等推荐场景的效果有待检验&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;冷启动问题&lt;/strong&gt;：新物品没有预训练 Embedding，冷启动场景的处理方式论文未详细讨论&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="64-hstu-的优势与不足"&gt;6.4 HSTU 的优势与不足&lt;/h3&gt;
&lt;p&gt;作为 SORT 最重要的对比方法，HSTU 值得单独分析：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;HSTU 的优势&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;架构极简&lt;/strong&gt;：完全移除 MLP 层，将注意力与前馈融合为单一操作，减少了超参数调优空间&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;超长序列支持&lt;/strong&gt;：针对推荐场景的极长用户行为序列（$10^5$ 量级）进行了专门优化，在长序列场景下有天然优势&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;万亿参数验证&lt;/strong&gt;：首次在推荐系统中验证了 Scaling Law 的存在，为后续工作（包括 SORT）奠定了理论基础&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;HSTU 的不足&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;排序场景适配不足&lt;/strong&gt;：HSTU 最初为召回/检索设计，在排序场景中直接应用效果不如 SORT（-0.59pt CTR-AUC）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;模型容量受限&lt;/strong&gt;：移除 MLP 后，模型的非线性变换能力下降，难以通过 MoE 等方式灵活扩展容量&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;缺乏预训练策略&lt;/strong&gt;：没有针对稀疏特征过拟合提出系统性的预训练和冻结方案，限制了在高特征稀疏场景下的表现&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="65-hstu-vs-sort-的设计哲学对比"&gt;6.5 HSTU vs SORT 的设计哲学对比&lt;/h3&gt;
&lt;p&gt;HSTU 和 SORT 是目前工业级 Transformer 推荐模型的两个代表性工作，它们的设计哲学有明显差异：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;设计哲学&lt;/th&gt;
&lt;th&gt;HSTU&lt;/th&gt;
&lt;th&gt;SORT&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;核心理念&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;极简主义——去掉 MLP，融合注意力与前馈&lt;/td&gt;
&lt;td&gt;系统优化——保留标准组件但逐一优化&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;MLP 处理&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;完全移除，用门控融合替代&lt;/td&gt;
&lt;td&gt;保留并升级为 MoE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;复杂度控制&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;通过简化架构降低 FLOPs&lt;/td&gt;
&lt;td&gt;通过稀疏注意力 + 查询裁剪&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;过拟合应对&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;主要通过架构简化&lt;/td&gt;
&lt;td&gt;生成式预训练 + 嵌入冻结&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;落地路径&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;需要深度定制&lt;/td&gt;
&lt;td&gt;更接近标准 Transformer，迁移成本低&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="7-深入讨论"&gt;7. 深入讨论&lt;/h2&gt;
&lt;h3 id="71-为什么局部注意力比全局注意力更好"&gt;7.1 为什么局部注意力比全局注意力更好？&lt;/h3&gt;
&lt;p&gt;这是论文中最反直觉的发现之一——按直觉，&amp;ldquo;看到更多信息&amp;quot;应该总是更好的，但实验结果表明窗口大小 256 的局部注意力甚至超越了完整的全局因果注意力。我们从多个角度深入分析这一现象：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;推荐场景的时间局部性&lt;/strong&gt;：与自然语言不同，推荐场景中的用户行为序列具有强烈的时间衰减特性。用户一周前浏览的商品类别可能与当前兴趣完全无关。全局注意力会将有限的注意力容量&amp;quot;浪费&amp;quot;在这些过时的信息上，而局部注意力强制模型聚焦于最相关的近期行为&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;隐式正则化与过拟合缓解&lt;/strong&gt;：在高特征稀疏性的推荐场景中，全局注意力提供了更大的参数自由度，但这反而加剧了过拟合风险。局部注意力通过限制感受野，引入了一种结构化的正则化约束——它减少了模型可以&amp;quot;记忆&amp;quot;的训练样本模式，迫使模型学习更泛化的特征&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;梯度质量与优化效率&lt;/strong&gt;：全局注意力中，远距离 Token 对的梯度信号通常较弱且噪声较大（因为远距离行为的相关性本身就低）。这些低质量梯度会干扰有效的参数更新。局部注意力过滤掉了这些噪声梯度源，使每次参数更新都更加精准&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;与查询裁剪的层级协同&lt;/strong&gt;：局部注意力在&amp;quot;水平方向&amp;quot;限制了每层的感受野，查询裁剪在&amp;quot;垂直方向&amp;rdquo;（跨层）逐步收缩活跃的 Token 数量。两者共同构成了一个&amp;quot;由近到远、由多到少&amp;quot;的层级化信息访问模式，这与推荐系统中&amp;quot;近期行为重要性递减&amp;quot;的直觉完美契合&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;计算效率的连锁效应&lt;/strong&gt;：局部注意力将复杂度降至线性后，省下的计算资源可以用于增加模型层数或训练更多轮次，间接提升了模型性能&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="72-冻结-embedding-的理论解释"&gt;7.2 冻结 Embedding 的理论解释&lt;/h3&gt;
&lt;p&gt;冻结策略的成功可以从&lt;strong&gt;优化景观（Optimization Landscape）&lt;/strong&gt; 的角度理解：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;参数空间解耦&lt;/strong&gt;：将&amp;quot;学习物品表示&amp;quot;和&amp;quot;学习排序决策&amp;quot;解耦为两个独立的优化问题&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;降维效果&lt;/strong&gt;：冻结 Embedding 后，可训练参数量大幅减少（通常减少 90%+），优化景观变得更加平滑&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;正则化效果&lt;/strong&gt;：冻结相当于一种极强的正则化——强制模型在预训练给定的特征空间中学习排序&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="73-moe-在推荐排序中的前景"&gt;7.3 MoE 在推荐排序中的前景&lt;/h3&gt;
&lt;p&gt;SORT 首次在工业级排序模型中成功应用了 MoE，这为推荐系统的模型设计打开了新的方向：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;容量扩展&lt;/strong&gt;：MoE 允许在固定计算预算下大幅扩展模型参数量&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;专业化分工&lt;/strong&gt;：不同专家可以自然地学习处理不同类型的用户行为或物品类别&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;与推荐场景的天然契合&lt;/strong&gt;：推荐数据的异构性（多种行为类型、多种物品类别）天然适合专家路由机制&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="8-总结与展望"&gt;8. 总结与展望&lt;/h2&gt;
&lt;h3 id="81-核心贡献总结"&gt;8.1 核心贡献总结&lt;/h3&gt;
&lt;p&gt;SORT 的核心贡献可以归纳为以下几点：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;问题诊断&lt;/strong&gt;：系统性地识别了 Transformer 应用于工业级排序的核心矛盾——高特征稀疏性与低标签密度&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;架构创新&lt;/strong&gt;：提出了一套互补的优化方案（请求中心组织、稀疏注意力、查询裁剪、MoE FFN、生成式预训练+冻结），形成有机整体&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;系统工程&lt;/strong&gt;：从训练端（MFU 13%→22%）到推理端（延迟 -44.67%，吞吐量 +121.33%）的全链路优化&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;业务验证&lt;/strong&gt;：在 AliExpress 多场景 A/B 测试中取得订单 +6.35%、GMV +5.47% 的显著收益&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="82-对行业的启示"&gt;8.2 对行业的启示&lt;/h3&gt;
&lt;p&gt;SORT 的成功给推荐系统领域带来了几个重要启示：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;统一架构是可行的&lt;/strong&gt;：不需要为每个特征交互方式设计专用模块，Transformer 的注意力机制可以自动学习&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;预训练是关键&lt;/strong&gt;：生成式预训练 + 冻结策略为解决推荐模型的过拟合提供了一条可行路径&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;系统优化与算法创新同等重要&lt;/strong&gt;：好的算法如果不能高效部署，就无法产生业务价值&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;特征工程仍有价值&lt;/strong&gt;：Transformer 并非完全取代特征工程，而是与之互补&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="83-未来展望"&gt;8.3 未来展望&lt;/h3&gt;
&lt;p&gt;基于 SORT 的工作，推荐排序 Transformer 的未来发展方向可能包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;统一召回与排序&lt;/strong&gt;：用同一个 Transformer 模型同时处理召回和排序，进一步简化系统架构&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;在线学习与预训练的融合&lt;/strong&gt;：探索如何在不断变化的数据流中持续更新预训练 Embedding&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;更高效的 MoE 方案&lt;/strong&gt;：探索更细粒度的专家路由策略，进一步提升模型容量与计算效率的比值&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;跨场景迁移&lt;/strong&gt;：将 SORT 的框架迁移到视频推荐、社交推荐等其他场景&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;多模态融合&lt;/strong&gt;：更深层次地融合文本、图像、视频等多模态物品特征&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="参考文献"&gt;参考文献&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;SORT: A Systematically Optimized Ranking Transformer for Industrial-scale Recommenders.
&lt;/li&gt;
&lt;li&gt;Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations (HSTU).
&lt;/li&gt;
&lt;li&gt;Scaling Transformers for Discriminative Recommendation via Generative Pretraining (GPSD).
&lt;/li&gt;
&lt;li&gt;DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model.
&lt;/li&gt;
&lt;li&gt;RoFormer: Enhanced Transformer with Rotary Position Embedding (RoPE).
&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>美团推荐大模型 MTFM (Meituan Foundation Model) 深度硬核解析：跨场景推荐的终极答案？</title><link>https://dingyadong.top/posts/010_mtfm_meituan_foundation_model/</link><pubDate>Wed, 25 Mar 2026 20:00:00 +0800</pubDate><guid>https://dingyadong.top/posts/010_mtfm_meituan_foundation_model/</guid><description>&lt;h2 id="1-导言推荐系统的大模型时代与多场景之痛"&gt;1. 导言：推荐系统的“大模型”时代与多场景之痛&lt;/h2&gt;
&lt;p&gt;在过去几年里，大语言模型（Large Language Models, LLMs）的飞速发展，彻底重塑了人工智能的版图。从单模态的文本生成到多模态的图文视频理解，基座模型（Foundation Models, FMs）以其统一的架构和惊人的“涌现能力”（Emergent Abilities），证明了 Scaling Laws（缩放定律）的伟大力量。而在推荐系统（Recommender Systems, RecSys）领域，工业界也逐渐开始验证 Scaling Laws，尝试通过增加模型参数量和训练数据量来打破业务指标的天花板。&lt;/p&gt;
&lt;p&gt;然而，传统的推荐系统往往被局限在“单一场景”（Single-scenario）的孤岛中。例如，在外卖平台中，“美食推荐”、“商家推荐”、“神抢手（券包推荐）”等场景各自拥有独立的模型和特征体系。这种孤岛模式严重限制了推荐模型吸收全局数据的能力，使得 Scaling Laws 的潜力难以被完全释放。受到多模态大模型的启发，美团的技术团队提出：&lt;strong&gt;推荐大模型的下一个突破口，在于跨越场景的异构性，建立一个统一的、无需严格对齐的底层基础模型。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这便是本文要深度剖析的主角——发表于 2025 年的重磅工业级论文 &lt;strong&gt;《MTFM: A Scalable and Alignment-free Foundation Model for Industrial Recommendation in Meituan》&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;这篇论文不仅仅是一个模型结构的创新，它更是一整套从数据组织、网络架构到系统算子级优化的“全栈式”工业级解决方案。为了让你彻底读懂这篇论文，本文将以超过两万字的篇幅，从最基础的背景出发，一层一层地剥开 MTFM 的技术内核，带你领略美团在推荐大模型领域的顶级工程与算法实践。&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="11-推荐大模型必须具备的三个核心属性"&gt;1.1 推荐大模型必须具备的三个核心属性&lt;/h3&gt;
&lt;p&gt;在探讨 MTFM 之前，我们需要先思考一个问题：一个真正意义上的“推荐基础模型”（Recommendation Foundation Model），到底应该长什么样？美团的团队在论文中给出了三个核心定义：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;可扩展性（Scalability）&lt;/strong&gt;：模型必须能够随着参数量和数据量的增加，带来稳定、可预测的性能提升。这要求模型摒弃过去那种基于专家经验手工设计的复杂特征交叉结构（如 DCN、DeepFM 等），转而采用类似 Transformer 的深度自注意力机制，让模型自己去学习普适的行为规律。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;可延展性（Extensibility）&lt;/strong&gt;：模型必须能够无缝地适应任意数量的现有场景，或者以极低的成本接入未来的新场景。这意味着模型不能依赖于固定的特征输入模板，必须能够处理不同场景下高度异构的特征空间。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;高效性（Efficiency）&lt;/strong&gt;：工业级推荐系统每天需要处理数百亿次的请求和海量的曝光日志。框架必须在训练和推理阶段都保持极低的计算开销，否则庞大的算力成本将使得模型在现实中根本无法落地。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="12-传统多场景推荐msr模型的困境"&gt;1.2 传统多场景推荐（MSR）模型的困境&lt;/h3&gt;
&lt;p&gt;在 MTFM 出现之前，工业界处理多场景推荐（Multi-Scenario Recommendation, MSR）主要遵循一种 &lt;strong&gt;“先对齐，后分解”（Harmonize-then-decompose）&lt;/strong&gt; 的范式。&lt;/p&gt;
&lt;p&gt;经典的代表作包括阿里的 STAR（Star Topology Adaptive Recommender）、M3OE 等。这些模型通常的做法是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;在数据端&lt;/strong&gt;：将多个场景的数据强行拼接到一起，使用一个固定的特征模板（Fixed Template）。如果某个场景缺少某些特征（例如商家推荐场景没有菜品口味标签），就用 Padding（如零值或默认值）来填充；如果某些异构特征无法对齐，干脆直接丢弃。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;在模型端&lt;/strong&gt;：通过 MoE（Mixture of Experts）或星型拓扑结构，将模型参数解耦为“领域无关”（Domain-invariant）的共享参数和“领域特定”（Domain-specific）的独有参数。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;然而，这种范式在面对真实的超级工业生态时，暴露出三大致命弱点：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;延展性的僵局（Rigidity in Extensibility）&lt;/strong&gt;：在美团这样的超级平台上，不同场景的特征模式（Feature Schemas）差异极大。强迫成百上千的异构特征去适配一个固定的模板，不仅容易出错，而且会导致严重的信息丢失。大量的 Padding 操作不仅浪费了存储，还引入了噪音。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;架构缺乏可扩展性（Lack of Architectural Scalability）&lt;/strong&gt;：无论是 STAR 还是各类复杂的 MoE 结构，本质上仍然是基于专家启发式规则（Expert Heuristics）手工打造的“定制化”网络。这种高度定制化的网络结构，很难像纯粹的 Transformer 那样，享受到简单堆叠层数带来的 Scaling Laws 红利。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;高昂的计算成本（Prohibitive Computational Costs）&lt;/strong&gt;：在传统范式下，训练成本随着数据量的增加呈线性甚至超线性增长。将海量的多场景数据简单粗暴地融合在一起训练，会导致算力开销呈指数级爆炸，在经济上完全不可行。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;面对这些痛点，MTFM 给出的答案是：&lt;strong&gt;抛弃对齐（Alignment-free），万物皆 Token（Heterogeneous Tokenization），并引入混合目标注意力机制（Hybrid Target Attention）和极致的系统级优化。&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="2-核心思想与方法论摒弃对齐拥抱异构"&gt;2. 核心思想与方法论：摒弃“对齐”，拥抱“异构”&lt;/h2&gt;
&lt;p&gt;在自然语言处理领域，无论是英文、中文还是代码，都可以通过 Tokenizer（如 BPE、TikToken）统一转化为 Token 序列。MTFM 敏锐地捕捉到了这一点，将其引入到推荐系统中，提出了 &lt;strong&gt;异构 Token 化（Heterogeneous Tokenization）&lt;/strong&gt; 的概念。&lt;/p&gt;
&lt;h3 id="21-从特征模板到异构-token-序列"&gt;2.1 从特征模板到异构 Token 序列&lt;/h3&gt;
&lt;p&gt;在传统的深度学习推荐模型（DLRM）中，输入通常是一个超大的稀疏向量或稠密 Embedding 的拼接：
&lt;code&gt;[User_Emb, Item_Emb, Context_Emb, Cross_Emb, ...]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;这种结构要求每一条样本都必须具有相同的维度和特征组合。而在 MTFM 中，输入不再是一个固定长度的向量，而是一个 &lt;strong&gt;变长的异构 Token 序列（Variable-length Sequence of Heterogeneous Tokens）&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;具体来说，MTFM 将推荐系统中的所有特征抽象为三类核心 Token：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;H-token (Historical tokens)&lt;/strong&gt;：代表用户的长期历史交互行为序列。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;R-token (Real-time tokens)&lt;/strong&gt;：代表用户近期的、实时的跨场景交互行为序列。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;T-token (Target tokens)&lt;/strong&gt;：代表当前正在被请求或曝光的目标候选项（Candidate Items）及其对应的上下文和交叉特征。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="211-h-token-与-r-token-的生成"&gt;2.1.1 H-token 与 R-token 的生成&lt;/h4&gt;
&lt;p&gt;以用户的历史行为序列 \(\{H_i\}\) 为例。序列中的每一个交互商品（Item） \(h_{ij}\) 都对应一个 H-token。由于不同历史序列中包含的特征维度可能不同，MTFM 为不同的历史序列分配了不同的 MLP（多层感知机）作为专属的 Tokenizer。&lt;/p&gt;
&lt;p&gt;将原始特征经过 Embedding 层映射后，通过对应的 MLP 投影到一个统一的维度 \(d_{model}\)：&lt;/p&gt;
$$
\mathbf{h}_{ij} = \text{MLP}_i(\text{Emb}(h_{ij}))
$$&lt;p&gt;随后，MTFM 将所有历史序列中的 Item Token 按照时间戳（Chronological order）进行排序，形成一个统一的 Embedding 矩阵：&lt;/p&gt;
$$
\mathbf{H} \in \mathbb{R}^{L_H \times d_{model}}
$$&lt;p&gt;其中 \(L_H\) 是所有历史序列中 Item 的总数。&lt;/p&gt;
&lt;p&gt;同理，用户的实时序列特征也被转化为 R-token 矩阵：&lt;/p&gt;
$$
\mathbf{R} \in \mathbb{R}^{L_R \times d_{model}}
$$&lt;h4 id="212-t-token-的生成"&gt;2.1.2 T-token 的生成&lt;/h4&gt;
&lt;p&gt;对于当前曝光的候选目标，MTFM 将用户画像特征（User Profile, \(U^s\)）、场景特定的交叉特征（Cross Features, \(C_i^s\)）以及目标物品特征（Item Features, \(I_i^s\)）进行拼接，并通过该场景特定的 MLP 进行降维投影：&lt;/p&gt;
$$
\mathbf{t}_i^s = \text{MLP}_s(\text{Emb}(U^s) \| \text{Emb}(C_i^s) \| \text{Emb}(I_i^s))
$$&lt;p&gt;这里 \(\|\) 表示列拼接（Column concatenation）。所有场景下的曝光行为最终被转化为 T-token 矩阵：&lt;/p&gt;
$$
\mathbf{T} \in \mathbb{R}^{L_T \times d_{model}}
$$&lt;p&gt;其中 \(L_T\) 是所有场景下曝光样本的总数。&lt;/p&gt;
&lt;h4 id="213-统一序列表示"&gt;2.1.3 统一序列表示&lt;/h4&gt;
&lt;p&gt;最终，所有的 H-token、R-token 和 T-token 会在行方向（Row concatenation）上进行拼接，形成输入到 Transformer 骨干网络的初始 Embedding 矩阵：&lt;/p&gt;
$$
\mathbf{X}^{(0)} = (\mathbf{H}; \mathbf{R}; \mathbf{T}) \in \mathbb{R}^{N \times d_{model}}
$$&lt;p&gt;这里的 \(N = L_H + L_R + L_T\)，即序列的总长度。对于不同的用户，这个 \(N\) 是可变的（Variable-length）。&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Figure 1: MTFM H/R/T Token 结构 - 从异构特征到统一序列"
srcset="https://dingyadong.top/posts/010_mtfm_meituan_foundation_model/figure_hrt_tokens_hu_8cc6582177063c86.webp 320w, https://dingyadong.top/posts/010_mtfm_meituan_foundation_model/figure_hrt_tokens_hu_6eed98e8a12ca5e.webp 480w, https://dingyadong.top/posts/010_mtfm_meituan_foundation_model/figure_hrt_tokens_hu_47221da93cb3965b.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/010_mtfm_meituan_foundation_model/figure_hrt_tokens_hu_8cc6582177063c86.webp"
width="760"
height="570"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;【深度思考：异构 Token 化的绝妙之处】&lt;/strong&gt;
这种设计彻底打破了传统 DLRM 对特征维度的强绑定。因为所有特征最终都被映射到了统一的 \(d_{model}\) 维度，Transformer 内部的注意力机制根本不需要知道某个 Token 是来自外卖场景还是单车场景，它只需要计算 Token 之间的相关性（Attention Score）。这种“Alignment-free”的特性，使得 MTFM 可以极其轻松地接入任何新的业务场景——只需要为新场景训练一个极小的 \(\text{MLP}_s\) 作为 Tokenizer 即可，骨干网络的参数无需做任何结构性修改。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="3-数据组织革命user-level-多场景样本聚合"&gt;3. 数据组织革命：User-level 多场景样本聚合&lt;/h2&gt;
&lt;p&gt;理解了 Token 化之后，我们面临下一个严峻挑战：计算复杂度。
如果按照传统的“曝光级别”（Impression-level）进行训练，即每一次曝光（一个 User 对应一个 Item）作为一条独立样本，那么对于同一个用户，他极其冗长的历史行为序列（H-token）和实时序列（R-token）会在成百上千条样本中被重复计算。&lt;/p&gt;
&lt;p&gt;在标准的 Transformer 中，自注意力机制的时间复杂度是 \(O(N^2 \cdot d)\)。如果序列长度 \(N\) 达到几千，这种重复计算将带来毁灭性的算力浪费。&lt;/p&gt;
&lt;h3 id="31-继承与超越从-mtgr-到多场景聚合"&gt;3.1 继承与超越：从 MTGR 到多场景聚合&lt;/h3&gt;
&lt;p&gt;为了解决这个问题，MTFM 继承了美团此前在 MTGR（Multi-Task Generative Recommendation）论文中提出的 &lt;strong&gt;用户级（User-level）样本聚合&lt;/strong&gt; 技术，并将其突破性地扩展到了多场景（Multi-scenario）环境。&lt;/p&gt;
&lt;p&gt;在离线训练阶段，MTFM 将某个特定时间窗口内，&lt;strong&gt;同一个用户在所有业务场景下的所有曝光行为&lt;/strong&gt;，全部聚合为一条“超级样本”。&lt;/p&gt;
&lt;p&gt;具体来说，每个用户 \(u\) 对应一条包含海量信息的训练样本 \(\mathbb{D}_u = (X_u, Y_u)\)。
输入特征集 \(X\) 可以表示为：&lt;/p&gt;
$$
X = [ \{H_i\}_{i=1}^{N_H}, \{R_i\}_{i=1}^{N_R}, \{U^s\}_{s=1}^{N_S}, \{\{C_i^s, I_i^s\}_{i=1}^{N_E^s}\}_{s=1}^{N_S} ]
$$&lt;p&gt;标签集 \(Y\) 表示为：&lt;/p&gt;
$$
Y = \{\{Y_i^s\}_{i=1}^{N_E^s}\}_{s=1}^{N_S}
$$&lt;p&gt;参数解释：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;\(N_S\)：业务场景的总数。&lt;/li&gt;
&lt;li&gt;\(N_E^s\)：在场景 \(s\) 下的曝光总数。&lt;/li&gt;
&lt;li&gt;\(H_i, R_i\)：跨场景共享的历史和实时序列。&lt;/li&gt;
&lt;li&gt;\(U^s, C_i^s, I_i^s\)：场景 \(s\) 特有的用户画像、交叉特征和物品特征。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="32-共享与独立解耦特征处理管线"&gt;3.2 共享与独立：解耦特征处理管线&lt;/h3&gt;
&lt;p&gt;由于不同场景的特征模式存在本质上的不兼容（例如外卖场景的标签和打车场景的标签完全不同），MTFM 在数据流水线（Data Pipeline）上做出了精妙的设计：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;场景独立聚合&lt;/strong&gt;：对于场景特定的特征（\(U, C, I\)），首先在各个场景内部按照 User-level 进行聚合。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;跨场景拼接&lt;/strong&gt;：将聚合后的各场景特征按照列方向（Column-wise）拼接，形成一个统一的候选目标表征。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;全局特征合并&lt;/strong&gt;：最后，将全场景共享的特征（用户的生命周期历史序列 \(H\) 和实时序列 \(R\)）与上述拼接结果在 User-level 进行合并。&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="mermaid-wrapper"&gt;
&lt;div class="mermaid" style="background: transparent;"&gt;
graph TD
U1[外卖 User特征] &amp; C1[外卖 交叉特征] &amp; I1[外卖 Item特征] --&gt; Agg1[外卖 场景聚合]
U2[优选 User特征] &amp; C2[优选 交叉特征] &amp; I2[优选 Item特征] --&gt; Agg2[优选 场景聚合]
Agg1 &amp; Agg2 --&gt; Concat[T-token 拼接]
H[H-token 长序列] &amp; R[R-token 实时序列] &amp; Concat --&gt; Merge[超级样本构建]
Merge --&gt; MTFM[MTFM 模型]
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;这种设计彻底避免了数据 Pipeline 中的重复计算和冗余存储。在推理阶段（Online Inference），由于各个场景是独立发起请求的，每个场景只需要部署 MTFM 中与自己相关的 &lt;strong&gt;子图（Subgraph）&lt;/strong&gt;。推理请求在 Request-level 进行聚合，子图会自动绕过其他场景专属的 MLP Tokenizer，从而实现极高的推理效率。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="4-网络架构深度剖析混合目标注意力机制-hta"&gt;4. 网络架构深度剖析：混合目标注意力机制 (HTA)&lt;/h2&gt;
&lt;p&gt;如果说异构 Token 化和 User-level 聚合是 MTFM 的数据地基，那么 &lt;strong&gt;混合目标注意力机制（Hybrid Target Attention, HTA）&lt;/strong&gt; 则是其架构上的王冠。&lt;/p&gt;
&lt;p&gt;将推荐系统转化为 Transformer 的序列建模任务后，面临的最大梦魇就是 \(O(N^2)\) 的复杂度。虽然 User-level 聚合消除了冗余计算，但把所有场景的曝光候选物品（T-token）和超长历史序列（H/R-token）拼在一起，序列长度 \(N\) 极容易突破数千甚至上万。&lt;/p&gt;
&lt;p&gt;为了平衡模型的表达能力（Efficacy）和计算效率（Efficiency），MTFM 借鉴了 LLM 领域的稀疏注意力思想，提出了一种由 &lt;strong&gt;全注意力层（Full Attention Layer）&lt;/strong&gt; 和 &lt;strong&gt;目标注意力层（Target Attention Layer）&lt;/strong&gt; 交替堆叠的混合架构。&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Figure 1: MTFM Token Structure with H/R/T Heterogeneous Tokenization"
srcset="https://dingyadong.top/posts/010_mtfm_meituan_foundation_model/figure_hrt_tokens_hu_8cc6582177063c86.webp 320w, https://dingyadong.top/posts/010_mtfm_meituan_foundation_model/figure_hrt_tokens_hu_6eed98e8a12ca5e.webp 480w, https://dingyadong.top/posts/010_mtfm_meituan_foundation_model/figure_hrt_tokens_hu_47221da93cb3965b.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/010_mtfm_meituan_foundation_model/figure_hrt_tokens_hu_8cc6582177063c86.webp"
width="760"
height="570"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 id="41-全注意力层-full-attention-layer-与动态掩码"&gt;4.1 全注意力层 (Full Attention Layer) 与动态掩码&lt;/h3&gt;
&lt;p&gt;在模型由 \(B\) 个堆叠的 Block 组成，为了缓解二次复杂度瓶颈，每个 Block 会包含 1 个全注意力层，以及随后紧跟的 \(K\) 个目标注意力层。&lt;/p&gt;
&lt;p&gt;在全注意力层中，模型计算所有 Token 之间的全局依赖关系。为了进一步降低显存和计算开销，MTFM 采用了 &lt;strong&gt;分组查询注意力（Grouped-Query Attention, GQA）&lt;/strong&gt;。GQA 相比于 Multi-Head Attention (MHA)，多个 Query 共享一组 Key 和 Value，在保持模型效果几乎不变的前提下，大幅减少了 KV Cache 的显存占用。&lt;/p&gt;
&lt;p&gt;全注意力层的数学表达如下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;线性映射与分组切分&lt;/strong&gt;：
&lt;/p&gt;
$$
\mathbf{U}^{(l)}, \{\mathbf{Q}^{(l,h)}\}_{h=1}^{H}, \{\mathbf{K}^{(l,g)}, \mathbf{V}^{(l,g)} \}_{g=1}^G = \text{Split}(\phi_1(f_1^{(l)}(\widetilde{\mathbf{X}}^{(l)})))
$$&lt;p&gt;
其中 \(H\) 是 Query 的头数，\(G\) 是 KV 的头数，\(r = H/G\)。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;注意力计算与动态掩码（Dynamic Masking）&lt;/strong&gt;：
&lt;/p&gt;
$$
\mathbf{A}^{(l,h)} = \phi_2(\mathbf{Q}^{(l,h)} \mathbf{K}^{(l,g)T} \odot \mathbf{M}) \mathbf{V}^{(l,g)}
$$&lt;p&gt;
&lt;/p&gt;
$$
\mathbf{A}^{(l)} = \mathbf{A}^{(l,1)} \| \cdots \| \mathbf{A}^{(l,H)}
$$&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;门控层归一化与残差连接&lt;/strong&gt;：
&lt;/p&gt;
$$
\mathbf{X}^{(l+1)} = f_2^{(l)}(\text{GLN}(\mathbf{A}^{(l)}) \odot \mathbf{U}^{(l)}) + \mathbf{X}^{(l)}
$$&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="411-防止信息泄露的动态掩码"&gt;4.1.1 防止信息泄露的动态掩码 \(\mathbf{M}\)&lt;/h4&gt;
&lt;p&gt;在 User-level 聚合中，由于实时序列 \(R\) 和当前曝光目标 \(T\) 在时间上可能存在重叠，如果不加以限制，模型在预测时就会“看到未来”的数据，导致严重的信息泄露（Information Leakage）。&lt;/p&gt;
&lt;p&gt;为此，MTFM 根据时间戳构建了极其严格的动态掩码矩阵 \(\mathbf{M}\)：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;H-tokens 视野&lt;/strong&gt;：H-token 对所有后续 Token 可见，因为它们代表最基础的历史偏好。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;R-tokens 视野&lt;/strong&gt;：R-token 遵循严格的因果掩码（Causal Mask），只能被时间戳晚于自己的 Token 看到。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;T-tokens 视野&lt;/strong&gt;：T-token 之间互相不可见（因为在一次曝光请求中，各个候选 Item 应该是平行的），T-token 只能看到自己以及时间戳早于它的 H 和 R。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Figure 2: Hybrid Target Attention (HTA) Architecture with Full and Target Attention Layers"
srcset="https://dingyadong.top/posts/010_mtfm_meituan_foundation_model/figure_hta_architecture_hu_c0f316c30ea751ac.webp 320w, https://dingyadong.top/posts/010_mtfm_meituan_foundation_model/figure_hta_architecture_hu_37f6e85c79864a9c.webp 480w, https://dingyadong.top/posts/010_mtfm_meituan_foundation_model/figure_hta_architecture_hu_3e310efa3590fc65.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/010_mtfm_meituan_foundation_model/figure_hta_architecture_hu_c0f316c30ea751ac.webp"
width="760"
height="646"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 id="42-目标注意力层-target-attention-layer极致降本的核心"&gt;4.2 目标注意力层 (Target Attention Layer)：极致降本的核心&lt;/h3&gt;
&lt;p&gt;全注意力层虽然强大，但每一层都做 \(O(N^2)\) 的计算实在是太奢侈了。在推荐系统的预测任务中，我们真正关心的是 &lt;strong&gt;最终目标（T-tokens）&lt;/strong&gt; 的表达，历史序列（H/R-tokens）的作用主要是作为 Context 辅助 T-token 的表征。&lt;/p&gt;
&lt;p&gt;因此，MTFM 在全注意力层之后，级联了 \(K\) 个 &lt;strong&gt;目标注意力层（Target Attention Layer）&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;在 Target Attention Layer 中，&lt;strong&gt;模型只更新 T-token 的 Embedding&lt;/strong&gt;，而 H-token 和 R-token 的 Embedding 直接通过 Shortcut（捷径）连接，原封不动地传递到下一层！&lt;/p&gt;
&lt;p&gt;数学推导如下：&lt;/p&gt;
&lt;p&gt;首先，从归一化的特征矩阵和掩码矩阵中，单独切分出 T-token 对应的部分：&lt;/p&gt;
$$
\widetilde{\mathbf{X}}^{(l)}_T = \widetilde{\mathbf{X}}^{(l)}[L_H+L_R:]
$$$$
\mathbf{M}_T = \mathbf{M}[L_H+L_R:]
$$&lt;p&gt;接下来，只用 T-token 去生成 Query \(\mathbf{Q}_T\)，而 Key \(\mathbf{K}\) 和 Value \(\mathbf{V}\) 依然由全局序列生成：&lt;/p&gt;
$$
\mathbf{U}^{(l)}_T, \{\mathbf{Q}^{(l,h)}_T\}_{h=1}^H = \text{Split}(\phi_1(f_{uq}^{(l)}(\widetilde{\mathbf{X}}_T^{(l)})))
$$$$
\{\mathbf{K}^{(l,g)}, \mathbf{V}^{(l,g)}\}_{g=1}^G = \text{Split}(\phi_1(f_{kv}^{(l)}(\widetilde{\mathbf{X}}^{(l)})))
$$&lt;p&gt;注意力计算只在 T-token 作为 Query 时发生：&lt;/p&gt;
$$
\mathbf{A}^{(l,h)}_T = \phi_2(\mathbf{Q}_T^{(l,h)} \mathbf{K}^{(l,g)T} \odot \mathbf{M}_T) \mathbf{V}^{(l,g)}
$$$$
\mathbf{X}^{(l+1)}_T = f_2^{(l)}(\text{GLN}(\mathbf{A}_T^{(l)}) \odot \mathbf{U}_T^{(l)}) + \mathbf{X}_T^{(l)}
$$&lt;p&gt;最后，将更新后的 T-token 与未更新的 H/R-token 重新拼接，输出给下一层：&lt;/p&gt;
$$
\mathbf{X}^{(l+1)} = (\mathbf{X}^{(l)}[:L_H+L_R]; \mathbf{X}^{(l+1)}_T)
$$&lt;p&gt;&lt;strong&gt;【复杂度革命性降低】&lt;/strong&gt;
在标准的 Transformer 中，一层的复杂度是 \(O(N^2)\)。
在 Target Attention 中，因为 Query 的数量从 \(N\) 骤降到了 \(L_T\)（通常 \(L_T \ll N\)），注意力矩阵的大小从 \(N \times N\) 缩小到了 \(L_T \times N\)。
因此，单个 Target Attention Layer 的复杂度降为 \(O(N \cdot L_T)\)。&lt;/p&gt;
&lt;p&gt;结合 1 层 Full Attention 和 \(K\) 层 Target Attention，一个 Block 的平均复杂度被大幅压缩至：&lt;/p&gt;
$$
O\left(\frac{K \cdot N \cdot L_T + N^2}{K+1}\right)
$$&lt;p&gt;由于 \(L_T\) 远远小于 \(N\)，这一设计让 MTFM 的训练吞吐量（Throughput）直接 &lt;strong&gt;翻倍（2x Speedup）&lt;/strong&gt;，且实验证明模型精度没有任何损失！&lt;/p&gt;
&lt;p&gt;最后，最后一层输出的 T-tokens 会被送入一个 MMoE（Multi-gate Mixture-of-Experts）模块，用于计算多场景下不同目标（如 CTR、CTCVR 等）的最终预估分。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="5-挑战工程极限系统级与算子级极致优化"&gt;5. 挑战工程极限：系统级与算子级极致优化&lt;/h2&gt;
&lt;p&gt;学术界的论文往往止步于漂亮的公式，但工业界的落地必须面对冰冷的硬件指标。为了让 MTFM 在美团这种日均百亿请求级别的场景中真正跑起来，工程团队在系统底层进行了令人叹为观止的深度优化。&lt;/p&gt;
&lt;h3 id="51-离线训练的外科手术"&gt;5.1 离线训练的“外科手术”&lt;/h3&gt;
&lt;h4 id="511-斩断-cpu-gpu-的流水线阻塞-pipeline-stall"&gt;5.1.1 斩断 CPU-GPU 的流水线阻塞 (Pipeline Stall)&lt;/h4&gt;
&lt;p&gt;在 LLM 训练中，所有的文本 Tokenization 都可以在 GPU 上飞速完成，整个训练过程高度端到端。
而在推荐系统中，特征工程极为繁重，大量的稀疏特征查找、拼接、聚合必须在 CPU 上进行。这就导致了 GPU 上计算极快的模型，常常需要停下来“干等” CPU 传输数据。这种 Host（CPU）与 Device（GPU）之间频繁的数据同步和串行依赖，形成了严重的 Pipeline Stall。&lt;/p&gt;
&lt;p&gt;美团团队使用 CUDA Profiler 对框架进行了地毯式排查。优化策略主要有两点：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;消除同步点 (Eliminate Synchronization Points)&lt;/strong&gt;：通过精细的流水线编排，让 CPU 的特征处理与 GPU 的前向/反向传播时间互相掩盖（Overlap）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;优化 Device-to-Device (D2D) 拷贝&lt;/strong&gt;：推荐模型中存在大量的张量索引赋值操作。原生的 PyTorch 会触发多次碎片的 D2D 显存拷贝。MTFM 将这些操作合并为单次原子操作（Single Atomic Operations）。
这一套组合拳打下来，训练吞吐量硬生生提升了 &lt;strong&gt;20%&lt;/strong&gt;。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="512-为动态掩码量身定制-flashattention-2"&gt;5.1.2 为动态掩码量身定制 FlashAttention-2&lt;/h4&gt;
&lt;p&gt;FlashAttention-2 是 Transformer 时代的算力神兵，但它原生只针对标准的因果掩码（Causal Mask）进行了优化。面对 MTFM 中复杂的、针对 H/R/T token 各种定制的“动态非标准稀疏掩码”，FlashAttention-2 经常会因为内存访问不连续而导致效率暴跌。&lt;/p&gt;
&lt;p&gt;为了解决这个问题，美团团队直接手撕底层 Kernel：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;连续对齐内存布局&lt;/strong&gt;：重新构造了掩码的内存布局，满足异步拷贝（Asynchronous Copy）的对齐要求。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;共享内存极限压榨&lt;/strong&gt;：在极其有限的 Shared Memory 中精细设计数据流。前向计算时缓存掩码块，反向传播时让掩码与中间梯度变量实现“分时复用”。
通过将掩码加载延迟完全隐藏在计算流水线中，这一改动彻底释放了 GPU 算力。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="513-triton-算子融合-operator-fusion"&gt;5.1.3 Triton 算子融合 (Operator Fusion)&lt;/h4&gt;
&lt;p&gt;原生的 PyTorch 在计算 GLN（Group Layer Normalization）和构建动态掩码时，采用的是 Gather-Compute-Scatter 的碎片化模式。这会导致频繁的 Kernel Launch 开销和低效的全局内存读写。
MTFM 团队基于 OpenAI 的 Triton 框架，实现了 GLN 和动态掩码的&lt;strong&gt;算子融合&lt;/strong&gt;。通过向量化内存访问（Vectorized Memory Access）提升带宽利用率，并设计了分组并行计算模式，进一步消除了中间结果的反复读写。
&lt;strong&gt;算子层面的优化，为 MTFM 带来了额外的 57% 吞吐量提升！&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="52-在线推理的极限压榨"&gt;5.2 在线推理的“极限压榨”&lt;/h3&gt;
&lt;p&gt;训练阶段可以靠堆卡，但在线推理阶段每一毫秒的延迟都直接影响着用户体验和服务器成本。MTFM 的推理优化同样硬核：&lt;/p&gt;
&lt;h4 id="521-安培架构-24-结构化稀疏-structured-sparsity"&gt;5.2.1 安培架构 2:4 结构化稀疏 (Structured Sparsity)&lt;/h4&gt;
&lt;p&gt;MTFM 创新性地利用了 NVIDIA Ampere 架构 GPU 特有的 Sparse Tensor Cores。
在 HSTU 组件的线性投影层（计算 U, V, Q, K 及 Output）中，团队实施了 &lt;strong&gt;2:4 结构化剪枝（2:4 Structured Pruning）&lt;/strong&gt;。
这意味着在每 4 个连续的权重参数中，强制将 2 个较小的值置为 0。配合专属的硬件指令，这不仅将显存占用直接压缩了 50%，还利用 Sparse Tensor Cores 达到了双倍的理论峰值矩阵乘法吞吐量！
结果是：模型精度不降，吞吐量提升 10%，单次推理延迟下降 0.2ms。&lt;/p&gt;
&lt;h4 id="522-细粒度注意力剪枝-fine-grained-attention-pruning"&gt;5.2.2 细粒度注意力剪枝 (Fine-grained Attention Pruning)&lt;/h4&gt;
&lt;p&gt;动态掩码本质上是一种不规则稀疏矩阵。MTFM 在推理时设计了底层的计算跳过机制（Computation Skipping）。
它不仅能动态剔除因为 Padding 产生的无效计算，还能结合具体的业务先验知识（比如：强制屏蔽 User 特征对 Target 特征的无效注意力权重），在底层 Kernel 计算前就将这些分支剪除，进一步提升了 5% 的吞吐。&lt;/p&gt;
&lt;h4 id="523-场景感知子图部署与-m-falcon"&gt;5.2.3 场景感知子图部署与 M-Falcon&lt;/h4&gt;
&lt;p&gt;这是 MTFM 能在多场景落地的关键一环。
虽然 MTFM 是一个包含所有场景知识的“巨无霸”大模型，但在实际部署到“外卖”或者“优选”的推理机器上时，系统会自动将完整的计算图拆解。&lt;strong&gt;剥离掉与当前场景无关的特征处理分支（Scenario-aware Deployment）&lt;/strong&gt;，消除冗余计算。
同时，结合 BF16 半精度推理以及最新的 &lt;strong&gt;M-Falcon 智能微批处理（Micro-batching）算法&lt;/strong&gt;（通过 KV-Cache 共享进一步压榨 GPU 利用率），MTFM 将在线系统的并发能力推向了极致。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="6-实验验证震撼的业务收益"&gt;6. 实验验证：震撼的业务收益&lt;/h2&gt;
&lt;p&gt;在纸面上吹得再天花乱坠，也不如真实的线上指标来得实在。MTFM 在美团的多个真实核心场景中进行了严苛的 Offline 和 Online 验证。&lt;/p&gt;
&lt;h3 id="61-离线实验全面碾压-baseline"&gt;6.1 离线实验：全面碾压 Baseline&lt;/h3&gt;
&lt;p&gt;在离线评估中，MTFM 与业界顶级的多场景模型（如 STAR、M3OE 等）以及强大的单场景序列模型（如 HSTU、MTGR）进行了对比。&lt;/p&gt;
&lt;p&gt;结果显示，MTFM 在多个场景（如 SQS 神抢手、PHF 拼好饭、FDS 美食推荐等）的多个任务（CTR、CTCVR）上取得了压倒性的胜利：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CTR 任务&lt;/strong&gt;：平均 GAUC（Grouped Area Under the Curve）提升高达 &lt;strong&gt;0.36 pp&lt;/strong&gt;（百分点），在部分场景最高提升达 &lt;strong&gt;0.76 pp&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CTCVR 任务&lt;/strong&gt;：平均 GAUC 提升 &lt;strong&gt;0.29 pp&lt;/strong&gt;，峰值提升 &lt;strong&gt;0.53 pp&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;在推荐系统领域，千分之几的 GAUC 提升往往就能带来百万级的收入增长。0.36 pp 的平均提升，是一个堪称“跨代”的巨大突破。这证明了：&lt;strong&gt;让模型看到更多场景的异构数据，通过统一的大模型进行隐式知识迁移，远比在单场景下死磕模型结构要有效得多。&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="62-线上-ab-测试真金白银的业务增长"&gt;6.2 线上 A/B 测试：真金白银的业务增长&lt;/h3&gt;
&lt;p&gt;在线上真实流量的 A/B 测试中，MTFM 部署到了美团的“神抢手（SQS）”和“拼好饭（PHF）”等高流量场景。
实验结果令人振奋：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;神抢手（券包推荐）&lt;/strong&gt;：订单量（Orders）飙升 &lt;strong&gt;+2.98%&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;拼好饭（美食推荐）&lt;/strong&gt;：订单量提升 &lt;strong&gt;+1.45%&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这种直接拉动核心交易指标的成果，充分证明了 MTFM 框架在工业界超大规模落地中的巨大商业价值。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="7-深度反思与未来展望推荐系统终局之战"&gt;7. 深度反思与未来展望：推荐系统终局之战&lt;/h2&gt;
&lt;p&gt;当我们深入读完这篇长达近万字的顶级工业论文，我们不得不惊叹于美团算法与工程团队的魄力与技术底蕴。MTFM 不仅仅是一篇论文，它是推荐系统发展史上的一个重要缩影。&lt;/p&gt;
&lt;h3 id="71-从领域定制走向通用智能"&gt;7.1 从“领域定制”走向“通用智能”&lt;/h3&gt;
&lt;p&gt;过去十几年，推荐系统的发展史就是一部“特征交叉结构”的发明史。从 FM 到 DeepFM，从 DCN 到 xDeepFM，算法工程师们绞尽脑汁地设计各种网络来捕捉特征交互。在多场景领域，大家又在绞尽脑汁设计各种 MoE、MMoE、PLE 来隔离领域知识。&lt;/p&gt;
&lt;p&gt;而 MTFM 告诉我们：&lt;strong&gt;大道至简&lt;/strong&gt;。
不要再去手工设计复杂的塔结构了，不要再去强行对齐那些根本不属于同一个维度的特征了。把一切都变成 Token，扔进基于 Transformer 的基础模型中，让注意力机制（Attention）去自动学习特征之间的相关性。只要你的数据足够多、参数量足够大（Scaling Laws），基础模型的泛化能力会碾压一切手工设计的启发式规则。&lt;/p&gt;
&lt;h3 id="72-算法与工程的终极交响曲"&gt;7.2 算法与工程的终极交响曲&lt;/h3&gt;
&lt;p&gt;MTFM 的成功，一半归功于算法的洞察，一半归功于工程的极致压榨。
如果没有 User-level 的样本聚合，如果没有 Hybrid Target Attention 对复杂度的降维打击，如果没有 Triton 算子融合和 FlashAttention-2 的魔改，MTFM 根本不可能在成本敏感的工业界存活下来。
这给我们留下了深刻的启示：&lt;strong&gt;未来的推荐大模型工程师，必须是“全栈”的。&lt;/strong&gt; 你不仅要懂算法原理，还要懂 CUDA，懂 GPU 内存层级，懂 Triton 算子开发。算法的创新必须与底层硬件的特性深度绑定（Hardware-aware Co-design），才能爆发出真正的威力。&lt;/p&gt;
&lt;h3 id="73-推荐系统的未来dlrm-的终结"&gt;7.3 推荐系统的未来：DLRM 的终结？&lt;/h3&gt;
&lt;p&gt;随着 MTFM 这样基于纯 Transformer 骨干架构的基础模型在工业界大放异彩，我们不禁要问：传统的 DLRM 时代是否即将落幕？
当特征表征、序列建模、跨场景知识迁移都可以被统一到一个“万物皆 Token”的基础大模型中时，推荐系统正在以肉眼可见的速度向 NLP 的大语言模型（LLM）靠拢。&lt;/p&gt;
&lt;p&gt;或许在不久的将来，美团（甚至整个工业界）的推荐系统，将只剩下一个极其庞大的、不断 Scaling 的统一大模型。它吞噬着来自外卖、单车、优选、酒店等所有场景的数据，像一个无所不知的智慧大脑，为每一个用户提供最精准的个性化服务。&lt;/p&gt;
&lt;p&gt;MTFM，无疑是通向这个终局目标的一座坚实桥梁。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(全文完)&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="8-附录与深度扩展从理论到代码的终极拆解"&gt;8. 附录与深度扩展：从理论到代码的终极拆解&lt;/h2&gt;
&lt;p&gt;为了让对技术细节有极致追求的读者能够完全吃透 MTFM，我们在本节中增加更为底层的原理论证、伪代码实现以及与业界主流方案的硬核对比。这部分内容将深入到模型结构的神经末梢和 CUDA 算子的内存分配逻辑中。&lt;/p&gt;
&lt;h3 id="81-伪代码实现hybrid-target-attention-hta"&gt;8.1 伪代码实现：Hybrid Target Attention (HTA)&lt;/h3&gt;
&lt;p&gt;前文提到了全注意力层和目标注意力层的数学公式，这里我们将它们转化为更直观的 PyTorch 风格伪代码。这有助于理解 T-token 是如何在 Target Attention Layer 中被单独更新的，以及 Shortcut 的具体运作方式。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;torch&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;torch.nn&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;nn&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;torch.nn.functional&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;F&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;MTFM_Block&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nn&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Module&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="fm"&gt;__init__&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;d_model&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n_heads&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;num_target_layers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;super&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="fm"&gt;__init__&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;d_model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;d_model&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;num_target_layers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;num_target_layers&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 1层 Full Attention Layer (这里用标准的多头注意力替代 GQA 做演示)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;full_attn&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;MultiHeadAttention&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;d_model&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n_heads&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;full_ffn&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;FeedForward&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;d_model&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;full_norm1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nn&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;LayerNorm&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;d_model&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;full_norm2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nn&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;LayerNorm&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;d_model&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# K层 Target Attention Layers&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;target_attns&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nn&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ModuleList&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;MultiHeadAttention&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;d_model&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n_heads&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;_&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;num_target_layers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;target_ffns&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nn&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ModuleList&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;FeedForward&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;d_model&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;_&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;num_target_layers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;target_norm1s&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nn&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ModuleList&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;nn&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;LayerNorm&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;d_model&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;_&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;num_target_layers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;target_norm2s&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nn&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ModuleList&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;nn&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;LayerNorm&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;d_model&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;_&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;num_target_layers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;forward&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;mask&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;L_H&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;L_R&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt; x: [Batch_size, N, d_model], N = L_H + L_R + L_T
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt; mask: [Batch_size, N, N] 动态掩码矩阵
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt; &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# ==========================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 1. Full Attention Layer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# ==========================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;residual&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;x_norm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;full_norm1&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 全局计算 Q, K, V&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;attn_out&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;full_attn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;x_norm&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;x_norm&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;x_norm&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;mask&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;mask&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;residual&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;attn_out&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;residual&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;x_norm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;full_norm2&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;ffn_out&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;full_ffn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x_norm&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;residual&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;ffn_out&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# ==========================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 2. Target Attention Layers&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# ==========================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 找到 T-token 的起始位置&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;context_len&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;L_H&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;L_R&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;num_target_layers&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 将 x 拆分为 Context (H, R) 和 Target (T)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;x_context&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;[:,&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;context_len&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;:]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;x_target&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;[:,&lt;/span&gt; &lt;span class="n"&gt;context_len&lt;/span&gt;&lt;span class="p"&gt;:,&lt;/span&gt; &lt;span class="p"&gt;:]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 切分对应的 Mask&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Target 只需要看自己和早于它的 Context，因此 mask 的维度是 [Batch_size, L_T, N]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;target_mask&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;mask&lt;/span&gt;&lt;span class="p"&gt;[:,&lt;/span&gt; &lt;span class="n"&gt;context_len&lt;/span&gt;&lt;span class="p"&gt;:,&lt;/span&gt; &lt;span class="p"&gt;:]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;residual_target&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;x_target&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 对整个序列做 Norm 得到 Key 和 Value&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;x_norm_full&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;target_norm1s&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 只对 Target 做 Norm 得到 Query&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;q_target&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;x_norm_full&lt;/span&gt;&lt;span class="p"&gt;[:,&lt;/span&gt; &lt;span class="n"&gt;context_len&lt;/span&gt;&lt;span class="p"&gt;:,&lt;/span&gt; &lt;span class="p"&gt;:]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;k_full&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;x_norm_full&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;v_full&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;x_norm_full&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 注意力计算：Query 数量大幅减少，只有 L_T 个&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;attn_out_target&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;target_attns&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;q_target&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;k_full&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;v_full&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;mask&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;target_mask&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 更新 Target&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;x_target&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;residual_target&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;attn_out_target&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# FFN 更新 Target&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;residual_target&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;x_target&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;x_target_norm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;target_norm2s&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="n"&gt;x_target&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;ffn_out_target&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;target_ffns&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="n"&gt;x_target_norm&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;x_target&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;residual_target&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;ffn_out_target&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 将更新后的 Target 和未经修改的 Context 重新拼接，传给下一层！&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# 这是极其关键的一步，保证了 Context 表征的不变性与算力的极大节约&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;cat&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;x_context&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;x_target&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;dim&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;通过这段伪代码可以非常清晰地看到，&lt;code&gt;q_target&lt;/code&gt; 的维度是 &lt;code&gt;[Batch_size, L_T, d_model]&lt;/code&gt;，而 &lt;code&gt;k_full&lt;/code&gt; 的维度是 &lt;code&gt;[Batch_size, N, d_model]&lt;/code&gt;。矩阵乘法 \(Q \cdot K^T\) 的计算量直接从 \(O(N \times N)\) 暴跌到了 \(O(L_T \times N)\)。在工业界推荐系统中，\(L_H\) 和 \(L_R\)（历史行为）通常长达上千甚至数千，而 \(L_T\)（单次请求的曝光候选）可能只有几十到一两百。这种不对称性正是 Target Attention 能够实现“算力魔法”的物理基础。&lt;/p&gt;
&lt;h3 id="82-动态掩码-dynamic-masking-的拓扑结构解析"&gt;8.2 动态掩码 (Dynamic Masking) 的拓扑结构解析&lt;/h3&gt;
&lt;p&gt;在 MTFM 中，掩码的设计绝非简单的因果下三角（Lower Triangular Causal Mask）。为了防范极其隐蔽的数据穿越（Information Leakage），掩码矩阵 \(\mathbf{M}\) 的内部结构被精心雕琢。&lt;/p&gt;
&lt;p&gt;假设我们有 3 个 H-token (\(H_1, H_2, H_3\))，2 个 R-token (\(R_1, R_2\))，以及 2 个 T-token (\(T_1, T_2\))。
整个序列 \(X = [H_1, H_2, H_3, R_1, R_2, T_1, T_2]\)。&lt;/p&gt;
&lt;p&gt;其可见性矩阵 \(\mathbf{M}\)（1 表示可见，0 表示掩码屏蔽）如下所示：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: left"&gt;Query \ Key&lt;/th&gt;
&lt;th style="text-align: center"&gt;H1&lt;/th&gt;
&lt;th style="text-align: center"&gt;H2&lt;/th&gt;
&lt;th style="text-align: center"&gt;H3&lt;/th&gt;
&lt;th style="text-align: center"&gt;R1&lt;/th&gt;
&lt;th style="text-align: center"&gt;R2&lt;/th&gt;
&lt;th style="text-align: center"&gt;T1&lt;/th&gt;
&lt;th style="text-align: center"&gt;T2&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;H1&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;0&lt;/td&gt;
&lt;td style="text-align: center"&gt;0&lt;/td&gt;
&lt;td style="text-align: center"&gt;0&lt;/td&gt;
&lt;td style="text-align: center"&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;H2&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;0&lt;/td&gt;
&lt;td style="text-align: center"&gt;0&lt;/td&gt;
&lt;td style="text-align: center"&gt;0&lt;/td&gt;
&lt;td style="text-align: center"&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;H3&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;0&lt;/td&gt;
&lt;td style="text-align: center"&gt;0&lt;/td&gt;
&lt;td style="text-align: center"&gt;0&lt;/td&gt;
&lt;td style="text-align: center"&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;R1&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;0&lt;/td&gt;
&lt;td style="text-align: center"&gt;0&lt;/td&gt;
&lt;td style="text-align: center"&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;R2&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;0&lt;/td&gt;
&lt;td style="text-align: center"&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;T1&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;T2&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;0&lt;/td&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;深度解析&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;左上角 3x3 矩阵 (H 对 H)&lt;/strong&gt;：全是 1。H-token 代表长期历史，它们彼此之间没有严格的因果遮蔽需求，采用双向可见（Bidirectional Visibility）以获得更丰富的表征。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;中间 2x2 矩阵 (R 对 R)&lt;/strong&gt;：是一个下三角矩阵。R-token 是近期的实时序列，必须严格遵循时间先后顺序（Causal Mask），防止未来的行为影响对过去状态的推断。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;右下角 2x2 矩阵 (T 对 T)&lt;/strong&gt;：是对角线矩阵。T-token 代表当前的多个候选曝光目标，在同一次打分请求中，它们是相互独立且平行的，绝对不能互相看到对方的特征。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;左下角 (T 对 H, R)&lt;/strong&gt;：全是 1。T-token 必须能够利用所有的历史和实时信息来辅助预测。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;右上角 (H, R 对 T)&lt;/strong&gt;：全是 0。这是为了防止标签泄露（Label Leakage）。如果历史状态能够看到当前的预测目标，模型就会发生作弊现象。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这种不规则的稀疏矩阵结构，正是导致标准 FlashAttention-2 性能下降的罪魁祸首，也是美团团队为什么必须手写 Triton Kernel 和魔改 FlashAttention 的根本原因。&lt;/p&gt;
&lt;h3 id="83-工业界多场景推荐-msr-模型演进编年史"&gt;8.3 工业界多场景推荐 (MSR) 模型演进编年史&lt;/h3&gt;
&lt;p&gt;为了更好地评估 MTFM 的历史地位，我们需要将其放置在整个多场景推荐模型的发展脉络中进行审视。&lt;/p&gt;
&lt;h4 id="阶段一硬共享与完全独立-hard-sharing-vs-fully-independent"&gt;阶段一：硬共享与完全独立 (Hard Sharing vs. Fully Independent)&lt;/h4&gt;
&lt;p&gt;早期，由于算力限制，多场景推荐要么采用一个极其庞大的单一模型（Hard Sharing），底层 Embedding 完全共享，顶层用一个 MLP 强行拟合所有场景；要么就是每个场景维护一个完全独立的模型（Fully Independent）。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;痛点&lt;/strong&gt;：Hard Sharing 会导致跷跷板效应（Seesaw Effect），即大场景主导梯度，小场景效果极差；独立模型则无法利用全局数据，导致冷启动场景无法收敛。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="阶段二星型拓扑与-moe-时代-star-m3oe"&gt;阶段二：星型拓扑与 MoE 时代 (STAR, M3OE)&lt;/h4&gt;
&lt;p&gt;以阿里 STAR（2021）为代表的模型开启了参数解耦的时代。STAR 引入了一个共享的中心网络（Center Network）和每个场景特有的网络（Scenario-specific Networks），通过权重相乘或相加来融合。
随后的 M3OE 将 Mixture-of-Experts 引入，设计了复杂的门控网络（Gating Networks）来决定当前样本应该分配给哪些专家（Experts）。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;痛点&lt;/strong&gt;：虽然缓解了跷跷板效应，但它们依然要求极度死板的特征对齐。如果场景 A 有 50 个特征，场景 B 有 80 个特征，工程师必须手工把它们对齐到相同的维度。这在特征维度动辄上万的工业界，简直是灾难。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="阶段三基于-transformer-的单场景生成式框架-hstu-mtgr"&gt;阶段三：基于 Transformer 的单场景生成式框架 (HSTU, MTGR)&lt;/h4&gt;
&lt;p&gt;随着生成式推荐（Generative Recommendation）的兴起，阿里提出了 HSTU（2024），美团提出了 MTGR（2025）。它们开始将推荐系统视为序列转换任务，利用 Transformer 来捕捉行为序列中的深层模式。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;痛点&lt;/strong&gt;：这些模型主要还是在单场景下大杀四方，一旦扩展到多场景，巨长无比的序列会导致计算复杂度直接将集群撑爆。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="阶段四foundation-model-时代-mtfm"&gt;阶段四：Foundation Model 时代 (MTFM)&lt;/h4&gt;
&lt;p&gt;MTFM（2025）集大成于一身。它既拥有 Transformer 的无限 Scaling 潜力，又通过异构 Token 化解决了多场景特征对齐的死穴，最后通过 User-level 聚合与 HTA 混合注意力机制，以近乎作弊的方式把时间复杂度给降了下来。&lt;/p&gt;
&lt;h3 id="84-极致算子优化triton-与-flashattention-的魔法"&gt;8.4 极致算子优化：Triton 与 FlashAttention 的魔法&lt;/h3&gt;
&lt;p&gt;我们再来深挖一下论文中提到的 &lt;strong&gt;Triton 算子融合&lt;/strong&gt; 和 &lt;strong&gt;FlashAttention 魔改&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;在 GPU 内存层级中，SRAM（Shared Memory）的速度极快，但容量极小（每块 SM 只有几十到一百多 KB）；HBM（Global Memory）容量大（如 A100 的 80GB），但速度极慢。&lt;/p&gt;
&lt;p&gt;在原生 PyTorch 中，计算 &lt;code&gt;GLN(Group Layer Normalization)&lt;/code&gt; 的流程如下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;从 HBM 读取张量 \(X\) 到 SRAM。&lt;/li&gt;
&lt;li&gt;计算均值和方差。&lt;/li&gt;
&lt;li&gt;将均值和方差写回 HBM。&lt;/li&gt;
&lt;li&gt;再次从 HBM 读取 \(X\)、均值、方差。&lt;/li&gt;
&lt;li&gt;进行归一化计算，并乘以缩放参数。&lt;/li&gt;
&lt;li&gt;最终写回 HBM。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;在这个过程中，HBM 的读写（Memory Bound）占据了 90% 以上的时间，GPU 的计算核心（Compute Bound）反而闲得发慌。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MTFM 团队的 Triton 算子融合策略&lt;/strong&gt;：
使用 Triton 编写定制化 Kernel，将上述 6 步合并为 1 步。通过在 SRAM 中保留中间变量，避免了与 HBM 的反复通信。更绝的是，他们将 &lt;strong&gt;动态掩码的生成&lt;/strong&gt; 也融合进了这个 Kernel 中。利用向量化加载（Vectorized Load，如 &lt;code&gt;tl.load(pointer, block_size)&lt;/code&gt;）直接在寄存器层级完成掩码过滤。&lt;/p&gt;
&lt;p&gt;对于 FlashAttention-2，原生版本为了追求极致性能，假定了掩码是极其规律的因果下三角。当遇到 MTFM 这种“左上角全 1、中间下三角、右下角对角线”的奇葩矩阵时，原生的块分片（Block Tiling）策略会失效。
美团团队在修改 FlashAttention 源码时：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;构造连续对齐掩码内存&lt;/strong&gt;：将稀疏掩码在内存中重新排列（Memory Layout Reordering），保证每一次读取都是 128 bytes 连续对齐的，从而激活 GPU 的异步拷贝指令（cp.async）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;精细的数据流策略&lt;/strong&gt;：在 Forward 阶段，将极其微小的掩码块缓存到 Shared Memory 中；在 Backward 阶段，让掩码矩阵与计算梯度的中间变量在时间维度上复用同一块 SRAM 地址（Temporal Multiplexing），硬生生把掩码加载的延迟给掩盖（Overlap）掉了。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这种级别的工程压榨，在推荐系统领域堪称教科书级别的典范。&lt;/p&gt;
&lt;h3 id="85-总结与启示"&gt;8.5 总结与启示&lt;/h3&gt;
&lt;p&gt;MTFM 的横空出世，给所有依然在 DLRM 泥潭中挣扎的算法工程师敲响了警钟：
&lt;strong&gt;不要试图用人工的先验知识，去战胜机器的算力和海量数据。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;在推荐系统中，我们花费了无数个日夜去寻找所谓的高价值特征交叉（如性别和价格的交叉、年龄和品类的交叉）。我们发明了 FM、FFM、DeepFM 等无数种结构来拟合这些交叉。但 MTFM 证明了，只要将它们转化为统一的 Token，通过 Transformer 的自注意力机制，模型能够自动在极高维度上完成更深邃、更泛化的特征交叉。&lt;/p&gt;
&lt;p&gt;而在多场景领域，MTFM 的“不妥协”——拒绝特征对齐、拒绝 Padding 填充、直接引入异构 Tokenizer——更是直击工业界痛点。它让推荐系统的架构变得空前干净、整洁。未来接入一个新场景，不需要改动核心骨干网络，只需要训练一个极小的映射 MLP。&lt;/p&gt;
&lt;p&gt;我们有理由相信，MTFM 描绘的正是推荐系统的终极形态之一：&lt;strong&gt;一个无限大的、能够吞噬所有异构特征的、不断 Scaling 的统一基座模型。&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>GPSD：让判别式推荐模型也拥有 Scaling Law 的魔力</title><link>https://dingyadong.top/posts/009_gpsd_paper_review/</link><pubDate>Tue, 24 Mar 2026 10:00:00 +0800</pubDate><guid>https://dingyadong.top/posts/009_gpsd_paper_review/</guid><description>
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;本文是关于最新论文《Scaling Transformers for Discriminative Recommendation via Generative Pretraining》（
）的阅读笔记。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;在大语言模型（LLM）领域，增加参数量和数据量通常能带来性能的对数线性增长，即 &lt;strong&gt;Scaling Law&lt;/strong&gt;。然而在推荐系统领域，特别是用于排序（Ranking）的&lt;strong&gt;判别式模型&lt;/strong&gt;（如 CTR/CVR 预测），这一规律却迟迟没有出现。&lt;/p&gt;
&lt;p&gt;Meta 团队最近提出的 &lt;strong&gt;GPSD (Generative Pretraining for Scalable Discriminative Recommendation)&lt;/strong&gt; 框架，通过引入生成式预训练，成功打破了这一僵局，让判别式推荐模型也能随着参数规模的扩大而变强。本文将从核心问题、方法设计、实验分析、与现有方法对比、优缺点以及工程实践启示等多个角度，对这篇论文进行全面解读。&lt;/p&gt;
&lt;h2 id="1-为什么推荐大模型容易掉点"&gt;1. 为什么推荐大模型容易”掉点”？&lt;/h2&gt;
&lt;h3 id="11-nlp-与推荐系统的数据差异"&gt;1.1 NLP 与推荐系统的数据差异&lt;/h3&gt;
&lt;p&gt;在自然语言处理中，数据是密集的 token 流——词表通常在几万到十几万量级，而且每个 token 在海量文本中都会被反复观测到，天然具备良好的统计充分性。但在推荐系统中，情况截然不同：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;物品空间极度庞大&lt;/strong&gt;：工业级推荐场景下，物品 ID（Item ID）可达数十亿规模，远超 NLP 词表大小。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用户交互极其稀疏&lt;/strong&gt;：绝大多数用户只消费过全部物品中极小的一部分（通常远低于 0.01%），导致大量 Embedding 参数缺乏有效的梯度更新。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;标签信号分布不均&lt;/strong&gt;：点击率（CTR）通常在个位数百分比，转化率（CVR）更是远低于 1%，正样本极度稀缺。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="12-判别式训练的过拟合困境"&gt;1.2 判别式训练的过拟合困境&lt;/h3&gt;
&lt;p&gt;论文指出，直接在判别式任务（点击/转化预测）上训练大规模 Transformer，会遇到严重的**数据稀疏导致的过拟合（Overfitting）**问题。具体表现为：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;稀疏参数（Embedding 表）难以充分训练&lt;/strong&gt;：当物品空间巨大但每个物品的观测样本有限时，Embedding 表中大量参数处于”欠训练”状态，容易记忆噪声而非学习泛化特征。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;泛化误差随模型规模增大而扩大&lt;/strong&gt;：随着模型层数（Dense 参数）增加，模型在训练集上的 loss 持续下降，但验证集上的 loss 却反向增大，泛化差距（Generalization Gap）迅速扩大。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;”越大越差”的逆直觉现象&lt;/strong&gt;：模型参数越多，在测试集上的表现反而可能不如简单的小模型，这与 NLP/CV 领域”越大越好”的经验形成鲜明对比。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="13-过拟合的根源稀疏参数-vs-稠密参数"&gt;1.3 过拟合的根源：稀疏参数 vs 稠密参数&lt;/h3&gt;
&lt;p&gt;论文通过系统性实验，进一步定位了过拟合的根源：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;稀疏参数（Sparse Parameters）&lt;/strong&gt;：主要指 Embedding 表，参数量通常占模型总参数的 90% 以上。由于推荐场景的数据稀疏性，这些参数是过拟合的”重灾区”。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;稠密参数（Dense Parameters）&lt;/strong&gt;：指 Transformer 层中的注意力权重、前馈网络权重等。这些参数被所有样本共享更新，理论上不易过拟合。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;关键发现&lt;/strong&gt;：当稀疏参数的质量得到保障后，增加稠密参数反而能带来持续的性能增益——这正是 GPSD 框架的理论基础。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2-gpsd生成式预训练的桥接艺术"&gt;2. GPSD：生成式预训练的”桥接”艺术&lt;/h2&gt;
&lt;p&gt;GPSD 框架的核心思想是：&lt;strong&gt;先用生成式任务训练稀疏参数，再在判别式任务中冻结它们。&lt;/strong&gt; 整个流程分为三个清晰的阶段：生成式预训练、桥接迁移、判别式微调。&lt;/p&gt;
&lt;h3 id="21-阶段一生成式预训练-generative-pretraining"&gt;2.1 阶段一：生成式预训练 (Generative Pretraining)&lt;/h3&gt;
&lt;h4 id="211-训练目标"&gt;2.1.1 训练目标&lt;/h4&gt;
&lt;p&gt;生成式预训练阶段采用经典的**自回归（Autoregressive）**范式：给定用户的历史行为序列 $[i_1, i_2, ..., i_{t-1}]$，模型的目标是预测下一个交互物品 $i_t$。这与 GPT 系列模型在文本上的预训练目标本质上是一致的，只是将”预测下一个 token”替换为了”预测下一个 item”。&lt;/p&gt;
&lt;h4 id="212-sampled-softmax-机制"&gt;2.1.2 Sampled Softmax 机制&lt;/h4&gt;
&lt;p&gt;由于物品空间极其庞大（数十亿级别），直接在全量物品上计算 Softmax 是不现实的。GPSD 采用 &lt;strong&gt;Sampled Softmax&lt;/strong&gt; 来解决这一问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;核心思路&lt;/strong&gt;：在每次前向计算时，从全量物品中采样一批负样本（通常数千到数万个），仅在正样本 + 采样负样本构成的子集上计算 Softmax。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;关键优势&lt;/strong&gt;：每次训练步骤中，不同的负样本被随机采入，这意味着整个训练过程中，几乎所有物品的 Embedding 都会被频繁地更新到。这与判别式训练中负样本仅来自实际曝光（impression）形成了鲜明对比。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;对抗过拟合的效果&lt;/strong&gt;：由于 Sampled Softmax 引入了广泛的随机负采样，大量原本在判别式训练中”沉睡”的 Embedding 得以被激活和优化，从根本上解决了稀疏参数欠训练的问题。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="213-模型架构"&gt;2.1.3 模型架构&lt;/h4&gt;
&lt;p&gt;预训练阶段使用的是标准的 &lt;strong&gt;Transformer Decoder&lt;/strong&gt; 架构：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;输入为用户行为序列的 Embedding 拼接&lt;/li&gt;
&lt;li&gt;使用因果注意力掩码（Causal Attention Mask）确保自回归性质&lt;/li&gt;
&lt;li&gt;输出层通过 Sampled Softmax 映射到物品空间&lt;/li&gt;
&lt;li&gt;位置编码采用可学习的绝对位置编码&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="214-生成式预训练的关键优势"&gt;2.1.4 生成式预训练的关键优势&lt;/h4&gt;
&lt;p&gt;与直接在判别式任务上训练相比，生成式预训练具备以下优势：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;数据利用效率更高&lt;/strong&gt;：每条用户序列可以生成多个训练样本（序列中的每个位置都是一个预测目标），数据利用率远高于判别式训练。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;隐式的负采样覆盖更广&lt;/strong&gt;：Sampled Softmax 机制确保了海量物品的 Embedding 都能得到有效更新。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;语义表示质量更优&lt;/strong&gt;：生成式目标天然鼓励模型学习物品之间的序列依赖关系和语义相似性，产生的 Embedding 包含更丰富的语义信息。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="22-阶段二桥接与冻结-sparse-freeze-strategy"&gt;2.2 阶段二：桥接与冻结 (Sparse Freeze Strategy)&lt;/h3&gt;
&lt;p&gt;这是 GPSD 最关键的创新点。在将模型从生成式任务迁移到判别式任务（如 CTR 预测）时，如果简单地进行全参数微调，稀疏参数的过拟合问题会再次出现。GPSD 采取了**”冻结稀疏参数（Sparse Freeze）”**的桥接策略：&lt;/p&gt;
&lt;h4 id="221-具体操作步骤"&gt;2.2.1 具体操作步骤&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;继承预训练好的 Embedding 参数&lt;/strong&gt;：将生成式预训练阶段学到的所有 Embedding 参数（包括 Item Embedding、Feature Embedding 等）直接迁移到判别式模型中。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;在判别式微调阶段，固定住所有稀疏参数不更新&lt;/strong&gt;：冻结 Embedding 表的梯度，使其在整个微调过程中保持预训练阶段学到的状态。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;仅更新稠密参数&lt;/strong&gt;：只对 Transformer 层、MLP Head、交叉网络等稠密参数进行梯度更新。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="222-为什么冻结而非微调"&gt;2.2.2 为什么冻结而非微调？&lt;/h4&gt;
&lt;p&gt;论文通过对比实验系统地回答了这个问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;全参数微调（Full Fine-tune）&lt;/strong&gt;：虽然初始收敛速度更快，但随着训练推进，泛化差距迅速扩大，最终效果反而低于冻结策略。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;稀疏冻结（Sparse Freeze）&lt;/strong&gt;：虽然初始收敛较慢，但泛化差距始终保持在较小水平，最终效果显著优于全参数微调。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;根本原因&lt;/strong&gt;：判别式训练的负样本来自有限的曝光日志，无法为稀疏参数提供足够多样的梯度信号。继续更新稀疏参数反而会”破坏”预训练阶段学到的高质量表示。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="223-冻结策略的数学直觉"&gt;2.2.3 冻结策略的数学直觉&lt;/h4&gt;
&lt;p&gt;从优化理论角度来看，冻结稀疏参数可以理解为：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;将高维优化问题分解为两步低维优化&lt;/li&gt;
&lt;li&gt;第一步在”数据丰富”的环境（生成式训练，Sampled Softmax 提供广泛负采样）中优化稀疏参数&lt;/li&gt;
&lt;li&gt;第二步在”数据有限”的环境（判别式训练，仅曝光日志）中优化稠密参数&lt;/li&gt;
&lt;li&gt;通过这种分而治之的策略，避免了在数据有限的环境中同时优化海量参数导致的过拟合&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="23-阶段三判别式微调-discriminative-fine-tuning"&gt;2.3 阶段三：判别式微调 (Discriminative Fine-tuning)&lt;/h3&gt;
&lt;p&gt;在冻结稀疏参数之后，判别式微调阶段的任务是训练稠密参数来适配具体的业务目标（如 CTR 预估、CVR 预估）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;输入&lt;/strong&gt;：候选物品的冻结 Embedding + 用户序列的冻结 Embedding + 上下文特征&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;模型结构&lt;/strong&gt;：Transformer 编码器或 MLP 交叉网络（稠密参数可训练）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;输出&lt;/strong&gt;：通过 Sigmoid 得到点击率或转化率的预估值&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;损失函数&lt;/strong&gt;：标准的二元交叉熵（Binary Cross-Entropy）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="3-架构流程图"&gt;3. 架构流程图&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Figure 1: GPSD Two-Stage Training Framework"
srcset="https://dingyadong.top/posts/009_gpsd_paper_review/figure_two_stage_training_hu_c54266bf38e0cff8.webp 320w, https://dingyadong.top/posts/009_gpsd_paper_review/figure_two_stage_training_hu_fdbac74ac0214b1b.webp 480w, https://dingyadong.top/posts/009_gpsd_paper_review/figure_two_stage_training_hu_9b0155f9ab4f5676.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/009_gpsd_paper_review/figure_two_stage_training_hu_c54266bf38e0cff8.webp"
width="760"
height="475"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="4-scaling-law-在推荐系统中的分析"&gt;4. Scaling Law 在推荐系统中的分析&lt;/h2&gt;
&lt;h3 id="41-什么是-scaling-law"&gt;4.1 什么是 Scaling Law？&lt;/h3&gt;
&lt;p&gt;Scaling Law 最初由 OpenAI 在 2020 年提出，揭示了语言模型性能与模型参数量、训练数据量、计算量之间的幂律关系。具体来说：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;模型越大，性能越好&lt;/strong&gt;：在充足数据和计算的前提下，增加参数量能带来可预测的性能提升&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;幂律关系&lt;/strong&gt;：性能提升遵循幂律的形式，即损失随参数量增加呈对数线性下降&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="42-推荐系统中-scaling-law-的缺失"&gt;4.2 推荐系统中 Scaling Law 的缺失&lt;/h3&gt;
&lt;p&gt;在 GPSD 之前，推荐系统领域几乎没有观测到类似的 Scaling Law。原因在于：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;传统方法的参数扩展主要集中在 Embedding 表&lt;/strong&gt;：增加 Embedding 维度或增加特征数量带来的收益迅速饱和&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;稠密参数扩展受限于过拟合&lt;/strong&gt;：直接增加 Transformer 层数或宽度会导致泛化性能下降&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;缺乏有效的预训练范式&lt;/strong&gt;：NLP 领域的 Scaling Law 建立在大规模自监督预训练之上，而推荐系统缺乏对应的预训练方法&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="43-gpsd-如何实现推荐系统的-scaling-law"&gt;4.3 GPSD 如何实现推荐系统的 Scaling Law&lt;/h3&gt;
&lt;p&gt;GPSD 的核心贡献之一，是首次在判别式推荐模型中验证了 Scaling Law 的存在：&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Figure 2: Scaling Law Demonstration in GPSD"
srcset="https://dingyadong.top/posts/009_gpsd_paper_review/figure_scaling_law_hu_655650387d6b6ac5.webp 320w, https://dingyadong.top/posts/009_gpsd_paper_review/figure_scaling_law_hu_e3e71a78e5905f40.webp 480w, https://dingyadong.top/posts/009_gpsd_paper_review/figure_scaling_law_hu_8866e2ae02b8ee6.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/009_gpsd_paper_review/figure_scaling_law_hu_655650387d6b6ac5.webp"
width="760"
height="484"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;实验设置&lt;/strong&gt;：将稠密参数从 13K 逐步扩展到 0.3B（约 2 万倍），观察离线 AUC 指标的变化&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;关键结果&lt;/strong&gt;：在使用 GPSD 框架后，AUC 随稠密参数量的增加呈现出平滑的幂律增长曲线&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;对照实验&lt;/strong&gt;：不使用 GPSD（直接端到端判别式训练），增加参数量到一定规模后 AUC 开始下降，完全无法观测到 Scaling Law&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="44-scaling-law-成立的前提条件"&gt;4.4 Scaling Law 成立的前提条件&lt;/h3&gt;
&lt;p&gt;GPSD 的实验揭示了推荐系统 Scaling Law 成立的关键前提：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;稀疏参数必须被高质量预训练&lt;/strong&gt;：只有当 Embedding 表具备良好的泛化表示时，增加稠密参数才有意义&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;稀疏参数在微调阶段必须冻结&lt;/strong&gt;：防止判别式训练破坏预训练的表示质量&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;稠密参数是 Scaling 的真正受益者&lt;/strong&gt;：当稀疏参数质量有保障时，增加 Transformer 深度/宽度能够持续提升模型的特征交叉能力&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="5-与其他预训练方法的对比"&gt;5. 与其他预训练方法的对比&lt;/h2&gt;
&lt;p&gt;为了更好地理解 GPSD 的贡献，以下从多个维度将 GPSD 与其他主流推荐预训练方法进行对比：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;维度&lt;/th&gt;
&lt;th&gt;GPSD（本文）&lt;/th&gt;
&lt;th&gt;SASRec / BERT4Rec&lt;/th&gt;
&lt;th&gt;PinnerSage（Pinterest）&lt;/th&gt;
&lt;th&gt;LLM4Rec（基于 LLM）&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;预训练任务&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;自回归生成式（Next Item Prediction + Sampled Softmax）&lt;/td&gt;
&lt;td&gt;自回归 / 掩码语言模型&lt;/td&gt;
&lt;td&gt;基于图的 PinSage Embedding&lt;/td&gt;
&lt;td&gt;直接使用 LLM 文本理解&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;目标下游任务&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;判别式排序（CTR/CVR）&lt;/td&gt;
&lt;td&gt;序列推荐（Top-K 召回）&lt;/td&gt;
&lt;td&gt;召回 / 粗排&lt;/td&gt;
&lt;td&gt;排序 / 会话推荐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;参数迁移策略&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;冻结稀疏参数 + 微调稠密参数&lt;/td&gt;
&lt;td&gt;全参数微调&lt;/td&gt;
&lt;td&gt;仅使用 Embedding，不迁移模型结构&lt;/td&gt;
&lt;td&gt;全参数微调或 LoRA&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;是否验证 Scaling Law&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;是（首次在判别式模型验证）&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;部分（继承 LLM 的 Scaling 特性）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;工业部署验证&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;是（Meta 线上 A/B 测试）&lt;/td&gt;
&lt;td&gt;学术实验为主&lt;/td&gt;
&lt;td&gt;是（Pinterest 线上部署）&lt;/td&gt;
&lt;td&gt;少量工业验证&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Embedding 覆盖度&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;高（Sampled Softmax 覆盖全量物品）&lt;/td&gt;
&lt;td&gt;低（仅序列内物品参与训练）&lt;/td&gt;
&lt;td&gt;中等（图邻居扩展）&lt;/td&gt;
&lt;td&gt;不涉及（使用文本特征）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;训练效率&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;中等（两阶段训练）&lt;/td&gt;
&lt;td&gt;高（单阶段端到端）&lt;/td&gt;
&lt;td&gt;低（需要构建图）&lt;/td&gt;
&lt;td&gt;低（LLM 训练成本高）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;对比分析要点&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;vs SASRec/BERT4Rec&lt;/strong&gt;：这类方法虽然也采用序列建模，但其预训练和下游任务都聚焦于召回场景，未涉及判别式排序。更重要的是，它们在微调时采用全参数更新，无法避免稀疏参数的过拟合问题。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;vs PinnerSage&lt;/strong&gt;：PinnerSage 通过图神经网络学习物品 Embedding，但仅将 Embedding 作为特征输入下游模型，不涉及模型结构的迁移，因此无法充分利用预训练模型的深层知识。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;vs LLM4Rec&lt;/strong&gt;：基于 LLM 的方法虽然能利用文本语义，但在处理 ID 特征和用户行为建模方面存在天然短板，且部署成本极高。GPSD 直接在推荐原生的 ID 空间中工作，与现有推荐系统架构兼容性更好。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="6-实验结果详细分析"&gt;6. 实验结果详细分析&lt;/h2&gt;
&lt;h3 id="61-离线实验"&gt;6.1 离线实验&lt;/h3&gt;
&lt;p&gt;GPSD 在多个维度上验证了其有效性：&lt;/p&gt;
&lt;h4 id="611-scaling-law-验证"&gt;6.1.1 Scaling Law 验证&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;实验规模&lt;/strong&gt;：稠密参数从 13K 扩展到 0.3B，跨越约 4 个数量级&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;核心发现&lt;/strong&gt;：使用 GPSD 后，AUC 随稠密参数增加呈现平滑的幂律增长，拟合幂律曲线的 R-squared 值极高&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;对照组表现&lt;/strong&gt;：不使用 GPSD 的端到端判别式训练，在参数量超过一定阈值后 AUC 显著下降&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="612-泛化差距分析"&gt;6.1.2 泛化差距分析&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GPSD + Sparse Freeze&lt;/strong&gt;：训练 loss 与验证 loss 之间的差距始终保持在较小水平，且不随模型规模增大而显著扩大&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;端到端判别式训练&lt;/strong&gt;：泛化差距随模型规模增大而急剧扩大，表明严重的过拟合&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;全参数微调（不冻结稀疏参数）&lt;/strong&gt;：介于两者之间，但仍然存在明显的过拟合问题&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="613-消融实验"&gt;6.1.3 消融实验&lt;/h4&gt;
&lt;p&gt;论文通过系统的消融实验验证了各组件的贡献：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;移除生成式预训练&lt;/strong&gt;：AUC 显著下降，证明预训练是 Scaling 的必要条件&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;移除稀疏冻结&lt;/strong&gt;：泛化差距迅速扩大，证明冻结策略对于维持预训练质量至关重要&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;仅使用预训练 Embedding 不迁移模型结构&lt;/strong&gt;：AUC 有所提升但幅度有限，说明模型结构的迁移也贡献了一定价值&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="62-线上实验"&gt;6.2 线上实验&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;部署平台&lt;/strong&gt;：Meta 内部的推荐排序系统&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;实验形式&lt;/strong&gt;：标准的 A/B 测试，实验组使用 GPSD 框架训练的模型，对照组使用现有的判别式模型&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;核心指标收益&lt;/strong&gt;：论文报告了在核心业务指标（如点击率、转化率、用户互动时长等）上取得了统计显著的正向收益&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;稳定性&lt;/strong&gt;：线上指标在持续运行期间保持稳定，无退化现象&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="63-训练效率分析"&gt;6.3 训练效率分析&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;预训练开销&lt;/strong&gt;：生成式预训练阶段需要额外的计算资源，但由于可以离线进行且模型收敛较快，总体开销可控&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;微调加速&lt;/strong&gt;：由于冻结了大量稀疏参数（占总参数 90% 以上），判别式微调阶段的梯度计算量和内存占用均大幅减少&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;综合效率&lt;/strong&gt;：两阶段训练的总计算成本与直接端到端训练的大模型相当，但最终效果显著更优&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="7-优缺点分析"&gt;7. 优缺点分析&lt;/h2&gt;
&lt;h3 id="71-优势"&gt;7.1 优势&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;首次在判别式推荐模型中验证 Scaling Law&lt;/strong&gt;：这是该论文最核心的贡献，为推荐系统领域的”大模型化”提供了可行路径和理论支撑。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;方法设计简洁且工程友好&lt;/strong&gt;：两阶段训练流程清晰，冻结策略实现简单（只需在优化器中排除稀疏参数），不需要对现有推荐系统架构做大幅改动。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;经过工业级验证&lt;/strong&gt;：在 Meta 的真实业务场景中完成了线上 A/B 测试并取得正收益，证明了方法的实用性和可靠性。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;理论洞察深刻&lt;/strong&gt;：系统性地分析了稀疏参数与稠密参数在过拟合中的不同角色，为后续研究提供了清晰的理论框架。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;开源代码&lt;/strong&gt;：作者公开了实现代码，降低了复现和跟进研究的门槛。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="72-不足与局限"&gt;7.2 不足与局限&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;两阶段训练的流程复杂性&lt;/strong&gt;：虽然单看每个阶段都很简单，但两阶段训练意味着需要维护两套训练流水线、两套超参数配置，以及处理阶段之间的模型兼容性问题。在工程实践中，这增加了系统的维护成本。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;冻结策略可能丢失任务特异性信息&lt;/strong&gt;：完全冻结稀疏参数意味着 Embedding 无法适配判别式任务的特定需求。对于某些与生成式预训练分布差异较大的下游任务，这种”一刀切”的冻结可能不是最优选择。论文未探讨部分冻结或渐进解冻等更灵活的策略。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;对预训练数据质量的强依赖&lt;/strong&gt;：稀疏参数的质量完全由预训练阶段决定，如果预训练数据存在偏差（如热门物品过度曝光、冷启动物品缺乏交互），这些偏差会被”冻结”到下游模型中且无法修正。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scaling Law 的验证范围有限&lt;/strong&gt;：实验仅在 Meta 的特定业务场景中验证，是否能推广到其他领域（如电商、短视频、音乐推荐等）尚需进一步证实。同时，论文主要关注了参数量维度的 Scaling，对数据量和计算量维度的 Scaling 关系探讨较少。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="8-工程实践启示"&gt;8. 工程实践启示&lt;/h2&gt;
&lt;h3 id="81-推荐系统工程师的实践建议"&gt;8.1 推荐系统工程师的实践建议&lt;/h3&gt;
&lt;p&gt;基于 GPSD 的核心发现，以下是一些可以在工程实践中借鉴的经验：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;优先投资 Embedding 质量&lt;/strong&gt;：与其盲目增大模型规模，不如先确保 Embedding 表的训练质量。可以考虑在正式的排序模型训练之前，通过对比学习、生成式预训练等手段预热 Embedding。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;分阶段训练的思路值得借鉴&lt;/strong&gt;：即使不完全复制 GPSD 的方案，”将困难的稀疏参数优化和稠密参数优化分开处理”这一思路本身就极具价值，可以在各种变体中灵活应用。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;冻结策略可以渐进式采用&lt;/strong&gt;：在工程实践中，可以先尝试冻结最容易过拟合的低频特征 Embedding，观察效果后再逐步扩大冻结范围。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;监控泛化差距作为模型健康指标&lt;/strong&gt;：论文中使用的泛化差距（训练 loss 与验证 loss 的差距）是一个非常实用的模型健康监控指标，建议在日常模型迭代中持续追踪。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="82-架构设计启示"&gt;8.2 架构设计启示&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;预训练与微调解耦&lt;/strong&gt;：将推荐系统架构设计为支持模块化的预训练和微调，便于独立优化各个组件。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;稀疏参数服务化&lt;/strong&gt;：预训练好的 Embedding 可以作为独立的服务（Embedding Service）对外提供，供多个下游任务共享，降低重复训练的成本。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;动态更新机制&lt;/strong&gt;：考虑设计增量更新机制，在新物品上线时能够快速生成高质量的 Embedding，而不需要重新运行完整的预训练流程。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="9-未来方向"&gt;9. 未来方向&lt;/h2&gt;
&lt;p&gt;基于 GPSD 的研究成果，以下几个方向值得关注：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;推荐系统基础模型（Foundation Models for RecSys）&lt;/strong&gt;：GPSD 为推荐领域的基础模型奠定了初步基础。未来可以探索更大规模、跨场景、跨平台的预训练，构建真正意义上的推荐基础模型。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;更灵活的参数迁移策略&lt;/strong&gt;：探索部分冻结、渐进解冻、LoRA 适配等更精细的参数迁移方法，在保持预训练质量的同时允许一定程度的任务适配。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;多模态预训练&lt;/strong&gt;：将 GPSD 的思路扩展到多模态推荐场景，结合文本、图像、视频等多模态信息进行生成式预训练。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;数据量与计算量的 Scaling Law&lt;/strong&gt;：GPSD 主要探索了参数量维度的 Scaling，未来可以系统性地研究训练数据量和计算量对推荐模型性能的影响。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;冷启动问题&lt;/strong&gt;：研究如何利用生成式预训练的知识来改善新用户和新物品的冷启动表现。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;GPSD 框架证明了推荐系统也可以像 LLM 一样通过 Scaling Up 变得更聪明。它的核心贡献可以归纳为以下几点：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;问题定位精准&lt;/strong&gt;：准确识别出稀疏参数过拟合是阻碍推荐模型 Scaling 的关键瓶颈。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;方法设计精巧&lt;/strong&gt;：通过生成式预训练为 Embedding 表奠定坚实基础，再通过”参数冻结”策略在判别式微调阶段避免过拟合，实现了”分而治之”的优雅解决方案。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;首次验证推荐系统的 Scaling Law&lt;/strong&gt;：在工业级场景中证实了判别式推荐模型也能随着参数规模扩大而持续变强。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;工业落地验证&lt;/strong&gt;：在 Meta 的真实业务中完成了线上验证，证明了方法的实用价值。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这一研究为未来推荐领域的”基础大模型（Foundation Models）”提供了关键的路径，也为整个推荐系统社区带来了一个重要的信号：&lt;strong&gt;推荐模型的 Scaling 之路已经打通，关键在于找到正确的预训练和参数迁移策略。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;开源代码&lt;/strong&gt;：
&lt;/p&gt;</description></item><item><title>万亿参数推荐大模型：HSTU 架构如何超越传统 Self-Attention</title><link>https://dingyadong.top/posts/007_hstu_paper_review/</link><pubDate>Fri, 20 Mar 2026 10:00:00 +0800</pubDate><guid>https://dingyadong.top/posts/007_hstu_paper_review/</guid><description>
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;本文是关于 Meta AI 重磅论文《Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations》（&lt;a href="https://arxiv.org/pdf/2402.17152" target="_blank" rel="noopener"&gt;arXiv:2402.17152&lt;/a&gt;）的阅读笔记，重点探讨 HSTU 架构如何改进传统的自注意力机制。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;在自然语言处理（NLP）领域，基于 Transformer 的大模型通过 Scaling Law（缩放定律）展现了令人惊叹的涌现能力。然而在推荐系统领域，传统的深度学习推荐模型（DLRMs）极度依赖人工交叉特征，难以随着计算资源的增加实现模型效果的对数线性增长。&lt;/p&gt;
&lt;p&gt;为了解决这一痛点，Meta AI 提出了**生成式推荐（Generative Recommenders, GRs）**的新范式，并专门为推荐场景设计了 &lt;strong&gt;HSTU（Hierarchical Sequential Transduction Unit）&lt;/strong&gt; 架构。HSTU 成功将千亿级异构特征统一为序列化表达，在训练效率和效果上大幅超越了标准 Transformer，并在工业界验证了万亿参数推荐大模型的 Scaling Law。&lt;/p&gt;
&lt;h2 id="1-传统-transformer-在推荐系统中的水土不服"&gt;1. 传统 Transformer 在推荐系统中的“水土不服”&lt;/h2&gt;
&lt;p&gt;标准 Transformer 架构在处理工业级推荐系统（十亿级动态词表、高达 $10^5$ 的用户交互序列）时，暴露出极端的计算与推理瓶颈：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;计算冗余&lt;/strong&gt;：标准 Transformer 包含多头注意力（MHA）和厚重的点式前馈网络（MLP）。在推荐场景下，极度稀疏的特征并不需要如此厚重的 MLP 来进行特征变换，这会导致巨大的计算浪费。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;时间复杂度爆炸&lt;/strong&gt;：在流式逐样本（Impression-level）训练中，标准 Transformer 的时间复杂度高达 $\mathcal{O}(N^3 d + N^2 d^2)$，根本无法满足在线推理的严苛延迟要求。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="2-hstu-相对于-self-attention-的核心改进"&gt;2. HSTU 相对于 Self-Attention 的核心改进&lt;/h2&gt;
&lt;p&gt;HSTU 对传统的自注意力架构进行了大刀阔斧的重构，专门针对推荐数据的非平稳、极度稀疏特性进行了优化。&lt;/p&gt;
&lt;h3 id="21-彻底抛弃笨重的-mlp-层"&gt;2.1 彻底抛弃笨重的 MLP 层&lt;/h3&gt;
&lt;p&gt;HSTU 最大的架构创新在于&lt;strong&gt;完全移除了传统的 MLP 层&lt;/strong&gt;。它将多头注意力与前馈网络融合，替换为单层线性投影与门控网络。HSTU 巧妙地将计算分为两步：空间聚合（Spatial Aggregation）与点式变换（Pointwise Transformation）。&lt;/p&gt;
&lt;p&gt;为了更直观地理解，我们可以看下面这张 HSTU 的微观结构图：&lt;/p&gt;
&lt;div class="mermaid-wrapper"&gt;
&lt;div class="mermaid" style="background: transparent;"&gt;
graph LR
classDef input fill:#f9f9f9,stroke:#333,stroke-width:2px;
classDef linear fill:#e1f5fe,stroke:#2563eb,stroke-width:1px;
classDef act fill:#fef3c7,stroke:#ea580c,stroke-width:1px;
classDef attention fill:#dcfce7,stroke:#b45309,stroke-width:1px;
classDef output fill:#f0fdf4,stroke:#16a34a,stroke-width:2px;
Input["输入 X"]:::input
Norm1["LayerNorm"]:::linear
Linear1["Linear f1"]:::linear
SiLU1["SiLU φ1"]:::act
Split["Split → U,V,Q,K"]:::linear
%% Spatial Aggregation
Attn["QK^T + Bias"]:::attention
SiLU2["SiLU φ2"]:::act
Mul_V["Score ⊙ V"]:::attention
%% Pointwise Transformation
Norm2["LayerNorm"]:::linear
Mul_U["Norm ⊙ U"]:::linear
Linear2["Linear f2"]:::linear
Output["输出 Y"]:::output
Input --&gt; Norm1 --&gt; Linear1 --&gt; SiLU1 --&gt; Split
Split --&gt;|"Q,K"| Attn --&gt; SiLU2 --&gt; Mul_V
Split --&gt;|"V"| Mul_V
Mul_V --&gt; Norm2 --&gt; Mul_U --&gt; Linear2 --&gt; Output
Split --&gt;|"U"| Mul_U
Input --&gt;|"残差连接"| Output
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;核心计算公式如下：&lt;/strong&gt;&lt;/p&gt;
$$ U(X), V(X), Q(X), K(X) = \text{Split}(\phi_1(f_1(X))) $$&lt;p&gt;
&lt;/p&gt;
$$ A(X)V(X) = \phi_2 \left( Q(X)K(X)^T + r_{p,t}^{ab} \right) V(X) $$&lt;p&gt;
&lt;/p&gt;
$$ Y(X) = f_2(\text{Norm}(A(X)V(X)) \odot U(X)) $$&lt;p&gt;&lt;em&gt;其中，$f_1, f_2$ 为单层线性变换，$\phi_1, \phi_2$ 为 SiLU 激活函数，$r_{p,t}^{ab}$ 为融合了时序和位置的相对偏差。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;改进收益&lt;/strong&gt;：
通过使用门控逐元素融合输出，HSTU 极大地减少了浮点运算量（FLOPs），并完美契合底层硬件的算子融合（Fused Kernel），极大提升了显存带宽利用率。&lt;/p&gt;
&lt;h3 id="22-生成式训练与时间复杂度骤降"&gt;2.2 生成式训练与时间复杂度骤降&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;为什么标准 Transformer 在推荐系统中复杂度会变成 $\mathcal{O}(N^3)$？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;在 NLP 中，Transformer 处理单条长度为 $N$ 的序列，时间复杂度是大家熟知的 $\mathcal{O}(N^2d + Nd^2)$。但在传统的推荐系统（如早期的 SASRec）中，通常采用&lt;strong&gt;流式逐样本（Impression-level）训练&lt;/strong&gt;。
假设用户有历史序列 $[i_1, i_2, \dots, i_N]$，传统框架需要将其拆分为 $N$ 个独立的训练样本：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;样本 1：历史 $[i_1]$，预测 $i_2$&lt;/li&gt;
&lt;li&gt;样本 2：历史 $[i_1, i_2]$，预测 $i_3$&lt;/li&gt;
&lt;li&gt;&amp;hellip;&lt;/li&gt;
&lt;li&gt;样本 $N$：历史 $[i_1, \dots, i_{N-1}]$，预测 $i_N$&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这意味着 Transformer 需要对这 $N$ 个逐渐变长的子序列分别进行前向计算。我们将这 $N$ 个独立样本的计算量累加：
&lt;/p&gt;
$$ \text{Total Complexity} = \sum_{k=1}^{N} \mathcal{O}(k^2d + kd^2) $$&lt;p&gt;
根据求和公式 $\sum_{k=1}^{N} k^2 \approx \frac{N^3}{3}$，总的训练时间复杂度就灾难性地飙升到了 &lt;strong&gt;$\mathcal{O}(N^3d + N^2d^2)$&lt;/strong&gt;。当用户序列 $N=10^4$ 时，计算量呈三次方级数爆炸，完全无法训练。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;HSTU 的降维打击：Generative Training&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;在训练方式上，HSTU 采用了&lt;strong&gt;生成式训练（Generative Training）&lt;/strong&gt;，彻底摒弃了传统的逐样本拆分。它向 LLM 学习，把整个长度为 $N$ 的用户序列作为一个完整的样本送入模型，配合因果掩码（Causal Mask），在&lt;strong&gt;一次前向传播&lt;/strong&gt;中同时完成对所有历史节点的预测。&lt;/p&gt;
&lt;p&gt;这一改变干掉了那层可怕的 $\sum_{k=1}^{N}$ 循环，成功将训练的时间复杂度指数级降维回了 &lt;strong&gt;$\mathcal{O}(N^2 d + N d^2)$&lt;/strong&gt;。同时，在推理阶段引入了 M-FALCON 微批处理算法，能够全面摊销超长序列的计算成本。&lt;/p&gt;
&lt;h3 id="23-极端的特征序列化丢弃数值特征"&gt;2.3 极端的特征序列化：丢弃数值特征&lt;/h3&gt;
&lt;p&gt;这篇论文中一个非常反直觉但极为有效的操作是：&lt;strong&gt;完全移除传统的数值特征（如历史 CTR 统计）&lt;/strong&gt;。
HSTU 摒弃了 DLRM 复杂的并行特征网络，将用户交互行为（如点击、点赞）与慢变分类特征（如用户画像）按照时间戳合并压缩为&lt;strong&gt;一条主时间序列&lt;/strong&gt;。作者证明了，只要序列模型足够强大，它完全可以直接从极长的原始历史交互中自行捕获这些统计概率，无需人工干预。&lt;/p&gt;
&lt;h2 id="3-架构流程图"&gt;3. 架构流程图&lt;/h2&gt;
&lt;div class="mermaid-wrapper"&gt;
&lt;div class="mermaid" style="background: transparent;"&gt;
graph TD
A[海量异构特征 Categorical &amp; Numerical] --&gt; B[丢弃数值特征 / 保留分类特征]
B --&gt; C[特征序列化与时间轴压缩]
C --&gt; D[合并为统一单时间序列]
D --&gt; E[Generative Training 生成式训练]
E --&gt; F[HSTU 编码器]
F --&gt; G[Pointwise Projection: 线性生成 U,V,Q,K]
G --&gt; H[Spatial Aggregation: 时空注意力与 SiLU 激活]
H --&gt; I[Pointwise Transformation: 门控逐元素融合输出]
I --&gt; J[多任务预测: 排序 Ranking / 召回 Retrieval]
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="4-结论与工业界影响"&gt;4. 结论与工业界影响&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;惊人的速度优势&lt;/strong&gt;：在长度为 8192 的长序列上，HSTU 的推理和训练速度比基于 FlashAttention2 的标准 Transformer &lt;strong&gt;快了 5.3 倍到 15.2 倍&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;效果跃升&lt;/strong&gt;：在公开数据集上，HSTU 的 NDCG 指标最高超越基线模型达 &lt;strong&gt;65.8%&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;万亿参数与 Scaling Law 验证&lt;/strong&gt;：包含 1.5 万亿参数的 GRs 模型在十亿级用户的互联网平台上成功落地，线上核心指标提升 12.4%。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;最重要的是，该研究首次在推荐系统领域证实了：&lt;strong&gt;推荐模型的质量随训练算力的增加呈幂律分布（Power-law）&lt;/strong&gt;，跨越了三个数量级（达到 GPT-3 / LLaMA-2 级别的算力），彻底打破了 DLRM 时代的瓶颈，为推荐领域的“基础大模型（Foundation Models）”铺平了道路。&lt;/p&gt;</description></item><item><title>FuXi-Linear：释放线性注意力在超长序列推荐中的潜力</title><link>https://dingyadong.top/posts/006_fuxi_linear_paper_review/</link><pubDate>Thu, 19 Mar 2026 21:00:00 +0800</pubDate><guid>https://dingyadong.top/posts/006_fuxi_linear_paper_review/</guid><description>
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;本文是关于最新论文《FuXi-Linear: Unleashing the Power of Linear Attention in Long-term Time-aware Sequential Recommendation》（
）的阅读笔记。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="1-背景与动机"&gt;1. 背景与动机&lt;/h2&gt;
&lt;p&gt;在现代推荐系统中，基于 Transformer 的序列推荐模型已经成为主流范式。从早期的 SASRec、BERT4Rec，到近年来的 HSTU、gSASRec 等，Transformer 架构凭借其强大的全局注意力机制，在捕捉用户行为序列中的长程依赖关系方面表现优异。&lt;/p&gt;
&lt;p&gt;然而，传统 Softmax 注意力机制的核心瓶颈在于其 &lt;strong&gt;二次复杂度&lt;/strong&gt; $\mathcal{O}(n^2)$。具体来说：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;显存瓶颈&lt;/strong&gt;：当用户行为序列长度超过 $10^4$ 时，注意力矩阵本身就需要占用 GB 级显存，这在工业级在线推理场景中几乎不可接受&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;延迟瓶颈&lt;/strong&gt;：每次新增一个交互事件，都需要重新计算完整的注意力矩阵，导致自回归推理的延迟线性增长&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;吞吐量瓶颈&lt;/strong&gt;：GPU 的计算资源被大量浪费在注意力矩阵的计算上，无法有效提升单卡的服务吞吐量&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;在 NLP 领域，”线性注意力（Linear Attention）”架构已经展现了巨大的潜力。以 Mamba、RWKV、RetNet、GLA 为代表的一系列工作，通过不同的技巧将注意力的复杂度从 $\mathcal{O}(n^2)$ 降低到 $\mathcal{O}(n)$，甚至在递归推理模式下做到 $\mathcal{O}(1)$ 的单步复杂度。&lt;/p&gt;
&lt;p&gt;但是，将这些线性架构直接”生搬硬套”到推荐系统中，却面临着诸多水土不服的问题。推荐系统中的用户行为序列与自然语言文本有着本质的区别：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;行为序列中蕴含着丰富的 &lt;strong&gt;时间戳信息&lt;/strong&gt;（何时发生交互），而不仅仅是简单的位置顺序&lt;/li&gt;
&lt;li&gt;用户行为呈现出强烈的 &lt;strong&gt;周期性模式&lt;/strong&gt;（如工作日 vs 周末、白天 vs 夜晚），这在纯文本中并不存在&lt;/li&gt;
&lt;li&gt;推荐场景对 &lt;strong&gt;位置精度&lt;/strong&gt; 的要求更高，因为”最近点击了什么”与”很久之前点击了什么”在推荐相关性上有着天壤之别&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;FuXi-Linear&lt;/strong&gt; 正是为了系统性地解决这些问题而提出的一种全新架构，来自中国科学技术大学的 StarTeam 团队。&lt;/p&gt;
&lt;h2 id="2-线性模型在推荐系统中的三大挑战"&gt;2. 线性模型在推荐系统中的三大挑战&lt;/h2&gt;
&lt;p&gt;论文深入分析了现有线性模型在推荐系统中应用时面临的核心痛点：&lt;/p&gt;
&lt;h3 id="21-挑战一时间信号利用不佳"&gt;2.1 挑战一：时间信号利用不佳&lt;/h3&gt;
&lt;p&gt;现有的方法通常把”时间戳”当作一种普通特征，直接与物品的”语义特征”进行拼接或相加。这种做法存在严重的缺陷：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;信号耦合干扰&lt;/strong&gt;：语义特征（如商品类目、品牌）和时间特征（如交互时刻、时间间隔）被强制混合在同一个向量空间中，两种信号的梯度更新会相互干扰，导致两者都无法被充分学习&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;周期性建模缺失&lt;/strong&gt;：用户行为往往具有明显的周期性模式。例如，一个用户可能每周末下午才会浏览游戏相关内容，工作日则主要关注办公用品。简单的时间戳拼接无法显式捕获这种周期性规律&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;时间分辨率不足&lt;/strong&gt;：将时间戳离散化为特征后，模型很难感知到细粒度的时间差异，例如”5 分钟前点击”与”5 小时前点击”的区别&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="22-挑战二位置信息缺失"&gt;2.2 挑战二：位置信息缺失&lt;/h3&gt;
&lt;p&gt;传统 Transformer 通常使用相对位置编码（RPE，如 T5 bias、ALiBi、RoPE）来提供精确的位置感知能力。但在线性注意力的框架下，RPE 面临严峻的兼容性问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;计算复杂度冲突&lt;/strong&gt;：RPE 需要两两计算 token 之间的相对距离，这本身就是 $\mathcal{O}(n^2)$ 的操作，直接破坏了线性注意力的复杂度优势&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;递归形式不兼容&lt;/strong&gt;：线性注意力的高效推理依赖于 RNN 式的递归计算，而 RPE 无法被分解为递归形式&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自然衰减粒度太粗&lt;/strong&gt;：线性模型（如 RetNet）自带的指数衰减机制虽然提供了一定的位置偏置，但其表达能力远不如 RPE，无法精细区分不同相对距离的重要性差异&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="23-挑战三缺乏长序列扩展性"&gt;2.3 挑战三：缺乏长序列扩展性&lt;/h3&gt;
&lt;p&gt;从工程实践角度来看，现有的线性推荐模型存在明显的验证缺口：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;序列长度有限&lt;/strong&gt;：大多数现有工作仅在短序列场景下测试（长度 $\le 100$），远未触及线性模型真正的优势区间&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;模型规模偏小&lt;/strong&gt;：测试通常使用浅层网络（1-2 层）和小维度（$d \le 128$），无法证明线性模型能否通过增加参数量持续获得收益&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;缺少 Scaling Law 验证&lt;/strong&gt;：在 NLP 领域，Scaling Law 已经成为衡量架构潜力的核心指标。但在推荐系统中，线性架构从未被验证过是否存在类似的幂律缩放特性&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="3-fuxi-linear-的核心架构创新"&gt;3. FuXi-Linear 的核心架构创新&lt;/h2&gt;
&lt;p&gt;为了系统性地解决上述三大挑战，FuXi-Linear 设计了一种 &lt;strong&gt;三通道并行架构&lt;/strong&gt;：三个独立的通道分别负责处理语义信号、位置信号和时序信号，最终通过门控机制进行自适应融合。&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Figure 1: FuXi-Linear Three-Channel Parallel Architecture"
srcset="https://dingyadong.top/posts/006_fuxi_linear_paper_review/figure_three_channel_architecture_hu_6e5cdd698877725f.webp 320w, https://dingyadong.top/posts/006_fuxi_linear_paper_review/figure_three_channel_architecture_hu_4ec32161bd5af700.webp 480w, https://dingyadong.top/posts/006_fuxi_linear_paper_review/figure_three_channel_architecture_hu_527cfb5a198f2bfc.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/006_fuxi_linear_paper_review/figure_three_channel_architecture_hu_6e5cdd698877725f.webp"
width="760"
height="443"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 id="31-语义保留通道-retention-channel"&gt;3.1 语义保留通道 (Retention Channel)&lt;/h3&gt;
&lt;p&gt;语义保留通道是模型的核心骨干，负责从用户行为序列中提取物品之间的语义关联。该通道采用类似 RetNet 的 Retention 机制替代传统全注意力，其核心公式为：&lt;/p&gt;
$$ Retention(Q,K,V,D) = (QK^T \odot D)V $$&lt;p&gt;其中衰减矩阵 $D_{i,j} = \gamma^{i-j}$，$\gamma$ 为可学习参数。&lt;/p&gt;
&lt;p&gt;这个设计的精妙之处在于它支持 &lt;strong&gt;双模式计算&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;并行模式（训练时）&lt;/strong&gt;：将整个序列的 $Q$、$K$、$V$ 一次性计算，通过矩阵乘法高效并行处理。衰减矩阵 $D$ 作为 mask 直接应用于注意力矩阵，训练效率与标准 Transformer 相当&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;递归模式（推理时）&lt;/strong&gt;：将状态压缩为固定大小的 KV 缓存矩阵 $S_t$，每步更新规则为 $S_t = \gamma S_{t-1} + K_t^T V_t$。新 token 的输出仅需 $O_t = Q_t S_t$，单步复杂度降为 $\mathcal{O}(1)$&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;多头设计&lt;/strong&gt;：为了增强表达能力，语义保留通道采用多头机制，不同的头使用不同的衰减率 $\gamma$。较大的 $\gamma$ 关注长程依赖，较小的 $\gamma$ 侧重近期行为，从而实现多尺度的语义捕获。&lt;/p&gt;
&lt;h3 id="32-线性位置通道-linear-positional-channel"&gt;3.2 线性位置通道 (Linear Positional Channel)&lt;/h3&gt;
&lt;p&gt;这是本文最精妙的技术创新之一，也是解决”位置信息缺失”挑战的关键。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;核心思路&lt;/strong&gt;：传统的相对位置编码计算 $f(x-y)$（其中 $x$ 和 $y$ 是两个 token 的位置），这需要两两配对计算，复杂度为 $\mathcal{O}(n^2)$。作者的关键洞察是：可以通过引入一组可学习的核函数映射 $\mathbf{k}(x)$，将位置差函数分解为内积形式：&lt;/p&gt;
$$ f(x-y) \approx g(x,y) = \mathbf{k}^T(x)\mathbf{k}(y) $$&lt;p&gt;&lt;strong&gt;技术细节&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;核函数 $\mathbf{k}(x)$ 由一个小型 MLP 实现，输入为位置索引 $x$，输出为一个低维向量&lt;/li&gt;
&lt;li&gt;由于内积可以被分解为外积的累积和，因此这个近似可以完美嵌入线性注意力的递归计算框架&lt;/li&gt;
&lt;li&gt;论文中证明了该近似的误差上界，保证了在合理的核函数维度下，近似精度足以替代精确的 RPE&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;效果&lt;/strong&gt;：这个设计在 &lt;strong&gt;维持线性递归特性&lt;/strong&gt; 的同时，让模型获得了接近于精确 RPE 的位置感知能力。这解决了线性注意力领域长期以来”位置编码与线性复杂度不可兼得”的难题。&lt;/p&gt;
&lt;h3 id="33-时序保留通道-temporal-retention-channel"&gt;3.3 时序保留通道 (Temporal Retention Channel)&lt;/h3&gt;
&lt;p&gt;为了实现时间信号与语义信号的彻底解耦，FuXi-Linear 专门开辟了一条独立的时序通道。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;设计要点&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;独立的 Query/Key 生成&lt;/strong&gt;：该通道 &lt;strong&gt;完全利用时间戳数据&lt;/strong&gt; 生成 Query 和 Key，不混入任何物品语义特征。时间戳经过编码后（包含绝对时间和相对时间差），通过独立的线性变换映射为 $Q_t$ 和 $K_t$&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;周期性捕获&lt;/strong&gt;：由于时间戳信息不被语义信号”污染”，模型可以专注学习用户行为的周期模式。例如用户的日内活跃周期（通勤时段 vs 睡眠时段）、周内活跃周期（工作日 vs 周末）、甚至更长期的季节性模式&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Value 复用&lt;/strong&gt;：该通道的 Value 矩阵仍然来自物品的语义表征，确保时序通道的输出仍然承载有意义的语义信息，只是”按时间规律重新加权”&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;同样支持双模式&lt;/strong&gt;：时序通道也采用了与语义通道相同的 Retention 框架，保证训练和推理时的双模式兼容性&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="34-门控融合与前馈网络"&gt;3.4 门控融合与前馈网络&lt;/h3&gt;
&lt;p&gt;三个通道的输出通过 &lt;strong&gt;拼接 + 门控机制&lt;/strong&gt; 进行融合：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;首先将三个通道的输出在特征维度上拼接&lt;/li&gt;
&lt;li&gt;然后通过一个可学习的门控向量对不同通道的贡献进行自适应加权&lt;/li&gt;
&lt;li&gt;最后送入 &lt;strong&gt;MFFN（Multi-stage Feed-Forward Network）&lt;/strong&gt; 进一步提炼特征&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;MFFN 相比标准的 FFN 引入了多阶段的非线性变换，增强了模型在有限层数下的表达能力。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="4-架构流程图"&gt;4. 架构流程图&lt;/h2&gt;
&lt;div class="mermaid-wrapper"&gt;
&lt;div class="mermaid" style="background: transparent;"&gt;
graph TD
A[用户历史交互序列 + 时间戳] --&gt; B[Embedding 层]
B --&gt; C[FuXi-Linear Block]
C --&gt;|输入 X| D1[Retention Channel&lt;br&gt;提取语义信息]
C --&gt;|时间戳| D2[Temporal Retention Channel&lt;br&gt;提取周期性时序信号]
C --&gt;|位置信息| D3[Linear Positional Channel&lt;br&gt;相对位置建模]
D1 --&gt; E[Concatenation &amp; Gating&lt;br&gt;特征拼接与门控机制]
D2 --&gt; E
D3 --&gt; E
E --&gt; F[MFFN 多阶段前馈网络]
F --&gt; G[下一个 Item 预测]
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="5-线性注意力-vs-softmax-注意力详细对比"&gt;5. 线性注意力 vs Softmax 注意力：详细对比&lt;/h2&gt;
&lt;p&gt;为了更好地理解 FuXi-Linear 的技术定位，下面从多个维度对比线性注意力和传统 Softmax 注意力：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;维度&lt;/th&gt;
&lt;th&gt;Softmax 注意力&lt;/th&gt;
&lt;th&gt;线性注意力（FuXi-Linear）&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;计算复杂度（训练）&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$\mathcal{O}(n^2 d)$&lt;/td&gt;
&lt;td&gt;$\mathcal{O}(n d^2)$，当 $d \ll n$ 时显著更优&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;计算复杂度（推理单步）&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$\mathcal{O}(nd)$，需读取完整 KV Cache&lt;/td&gt;
&lt;td&gt;$\mathcal{O}(d^2)$，固定大小状态矩阵&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;KV Cache 大小&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;随序列长度线性增长&lt;/td&gt;
&lt;td&gt;固定大小 $d \times d$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;位置编码兼容性&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;原生支持 RoPE、ALiBi 等 RPE&lt;/td&gt;
&lt;td&gt;需要特殊设计（如本文的核函数近似）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;长程依赖建模&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;理论上无限，但实践中受限于上下文窗口&lt;/td&gt;
&lt;td&gt;通过衰减矩阵隐式建模，长距离信号衰减&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;并行训练效率&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;高，原生支持矩阵并行&lt;/td&gt;
&lt;td&gt;高，chunk-wise 并行或全矩阵并行&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Prefill 速度&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;基线&lt;/td&gt;
&lt;td&gt;约 10x 加速&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Decode 速度&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;基线&lt;/td&gt;
&lt;td&gt;约 21x 加速&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;核心差异总结：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;当序列长度 $n$ 远大于特征维度 $d$ 时（推荐系统中通常 $n &gt; 1000$，$d = 128 \sim 256$），线性注意力在速度上具有压倒性优势&lt;/li&gt;
&lt;li&gt;Softmax 注意力在短序列场景下仍有竞争力，因为其注意力分布更加”尖锐”，信息选择能力更强&lt;/li&gt;
&lt;li&gt;FuXi-Linear 通过三通道设计弥补了线性注意力在位置编码和时间建模上的天然短板&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="6-与其他推荐方法的对比"&gt;6. 与其他推荐方法的对比&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;方法&lt;/th&gt;
&lt;th&gt;注意力类型&lt;/th&gt;
&lt;th&gt;时间信号建模&lt;/th&gt;
&lt;th&gt;位置编码&lt;/th&gt;
&lt;th&gt;推理复杂度&lt;/th&gt;
&lt;th&gt;长序列支持&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SASRec&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Softmax&lt;/td&gt;
&lt;td&gt;无&lt;/td&gt;
&lt;td&gt;绝对位置&lt;/td&gt;
&lt;td&gt;$\mathcal{O}(nd)$&lt;/td&gt;
&lt;td&gt;弱（通常截断 50-200）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;HSTU&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Softmax + 相对时间&lt;/td&gt;
&lt;td&gt;时间间隔融合&lt;/td&gt;
&lt;td&gt;相对位置&lt;/td&gt;
&lt;td&gt;$\mathcal{O}(nd)$&lt;/td&gt;
&lt;td&gt;中（支持 1000+）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;LinRec&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;线性核近似&lt;/td&gt;
&lt;td&gt;无&lt;/td&gt;
&lt;td&gt;绝对位置&lt;/td&gt;
&lt;td&gt;$\mathcal{O}(d^2)$&lt;/td&gt;
&lt;td&gt;中（仅短序列验证）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Mamba4Rec&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;SSM (Mamba)&lt;/td&gt;
&lt;td&gt;无&lt;/td&gt;
&lt;td&gt;隐式（SSM 状态）&lt;/td&gt;
&lt;td&gt;$\mathcal{O}(d)$&lt;/td&gt;
&lt;td&gt;中（缺少长序列验证）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;FuXi-Linear&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;三通道 Retention&lt;/td&gt;
&lt;td&gt;独立时序通道&lt;/td&gt;
&lt;td&gt;核函数近似 RPE&lt;/td&gt;
&lt;td&gt;$\mathcal{O}(d^2)$&lt;/td&gt;
&lt;td&gt;强（验证至 $10^4$ 级）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;关键观察：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;FuXi-Linear 是目前 &lt;strong&gt;唯一&lt;/strong&gt; 同时解决了时间建模、位置编码和长序列扩展三个问题的线性推荐架构&lt;/li&gt;
&lt;li&gt;相比 Mamba4Rec 等直接迁移 NLP 架构的方案，FuXi-Linear 针对推荐场景做了深度定制&lt;/li&gt;
&lt;li&gt;与 HSTU 等 Softmax 方案相比，FuXi-Linear 在推理效率上有数量级的优势&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="7-实验结果详细分析"&gt;7. 实验结果详细分析&lt;/h2&gt;
&lt;p&gt;FuXi-Linear 在多个包含千级长度序列的真实数据集上进行了全面验证。&lt;/p&gt;
&lt;h3 id="71-推荐质量"&gt;7.1 推荐质量&lt;/h3&gt;
&lt;p&gt;在 MovieLens-25M、Amazon Reviews 等多个公开数据集上，FuXi-Linear 的表现：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在 &lt;strong&gt;Hit Rate@10&lt;/strong&gt; 和 &lt;strong&gt;NDCG@10&lt;/strong&gt; 等核心指标上，FuXi-Linear 相比最强的 Softmax Transformer 基线取得了一致性的提升&lt;/li&gt;
&lt;li&gt;提升幅度在不同数据集上有所不同，但在长序列数据集上的提升尤为明显，这说明三通道架构在长序列场景下的优势更加突出&lt;/li&gt;
&lt;li&gt;相比其他线性推荐模型（如 LinRec、Mamba4Rec），FuXi-Linear 的提升更为显著，验证了专门设计的必要性&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="72-推理效率"&gt;7.2 推理效率&lt;/h3&gt;
&lt;p&gt;这是 FuXi-Linear 最亮眼的实验结果：&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Figure 2: Inference Efficiency Comparison - FuXi-Linear vs Baselines"
srcset="https://dingyadong.top/posts/006_fuxi_linear_paper_review/figure_inference_efficiency_hu_927918af631cbd60.webp 320w, https://dingyadong.top/posts/006_fuxi_linear_paper_review/figure_inference_efficiency_hu_7e60b5214464902.webp 480w, https://dingyadong.top/posts/006_fuxi_linear_paper_review/figure_inference_efficiency_hu_77c1b1ae28603b89.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/006_fuxi_linear_paper_review/figure_inference_efficiency_hu_927918af631cbd60.webp"
width="760"
height="449"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prefill 阶段&lt;/strong&gt;：相比最强 Transformer 基线，实现了高达 &lt;strong&gt;10x&lt;/strong&gt; 的加速。Prefill 是指首次处理用户完整历史序列的阶段，这对冷启动和重建缓存场景至关重要&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Decode 阶段&lt;/strong&gt;：实现了高达 &lt;strong&gt;21x&lt;/strong&gt; 的加速。Decode 是指每次用户产生新行为后的增量推理阶段，这是在线服务中最高频的操作&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;显存占用&lt;/strong&gt;：由于 KV Cache 大小固定，FuXi-Linear 的显存占用不随序列长度增长，在超长序列场景下节省了大量显存&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="73-scaling-law-验证"&gt;7.3 Scaling Law 验证&lt;/h3&gt;
&lt;p&gt;这是论文的另一大核心贡献。作者系统性地验证了 FuXi-Linear 的缩放特性：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;模型规模缩放&lt;/strong&gt;：随着模型参数量从小到大增长，推荐指标呈现出稳健的 &lt;strong&gt;幂律缩放特性&lt;/strong&gt;（Power-law scaling），即 $\text{Loss} \propto N^{-\alpha}$&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;序列长度缩放&lt;/strong&gt;：随着输入序列长度的增加，模型性能持续提升且未出现饱和迹象，这说明 FuXi-Linear 能够有效利用更长的用户历史&lt;/li&gt;
&lt;li&gt;这是推荐系统中 &lt;strong&gt;首次&lt;/strong&gt; 在线性架构上验证 Scaling Law，意义重大：它为工业界提供了”增加计算预算就能持续获得收益”的理论保障&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="74-消融实验"&gt;7.4 消融实验&lt;/h3&gt;
&lt;p&gt;论文通过消融实验验证了各组件的贡献：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;移除时序保留通道后，模型在具有明显周期性行为的数据集上性能显著下降&lt;/li&gt;
&lt;li&gt;移除线性位置通道后，模型的位置感知能力退化，近期行为的权重分配不合理&lt;/li&gt;
&lt;li&gt;将三通道改为单通道（混合所有信号）后，整体性能明显下降，验证了特征解耦的必要性&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="8-优缺点分析"&gt;8. 优缺点分析&lt;/h2&gt;
&lt;h3 id="81-优势"&gt;8.1 优势&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;极致的推理效率&lt;/strong&gt;：三通道均基于线性递归计算，Decode 阶段单步复杂度为 $\mathcal{O}(d^2)$，不随序列长度增长。在实际测试中实现了 10-21x 的加速，这对工业级在线推理系统意义重大&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;系统性的信号解耦&lt;/strong&gt;：将语义、位置、时序三种信号分离到独立通道中处理，避免了信号间的相互干扰。这不仅提升了模型性能，也增强了可解释性——可以分别分析每个通道学到了什么&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;优雅的位置编码方案&lt;/strong&gt;：通过核函数近似将 RPE 分解为内积形式，在保持线性复杂度的同时获得了精确的位置感知能力，这是一个具有通用价值的技术贡献&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;经过验证的 Scaling Law&lt;/strong&gt;：首次在推荐系统的线性架构中验证了幂律缩放特性，为工业界大规模部署提供了理论保障&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;双模式兼容&lt;/strong&gt;：支持并行训练和递归推理两种模式，训练效率和推理效率均不妥协&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="82-不足与局限"&gt;8.2 不足与局限&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;模型复杂度增加&lt;/strong&gt;：三通道并行设计引入了更多的参数和超参数（如各通道的头数、维度分配、衰减率初始化等），模型调优的成本相应增加&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;长程精确召回能力有限&lt;/strong&gt;：线性注意力的固有局限在于其状态矩阵大小固定（$d \times d$），这意味着当序列极长时，早期的信息不可避免地会被压缩和遗忘。对于需要精确回忆”很久以前某次特定交互”的场景，Softmax 注意力仍有优势&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;核函数近似的理论上限&lt;/strong&gt;：线性位置通道的核函数近似虽然有效，但毕竟是一种有损近似。核函数的维度需要权衡精度和效率，在某些对位置极其敏感的场景下，可能无法完全替代精确 RPE&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;工业验证尚不充分&lt;/strong&gt;：论文的实验主要基于公开数据集，尚未公布在大规模工业推荐系统（如亿级用户、十亿级物品库）中的实际部署效果和资源消耗数据&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="9-工程实践启示"&gt;9. 工程实践启示&lt;/h2&gt;
&lt;p&gt;从工程落地的角度来看，FuXi-Linear 提供了以下有价值的启示：&lt;/p&gt;
&lt;h3 id="91-部署架构建议"&gt;9.1 部署架构建议&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;增量推理优先&lt;/strong&gt;：FuXi-Linear 最大的工程价值在于其 $\mathcal{O}(1)$ 的 Decode 复杂度。在实际部署时，应优先采用”首次 Prefill + 后续增量 Decode”的模式，而非每次请求都重新计算完整序列&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;状态缓存设计&lt;/strong&gt;：由于递归状态矩阵大小固定，可以将用户的状态矩阵持久化存储（如 Redis），实现真正的”实时增量推荐”&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;分层序列策略&lt;/strong&gt;：对于超长序列，可以考虑将远期历史和近期历史分别处理，远期历史使用更大衰减率的压缩状态，近期历史使用完整的注意力计算&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="92-训练优化建议"&gt;9.2 训练优化建议&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Chunk-wise 并行训练&lt;/strong&gt;：对于超长序列，将序列分为多个 chunk，chunk 内并行计算、chunk 间递归传递状态，可以有效平衡训练速度和显存占用&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;衰减率初始化&lt;/strong&gt;：不同头的衰减率 $\gamma$ 应该采用差异化初始化（如等比数列），避免所有头学到相似的衰减模式&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;渐进式序列增长&lt;/strong&gt;：训练时可以采用”课程学习”策略，先在短序列上预训练，再逐步增加序列长度，有助于模型更好地学习长程依赖&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="93-适用场景判断"&gt;9.3 适用场景判断&lt;/h3&gt;
&lt;p&gt;FuXi-Linear 最适合以下场景：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;用户行为序列长度超过 500，传统 Transformer 面临效率瓶颈&lt;/li&gt;
&lt;li&gt;用户行为具有明显的时间周期性模式&lt;/li&gt;
&lt;li&gt;系统对推理延迟有严格要求（如 &amp;lt;10ms 的 P99 延迟）&lt;/li&gt;
&lt;li&gt;需要支持实时增量推理，而非批量离线计算&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="10-总结与展望"&gt;10. 总结与展望&lt;/h2&gt;
&lt;p&gt;FuXi-Linear 通过精心设计的三通道架构，系统性地解决了线性注意力在推荐系统中面临的时间建模、位置编码和长序列扩展三大挑战。其核心贡献可以概括为：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;架构层面&lt;/strong&gt;：三通道并行 + 门控融合的设计范式，实现了语义、位置、时序信号的有效解耦&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;理论层面&lt;/strong&gt;：核函数近似 RPE 的方法，解决了线性注意力与相对位置编码不兼容的难题&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;实证层面&lt;/strong&gt;：首次在推荐系统中验证了线性架构的 Scaling Law，为大规模部署提供了信心&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;展望未来，FuXi-Linear 开辟了一条”高效线性架构 + 推荐场景深度定制”的新路径。随着用户行为数据的持续增长和在线推理效率要求的不断提高，这类架构有望成为下一代工业推荐系统的核心基座。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;开源代码&lt;/strong&gt;：官方代码库已经开源在 GitHub:
。&lt;/p&gt;</description></item><item><title>TokenMixer-Large: 突破工业级推荐系统的大模型扩展瓶颈</title><link>https://dingyadong.top/posts/005_tokenmixer_large_paper_review/</link><pubDate>Wed, 18 Mar 2026 10:15:00 +0800</pubDate><guid>https://dingyadong.top/posts/005_tokenmixer_large_paper_review/</guid><description>&lt;h1 id="来源元数据-metadata"&gt;来源元数据 (Metadata)&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;原文标题&lt;/strong&gt;: TokenMixer-Large: Scaling Up Large Ranking Models in Industrial Recommenders&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;原文链接&lt;/strong&gt;:
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;来源&lt;/strong&gt;: Arxiv (ByteDance 团队)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;作者&lt;/strong&gt;: Yuchen Jiang, Jie Zhu, Xintian Han, Hui Lu, Kunmin Bai, Mingyu Yang, Shikang Wu 等&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h1 id="核心摘要-executive-summary"&gt;核心摘要 (Executive Summary)&lt;/h1&gt;
&lt;p&gt;针对工业级推荐系统面临的大模型扩展瓶颈，本文提出了 &lt;strong&gt;TokenMixer-Large&lt;/strong&gt; 架构，通过引入“Mixing &amp;amp; Reverting”操作、层间残差、辅助损失以及稀疏 Per-token MoE 等一系列创新，解决了深层网络中的梯度消失、MoE 稀疏化不足以及硬件利用率低等问题，在字节跳动的核心业务（电商、广告、直播）中成功扩展至百亿参数规模，并取得了显著的在线业务增长。&lt;/p&gt;
&lt;hr&gt;
&lt;h1 id="深度解读-deep-dive"&gt;深度解读 (Deep Dive)&lt;/h1&gt;
&lt;h2 id="核心痛点"&gt;核心痛点&lt;/h2&gt;
&lt;p&gt;随着推荐系统大模型（DLRM）尝试向大规模参数扩展，现有的主流架构（如 RankMixer、Wukong、DHEN）在实际应用中暴露出多个严重瓶颈：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;次优的残差设计&lt;/strong&gt;: RankMixer 等架构通过 Mixing 操作改变了 Token 的维度和数量，导致前后残差连接时 Token 的语义无法对齐，限制了模型的表现上限。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;不纯粹的模型架构&lt;/strong&gt;: 由于历史迭代，推荐模型中通常保留了许多琐碎、访存密集型的底层算子（如 LHUC、DCNv2），导致整体模型的计算利用率 (MFU) 极低。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;深层网络梯度更新不足&lt;/strong&gt;: 传统的 TokenMixer 往往只有浅层配置（如 2 层），随着网络加深，梯度消失问题严重，难以保持训练稳定性。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MoE 稀疏化不足&lt;/strong&gt;: 原有的 ReLU-MoE 设计局限于“稠密训练、稀疏推理”范式，并未降低训练成本，且动态激活机制对推理极不友好。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;扩展性受限&lt;/strong&gt;: 受限于上述原因，工业界之前的探索仅止步于 10亿（1B）参数级别。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="方法论-methodology"&gt;方法论 (Methodology)&lt;/h2&gt;
&lt;h3 id="1-整体设计思路"&gt;1. 整体设计思路&lt;/h3&gt;
&lt;p&gt;TokenMixer-Large 的设计哲学可以用一句话概括：&lt;strong&gt;以”纯净架构”为基座，通过深度残差与稀疏化实现工业级大模型的高效扩展&lt;/strong&gt;。具体来说，团队遵循了以下三条核心设计原则：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;架构纯净化 (Architecture Purification)&lt;/strong&gt;：移除所有历史遗留的碎片化算子，仅保留高计算密度的矩阵乘法操作，最大化 GPU 的 MFU（Model FLOPs Utilization）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;残差对齐化 (Residual Alignment)&lt;/strong&gt;：通过 Mixing-Reverting 的对称设计，确保跨层残差连接的语义一致性，为深层网络训练铺平道路&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;稀疏高效化 (Sparse Efficiency)&lt;/strong&gt;：采用 Per-token MoE 实现真正的”稀疏训练+稀疏推理”，在保持模型容量的同时大幅降低计算开销&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Figure 1: TokenMixer-Large 整体架构。Raw token 包含所有原始特征和序列聚合/抽取特征。整个模型由多个 TokenMixer-Large Block 堆叠而成，每个 Block 的骨干由 Norm、Mixing、S-P MoE、Reverting、Norm、S-P MoE 和残差连接组成。"
srcset="https://dingyadong.top/posts/005_tokenmixer_large_paper_review/fig1_architecture_hu_a96e4829249b2292.webp 320w, https://dingyadong.top/posts/005_tokenmixer_large_paper_review/fig1_architecture_hu_9c68ae2a97fcbf1d.webp 480w, https://dingyadong.top/posts/005_tokenmixer_large_paper_review/fig1_architecture_hu_c2a7ae1366e0da85.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/005_tokenmixer_large_paper_review/fig1_architecture_hu_a96e4829249b2292.webp"
width="760"
height="276"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 id="2-tokenmixer-large-与初代-tokenmixer-rankmixer-的核心区别"&gt;2. TokenMixer-Large 与初代 TokenMixer (RankMixer) 的核心区别&lt;/h3&gt;
&lt;p&gt;在理解 TokenMixer-Large 的创新之前，我们必须先看清它对初代架构做了哪些大刀阔斧的”革命”。以下是四个核心差异点：&lt;/p&gt;
&lt;h3 id="21-从维度错位到mixing--reverting-绝对对齐"&gt;2.1 从“维度错位”到“Mixing &amp;amp; Reverting 绝对对齐”&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;初代 TokenMixer 的痛点&lt;/strong&gt;：在进行 Token 混合（Mixing）时，将 $T$ 个 token 强行变为 $H$ 个。输入输出维度不匹配，导致直接加和时产生语义错位，无法实现有效的跨层残差连接。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Large 版本的解法&lt;/strong&gt;：设计了高度对称的“双层结构”：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Mixing 层&lt;/strong&gt;：负责跨 Token 混合信息 ($T \rightarrow H$)。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reverting 层&lt;/strong&gt;：专门将混合后的 Token 维度完美恢复到原始状态 ($H \rightarrow T$)。
这种设计确保了输入和输出维度的绝对一致性，构建出平滑且语义对齐的深度残差通道。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 伪代码演示&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 输入 X: [T, D], T为Token数, D为维度&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 1. Mixing 阶段&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;H&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Split_and_Concat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;X&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 将 T 个 token 混合为 H 个, 维度变为 [H, T*D/H]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;H_next&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Norm&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pSwiGLU&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;H&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;H&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 2. Reverting 阶段&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;X_revert&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Split_and_Concat_Back&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;H_next&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 将 H 个 token 还原为 T 个, 维度恢复为 [T, D]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;X_next&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Norm&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pSwiGLU&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;X_revert&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;X&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 语义严格对齐的残差连接&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="22-从碎片化算子堆砌到纯净架构-pure-architecture"&gt;2.2 从”碎片化算子堆砌”到”纯净架构 (Pure Architecture)”&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;初代 TokenMixer 的痛点&lt;/strong&gt;：由于历史迭代，模型中通常堆砌了许多细碎、访存密集型的底层算子（如 LHUC、DCNv2），导致整体模型在 GPU 上的计算利用率（MFU）极低。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Large 版本的解法&lt;/strong&gt;：剥离所有底层低效交互算子，将 Post-LayerNorm 替换为 Pre-RMSNorm，使用 pSwiGLU 替换 pFFN。完全依靠堆叠纯净的 TokenMixer-Large Block 进行特征交叉，使得核心广告模型的 MFU 飙升至 60%。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;关于组件替换的详细说明：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Pre-RMSNorm vs Post-LayerNorm&lt;/strong&gt;：Pre-RMSNorm 将归一化操作放在子层的输入端而非输出端，省去了均值计算步骤，减少了约 30% 的归一化开销。更重要的是，Pre-Norm 结构使得残差通道中的梯度流动更加顺畅，有利于深层网络的训练稳定性。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pSwiGLU vs pFFN&lt;/strong&gt;：pSwiGLU（Per-token SwiGLU）将传统的 ReLU 激活替换为 SiLU（Swish）门控线性单元，引入了乘法门控机制，增强了特征的非线性表达能力。其公式为 $\text{SwiGLU}(x) = (xW_1) \otimes \text{SiLU}(xW_2)$，相比传统 FFN 增加了约 50% 的参数量，但带来的效果提升远超参数增长。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="23-从浅层堆叠到深层跨层残差-inter-layer-residuals"&gt;2.3 从”浅层堆叠”到”深层跨层残差 (Inter-Layer Residuals)”&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;初代 TokenMixer 的痛点&lt;/strong&gt;：随着网络加深（如从浅层的 2 层扩展到深层），极易发生梯度消失现象。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Large 版本的解法&lt;/strong&gt;：采取了”组合拳”：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;跨层残差与辅助损失&lt;/strong&gt;：每隔 2-3 层引入跨层残差连接，并将底层输出与高层输出结合计算辅助损失（Auxiliary Loss）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rezero 初始化&lt;/strong&gt;：将 SwiGLU 中最后一个投影矩阵的初始化方差缩小为 0.01，使模块在训练初期接近恒等映射，极大提升了模型收敛的稳定性。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Figure 2: Internal Residual（左）与 Auxiliary Loss（右）机制。跨层残差连接确保深层梯度流动，辅助损失通过中间层输出提供额外监督信号。"
srcset="https://dingyadong.top/posts/005_tokenmixer_large_paper_review/fig2_residual_aux_loss_hu_6dde1adf4c3cac0d.webp 320w, https://dingyadong.top/posts/005_tokenmixer_large_paper_review/fig2_residual_aux_loss_hu_ed292126ee3f73c5.webp 480w, https://dingyadong.top/posts/005_tokenmixer_large_paper_review/fig2_residual_aux_loss_hu_d765f0985fc7ce9e.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/005_tokenmixer_large_paper_review/fig2_residual_aux_loss_hu_6dde1adf4c3cac0d.webp"
width="760"
height="412"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 id="24-稀疏-per-token-moe-sparse-pertoken-moe-的进化"&gt;2.4 稀疏 Per-token MoE (Sparse-Pertoken MoE) 的进化&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;初代 TokenMixer 的痛点&lt;/strong&gt;：原有的 ReLU-MoE 设计局限于“稠密训练、稀疏推理”范式，并未真正降低训练成本，且动态激活对线上推理极不友好。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Large 版本的解法&lt;/strong&gt;：采用**“先扩大，后稀疏” (First Enlarge, Then Sparse)** 的端到端策略：
&lt;ol&gt;
&lt;li&gt;将 Per-token SwiGLU 拆分为多个细粒度的专家（Expert）并进行稀疏激活。&lt;/li&gt;
&lt;li&gt;引入 &lt;strong&gt;门控值缩放 (Gate Value Scaling)&lt;/strong&gt; 来解决稀疏化带来的梯度更新不足问题。&lt;/li&gt;
&lt;li&gt;加入 &lt;strong&gt;共享专家 (Shared Expert)&lt;/strong&gt; 以稳定训练过程。&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这使得模型能够真正实现”稀疏训练与稀疏推理”。在实验中，模型在仅激活一半参数（2.3B out of 4.6B）的情况下，FLOPs 下降近半，但取得了与稠密模型完全相同的业务增益（AUC +1.14%）。&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Figure 3: 单个 Block 内高性能算子的工作流程。绿色节点代表算子（operator），蓝色节点代表数据。标注星号（*）表示数据以 FP8 量化存储和计算。"
srcset="https://dingyadong.top/posts/005_tokenmixer_large_paper_review/fig3_operators_workflow_hu_551817f61d0fc358.webp 320w, https://dingyadong.top/posts/005_tokenmixer_large_paper_review/fig3_operators_workflow_hu_398fa1f1bd47369.webp 480w, https://dingyadong.top/posts/005_tokenmixer_large_paper_review/fig3_operators_workflow_hu_7da354a1b841990b.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/005_tokenmixer_large_paper_review/fig3_operators_workflow_hu_551817f61d0fc358.webp"
width="760"
height="393"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="与其他方法的对比分析"&gt;与其他方法的对比分析&lt;/h2&gt;
&lt;p&gt;为了更全面地理解 TokenMixer-Large 的定位和优势，我们从架构设计、训练效率和扩展能力三个维度进行横向对比：&lt;/p&gt;
&lt;h3 id="维度一架构设计对比"&gt;维度一：架构设计对比&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: left"&gt;对比项&lt;/th&gt;
&lt;th style="text-align: left"&gt;DLRM-MLP&lt;/th&gt;
&lt;th style="text-align: left"&gt;Wukong&lt;/th&gt;
&lt;th style="text-align: left"&gt;DHEN&lt;/th&gt;
&lt;th style="text-align: left"&gt;RankMixer&lt;/th&gt;
&lt;th style="text-align: left"&gt;&lt;strong&gt;TokenMixer-Large&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;特征交叉方式&lt;/td&gt;
&lt;td style="text-align: left"&gt;MLP 隐式交叉&lt;/td&gt;
&lt;td style="text-align: left"&gt;双塔交叉网络&lt;/td&gt;
&lt;td style="text-align: left"&gt;层次化显式交叉&lt;/td&gt;
&lt;td style="text-align: left"&gt;Token Mixing&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;Mixing &amp;amp; Reverting&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;残差连接&lt;/td&gt;
&lt;td style="text-align: left"&gt;简单残差&lt;/td&gt;
&lt;td style="text-align: left"&gt;跨塔残差&lt;/td&gt;
&lt;td style="text-align: left"&gt;层内残差&lt;/td&gt;
&lt;td style="text-align: left"&gt;维度错位残差&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;语义对齐残差&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;归一化方式&lt;/td&gt;
&lt;td style="text-align: left"&gt;BatchNorm&lt;/td&gt;
&lt;td style="text-align: left"&gt;LayerNorm&lt;/td&gt;
&lt;td style="text-align: left"&gt;LayerNorm&lt;/td&gt;
&lt;td style="text-align: left"&gt;Post-LayerNorm&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;Pre-RMSNorm&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;激活函数&lt;/td&gt;
&lt;td style="text-align: left"&gt;ReLU&lt;/td&gt;
&lt;td style="text-align: left"&gt;ReLU&lt;/td&gt;
&lt;td style="text-align: left"&gt;ReLU&lt;/td&gt;
&lt;td style="text-align: left"&gt;FFN&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;pSwiGLU&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;稀疏化支持&lt;/td&gt;
&lt;td style="text-align: left"&gt;无&lt;/td&gt;
&lt;td style="text-align: left"&gt;无&lt;/td&gt;
&lt;td style="text-align: left"&gt;无&lt;/td&gt;
&lt;td style="text-align: left"&gt;ReLU-MoE&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;Per-token MoE&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="维度二训练效率对比"&gt;维度二：训练效率对比&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: left"&gt;对比项&lt;/th&gt;
&lt;th style="text-align: left"&gt;DLRM-MLP&lt;/th&gt;
&lt;th style="text-align: left"&gt;Wukong&lt;/th&gt;
&lt;th style="text-align: left"&gt;RankMixer&lt;/th&gt;
&lt;th style="text-align: left"&gt;&lt;strong&gt;TokenMixer-Large&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;GPU MFU&lt;/td&gt;
&lt;td style="text-align: left"&gt;&amp;lt; 10%&lt;/td&gt;
&lt;td style="text-align: left"&gt;~15%&lt;/td&gt;
&lt;td style="text-align: left"&gt;~25%&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;~60%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;碎片化算子&lt;/td&gt;
&lt;td style="text-align: left"&gt;大量&lt;/td&gt;
&lt;td style="text-align: left"&gt;中等&lt;/td&gt;
&lt;td style="text-align: left"&gt;中等&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;无&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;训练稳定性&lt;/td&gt;
&lt;td style="text-align: left"&gt;浅层稳定&lt;/td&gt;
&lt;td style="text-align: left"&gt;一般&lt;/td&gt;
&lt;td style="text-align: left"&gt;深层退化&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;深层稳定&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;训练范式&lt;/td&gt;
&lt;td style="text-align: left"&gt;稠密&lt;/td&gt;
&lt;td style="text-align: left"&gt;稠密&lt;/td&gt;
&lt;td style="text-align: left"&gt;稠密训练稀疏推理&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;稀疏训练+稀疏推理&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="维度三扩展能力对比"&gt;维度三：扩展能力对比&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: left"&gt;对比项&lt;/th&gt;
&lt;th style="text-align: left"&gt;DLRM-MLP&lt;/th&gt;
&lt;th style="text-align: left"&gt;Wukong&lt;/th&gt;
&lt;th style="text-align: left"&gt;RankMixer&lt;/th&gt;
&lt;th style="text-align: left"&gt;&lt;strong&gt;TokenMixer-Large&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;已验证最大参数量&lt;/td&gt;
&lt;td style="text-align: left"&gt;~500M&lt;/td&gt;
&lt;td style="text-align: left"&gt;~1B&lt;/td&gt;
&lt;td style="text-align: left"&gt;~1B&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;15B（离线）/ 7B（在线）&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;Scaling Law 表现&lt;/td&gt;
&lt;td style="text-align: left"&gt;早期饱和&lt;/td&gt;
&lt;td style="text-align: left"&gt;有限提升&lt;/td&gt;
&lt;td style="text-align: left"&gt;中等&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;持续提升&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;多业务验证&lt;/td&gt;
&lt;td style="text-align: left"&gt;单一场景&lt;/td&gt;
&lt;td style="text-align: left"&gt;有限场景&lt;/td&gt;
&lt;td style="text-align: left"&gt;有限场景&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;电商/广告/直播&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="实验结果详细分析"&gt;实验结果详细分析&lt;/h2&gt;
&lt;h3 id="scaling-law-验证"&gt;Scaling Law 验证&lt;/h3&gt;
&lt;p&gt;TokenMixer-Large 在离线实验中展现出了清晰的 Scaling Law 特性：&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Figure 4: 三个核心业务场景的 Scaling Law 验证。(a) Feed Ads 15B (b) E-Commerce 7B (c) Live Streaming 4B。所有场景均展现出持续的 AUC 提升趋势。"
srcset="https://dingyadong.top/posts/005_tokenmixer_large_paper_review/fig4_scaling_laws_hu_701841928bbeeb86.webp 320w, https://dingyadong.top/posts/005_tokenmixer_large_paper_review/fig4_scaling_laws_hu_31b5ca9de6c56b92.webp 480w, https://dingyadong.top/posts/005_tokenmixer_large_paper_review/fig4_scaling_laws_hu_cb75c2d5645cd226.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/005_tokenmixer_large_paper_review/fig4_scaling_laws_hu_701841928bbeeb86.webp"
width="760"
height="210"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;500M -&amp;gt; 1B&lt;/strong&gt;：CTCVR AUC 持续提升，验证了架构设计的有效性&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;1B -&amp;gt; 4B&lt;/strong&gt;：引入 Sparse-Pertoken MoE 后，模型在激活参数仅为 2.3B 的情况下达到了与 4.6B 稠密模型相当的性能&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;4B -&amp;gt; 15B&lt;/strong&gt;：离线实验表明 AUC 仍在持续提升，未出现明显的饱和趋势&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="Figure 5: TokenMixer-Large vs RankMixer(TokenMixer) 的 Scaling Law 对比。无论是参数量还是 FLOPs 维度，TokenMixer-Large 都展现出更陡峭的提升斜率。"
srcset="https://dingyadong.top/posts/005_tokenmixer_large_paper_review/fig5_auc_gain_comparison_hu_5732f6cdf064d910.webp 320w, https://dingyadong.top/posts/005_tokenmixer_large_paper_review/fig5_auc_gain_comparison_hu_4b1b8eb7052f469b.webp 480w, https://dingyadong.top/posts/005_tokenmixer_large_paper_review/fig5_auc_gain_comparison_hu_5886734552d50243.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://dingyadong.top/posts/005_tokenmixer_large_paper_review/fig5_auc_gain_comparison_hu_5732f6cdf064d910.webp"
width="760"
height="405"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 id="消融实验关键发现"&gt;消融实验关键发现&lt;/h3&gt;
&lt;p&gt;论文中的消融实验揭示了几个重要结论：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Mixing &amp;amp; Reverting 的必要性&lt;/strong&gt;：去除 Reverting 层后，AUC 下降约 0.15%，证明语义对齐的残差连接对深层网络至关重要&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;跨层残差的贡献&lt;/strong&gt;：去除跨层残差后，深层模型（&amp;gt;6 层）出现明显的训练不稳定，AUC 波动加剧&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rezero 初始化的作用&lt;/strong&gt;：将初始化方差从标准值改为 0.01 后，训练初期的 loss 曲线更加平滑，最终收敛效果提升约 0.08% AUC&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;门控值缩放的影响&lt;/strong&gt;：在 MoE 稀疏化场景中，移除门控值缩放会导致约 0.12% 的 AUC 损失，验证了其对缓解稀疏梯度更新不足的有效性&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="流程图-flowchart"&gt;流程图 (Flowchart)&lt;/h2&gt;
&lt;div class="mermaid-wrapper"&gt;
&lt;div class="mermaid" style="background: transparent;"&gt;
graph LR
A[Sparse Features] --&gt; B[Embedding &amp; Tokenizer]
B --&gt; C[Grouped Tokens X]
D["Mixing: Split &amp; Concat"] --&gt; E["SwiGLU + Norm"]
E --&gt; F["Reverting"] --&gt; G["SwiGLU + Norm"]
C --&gt; D
C -.-&gt;|Residual| G
G --&gt; H[Deep Layers + MoE]
H --&gt; I[Pooling &amp; Prediction]
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="优缺点分析"&gt;优缺点分析&lt;/h2&gt;
&lt;h3 id="优势"&gt;优势&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;架构简洁高效&lt;/strong&gt;：通过彻底移除碎片化算子，TokenMixer-Large 将 GPU MFU 提升至 60%，这意味着同样的硬件资源可以训练更大的模型。这种”少即是多”的设计理念在工业界具有重要的参考价值。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;真正的稀疏训练+推理&lt;/strong&gt;：不同于 ReLU-MoE 的”稠密训练、稀疏推理”，Per-token MoE 实现了端到端的稀疏化，使得训练成本和推理成本同时降低。这对于大规模在线服务的部署预算控制至关重要。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;经过大规模工业验证&lt;/strong&gt;：该架构已在字节跳动电商、广告、直播三大核心业务线上线验证，覆盖了推荐系统的主要应用场景，证明了其普适性和鲁棒性。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;清晰的 Scaling Law&lt;/strong&gt;：实验证明了模型在 500M 到 15B 参数范围内持续受益于规模扩展，为后续进一步扩展提供了明确的方向。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="不足"&gt;不足&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Embedding 层优化不足&lt;/strong&gt;：论文主要聚焦于排序模型（Ranking Model）的上层架构，对 Embedding 层的优化讨论较少。而在实际工业系统中，Embedding 层往往占据了模型参数量的绝大部分（通常超过 90%），如何高效地扩展 Embedding 仍是一个开放问题。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;训练基础设施要求高&lt;/strong&gt;：扩展至 7B-15B 参数规模需要大量的 GPU 资源和分布式训练框架支持。论文对多机多卡的并行策略、通信优化等工程细节披露有限，其他团队复现的门槛较高。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;冷启动与长尾问题未涉及&lt;/strong&gt;：文章主要关注整体指标（AUC、GMV）的提升，未讨论大模型在推荐系统冷启动场景和长尾物品推荐上的表现，而这些恰恰是工业推荐系统的核心痛点。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;跨域泛化能力有待验证&lt;/strong&gt;：虽然在字节跳动内部三个业务线均有验证，但不同公司的推荐系统在数据分布、特征工程、业务目标上差异巨大，该架构的跨域迁移能力尚需更多外部验证。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="工程实践启示"&gt;工程实践启示&lt;/h2&gt;
&lt;p&gt;对于正在探索推荐系统大模型化的团队，TokenMixer-Large 提供了以下工程实践启示：&lt;/p&gt;
&lt;h3 id="1-先做架构减法再做规模加法"&gt;1. 先做架构”减法”，再做规模”加法”&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;在盲目扩大模型参数之前，优先审视现有架构中的碎片化算子&lt;/li&gt;
&lt;li&gt;统计各算子的 FLOPs 占比和延迟占比，找出”高延迟、低计算”的瓶颈算子&lt;/li&gt;
&lt;li&gt;逐步替换为高计算密度的标准化组件（如将各类特征交叉算子统一为矩阵乘法）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-渐进式扩展策略"&gt;2. 渐进式扩展策略&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;不要一步跳到超大规模，建议按照 500M -&amp;gt; 1B -&amp;gt; 4B -&amp;gt; 10B 的节奏逐步扩展&lt;/li&gt;
&lt;li&gt;每个阶段都需要充分的离线实验和在线 A/B 测试验证&lt;/li&gt;
&lt;li&gt;关注 Scaling Law 曲线的拐点，当 AUC 提升开始饱和时及时调整策略&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-稀疏化是大模型落地的关键"&gt;3. 稀疏化是大模型落地的关键&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;对于超过 1B 参数的在线推理模型，MoE 稀疏化几乎是必选项&lt;/li&gt;
&lt;li&gt;建议同时评估训练和推理两端的稀疏化方案，优先选择能同时降低两端成本的方案&lt;/li&gt;
&lt;li&gt;门控值缩放和共享专家等稳定化技巧在实践中非常重要，不可省略&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4-mfu-是核心效率指标"&gt;4. MFU 是核心效率指标&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;将 MFU 纳入模型迭代的核心监控指标&lt;/li&gt;
&lt;li&gt;目标至少达到 40% 以上（TokenMixer-Large 达到了 60%）&lt;/li&gt;
&lt;li&gt;低 MFU 往往意味着存在大量的访存瓶颈或通信开销，需要针对性优化&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="结论-conclusion"&gt;结论 (Conclusion)&lt;/h2&gt;
&lt;p&gt;TokenMixer-Large 验证了在去除历史碎片化算子后，”纯净架构+大规模堆叠”在推荐领域的有效性。模型在离线实验中成功扩展至 &lt;strong&gt;150亿 (15B)&lt;/strong&gt; 参数，在线部署达到了 &lt;strong&gt;70亿 (7B)&lt;/strong&gt; 参数。在字节跳动核心业务取得巨大收益：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;电商&lt;/strong&gt;: 订单量提升 1.66%，人均 GMV 提升 2.98%&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;广告&lt;/strong&gt;: ADSS 提升 2.0%&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;直播&lt;/strong&gt;: 收入增长 1.4%&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h1 id="关键代码数据"&gt;关键代码/数据&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;核心数据对比 (电商场景 500M 规模基线对比)&lt;/strong&gt;:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: left"&gt;模型&lt;/th&gt;
&lt;th style="text-align: right"&gt;参数量&lt;/th&gt;
&lt;th style="text-align: right"&gt;训练 FLOPs/Batch&lt;/th&gt;
&lt;th style="text-align: right"&gt;CTCVR AUC 提升&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;DLRM-MLP&lt;/td&gt;
&lt;td style="text-align: right"&gt;499 M&lt;/td&gt;
&lt;td style="text-align: right"&gt;125.1 T&lt;/td&gt;
&lt;td style="text-align: right"&gt;基线&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;Wukong&lt;/td&gt;
&lt;td style="text-align: right"&gt;513 M&lt;/td&gt;
&lt;td style="text-align: right"&gt;4.6 T&lt;/td&gt;
&lt;td style="text-align: right"&gt;+0.76%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;RankMixer&lt;/td&gt;
&lt;td style="text-align: right"&gt;567 M&lt;/td&gt;
&lt;td style="text-align: right"&gt;4.6 T&lt;/td&gt;
&lt;td style="text-align: right"&gt;+0.84%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;TokenMixer-Large 500M&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: right"&gt;501 M&lt;/td&gt;
&lt;td style="text-align: right"&gt;4.2 T&lt;/td&gt;
&lt;td style="text-align: right"&gt;&lt;strong&gt;+0.94%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;TokenMixer-Large 4B SP-MoE&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: right"&gt;2.3B 激活&lt;/td&gt;
&lt;td style="text-align: right"&gt;15.1 T&lt;/td&gt;
&lt;td style="text-align: right"&gt;&lt;strong&gt;+1.14%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;注：Sparse-Pertoken MoE 在激活仅一半参数（2.3B in 4.6B）的情况下，不仅显著降低了 FLOPs，还达到了与稠密模型完全相同的业务增益，实现了极高的性价比 (ROI)。&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="总结与展望"&gt;总结与展望&lt;/h2&gt;
&lt;p&gt;TokenMixer-Large 的成功为工业级推荐系统的大模型化树立了一个重要的里程碑。它证明了推荐系统同样遵循 Scaling Law，只要架构设计得当，参数规模的扩展能够持续带来业务增益。&lt;/p&gt;
&lt;p&gt;未来值得关注的方向包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;多模态融合&lt;/strong&gt;：将文本、图片等多模态特征纳入 TokenMixer 框架，进一步提升推荐质量&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;在线学习与实时更新&lt;/strong&gt;：探索大模型在在线学习场景下的高效更新策略&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;模型压缩与蒸馏&lt;/strong&gt;：研究如何将大模型的知识高效蒸馏到轻量级模型中，服务于延迟敏感的场景&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;跨业务迁移学习&lt;/strong&gt;：探索不同业务线之间的模型迁移和知识共享机制&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>