Kimi 团队提出 Attention Residuals:将注意力机制引入残差连接,提升深度学习模型性能

Kimi 团队提出 Attention Residuals,用注意力机制取代传统残差连接,显著提升模型性能和效率,或将开启深度学习 2.0 时代。

原文标题:将注意力旋转 90 度!今天,Kimi 的「注意力残差」火了

原文作者:机器之心

冷月清谈:

Kimi 团队发布 Attention Residuals 技术报告,提出用注意力机制取代传统残差连接,为每一层配备智能筛选器,按需分配权重聚合之前所有层的特征。该方法通过将模型深度视为另一种时间形式,借鉴 Transformer 的思想,解决了传统残差连接导致的信息稀释和隐藏状态爆炸问题。实验表明,Attention Residuals 能够提升计算效率、逻辑推理能力和模型稳定性,在多步推理、数学和代码生成等任务上表现突出,并且能够节省约 20% 的计算量。该研究为深度学习架构设计提供了新的思路,引发了对基础架构的 Rethink & Imagine。

怜星夜思:

1、Attention Residuals 通过注意力机制解决了传统残差连接的信息稀释问题,那么在实际应用中,如果层数非常深,注意力机制会不会也面临类似的“注意力衰减”问题,导致某些浅层特征难以被有效利用?有什么方法可以缓解这种情况?
2、论文中提到 Attention Residuals 在数学和代码等硬核任务上提升显著,这是为什么?是因为注意力机制更擅长捕捉这类任务中的长距离依赖关系,还是有其他原因?
3、Jerry Tworek 认为 Attention Residuals 可能开启「深度学习 2.0」时代,你觉得这种说法靠谱吗?如果属实,你认为「深度学习 2.0」的核心特征会是什么?

原文内容

图片
编辑|冷猫

只要接触深度学习神经网络的读者们对「 」一定不会陌生。


自从 2015 年 ResNet 诞生以来,这种「将输入直接加到输出上」的简单逻辑,统治了几乎所有神经网络架构。


但就在刚刚,沿用了十年的残差机制「升级」了。随橙想呢,替代方法竟然是「注意力机制」



就连 OpenAI 「推理模型之父」,主导了 o1/o3 系列、Codex 编程模型及 GPT-4 的 STEM 能力开发的 Jerry Tworek 都深受这一论文启发,认为应当重新思考之前的一切,「深度学习 2.0」的时代即将到来



这篇颠覆传统残差连接机制的工作来自 Kimi 团队,发布了一项重磅技术报告:Attention Residuals ,该方法旨在通过对前序层进行学习到的、依赖输入的注意力机制,来取代标准的深度递归。



  • 论文标题:Attention Residuals

  • 论文链接:https://github.com/MoonshotAI/Attention-Residuals/blob/master/Attention_Residuals.pdf

  • 项目链接:https://github.com/MoonshotAI/Attention-Residuals


时间与深度的对偶


要理解 Attention Residuals 是在做什么,我们得先看传统的残差连接 y = x + f (x) 出了什么问题。


在大模型向更深、更强演进的过程中,这种残差的加法机制带来了两个副作用:


1. 信息稀释: 残差连接采用固定单位权重的均匀聚合,导致浅层特征在向深层传递时,其相对贡献度随深度线性衰减。这种「信息稀释」现象限制了深层网络对底层原始表示的直接利用能力。随着层数增加,第一层的信息传到第一百层时,已经被后面九十九层的信息层层冲淡。


2. 隐藏状态爆炸:为了在不断累加的残差流中维持信号强度,深层模块往往需要输出模长更大的激活值。这种隐状态的无序扩张不仅破坏了数值稳定性,还导致梯度分布不均,增加了超大规模模型训练收敛的难度,直接导致了训练的不稳定性。


本文的天才之处在于,发现模型的「深度」其实就是另一种形式的「时间」



论文作者之一的 Yulun Du 老师道出了该论文的核心思想:将注意力旋转 90°


Attention Residuals (AttnRes) 由此诞生:为每一层配备了一个「智能筛选器」。每一层都会发出一个 Query,去之前的所有层里寻找最相关的特征,并按需分配权重进行聚合。


正如 RNN 在时间维度上的表现,残差连接在深度维度上也将所有先验信息压缩到了单一状态 图片中。在序列建模领域,Transformer 通过将递归替换为注意力机制,超越了 RNN,使每个位置都能通过数据依赖的权重,选择性地访问之前的所有位置。研究团队针对 「深度」 提出了同样的方法:



其中 图片是层特定的注意力权重,且满足 图片。与动辄达到数百万 Token 的序列长度不同,网络的深度通常较浅(L<1000),这使得深度方向上 O (L2) 复杂度的注意力机制在计算上具有可行性。


注意力残差


理论重构:完整的注意力残差


传统的残差连接(ResNet)本质上是深度递归:它像 RNN 一样,把过去所有层的信息死板地 「压缩」进一个求和状态中。


注意力权重可以表示为 图片。本文采用了带有归一化的指数核函数,即在深度维度上执行 Softmax 注意力



  • 核心创新: 既然 Transformer 用注意力机制取代了 RNN,解决了长序列的遗忘问题;那么 AttnRes 就在深度上取代了残差累加。

  • 数学实现: 每一层不再是简单地加上前一层,而是发出一个可学习的 Query,去和之前所有层产生的 Key 做匹配。

  • Softmax 权重: 通过 Softmax 归一化,模型可以 「挑选」 出对自己最有用的某几层。比如第 50 层可以直接提取第 2 层的特征,权重占比可以高达 0.8,而不用担心被中间的 48 层稀释。


工程落地:Block AttnRes 的分块策略


全量注意力(Full AttnRes)虽然完美,但在超深模型里会导致显存和通信量爆炸(   复杂度)。为了让模型跑得通,研究团队设计了块结构


局部求和(Intra-Block): 把模型分成 N 个块。在块内部,各层输出依然进行简单的累加,缩减为一个 「块代表」(Representation):



全局调度(Inter-Block): 每一层在进行残差聚合时,不再盯着 「每一层」 看,而是盯着 「每一个块」 看。对于第 n 块中的第 i 层,其 Value 矩阵 定义为:



在这种设计下,网络的第一层接收 Token 嵌入;每个块的第一层接收之前所有的块表示及 Token 嵌入;块内的后续层则额外关注当前块内已产生的累加结果。最终的输出层聚合所有 N 个块表示。


  • 效率奇迹: 实验发现,即便模型有上百层,只要划分成 N≈8 个块,就能获得绝大部分性能增益。

  • 复杂度骤降: 内存开销从随层数 L 增长,降到了随块数增长。这意味着你可以用极小的代价(推理延迟增加 < 2%),获得一个 「更聪明」 的深层网络。


图 1:Attention Residuals 概览:(a) 标准残差(Standard Residuals): 采用均匀加法累加的传统残差连接方式。(b) 全量注意力残差(Full AttnRes): 每一层都通过学习到的注意力权重,有选择地聚合之前所有层的输出。(c) 块注意力残差(Block AttnRes): 将各层划分为若干个「块」,将内存开销从 O (Ld) 降低至 O (Nd)。


战果:1.25 倍的「计算杠杆」


根据论文信息,实验架构与 Kimi Linear 完全一致,这是一种遵循 Moonlight / DeepSeek-V3 设计的混合专家模型(MoE) Transformer。唯一的修改是在残差连接中加入了 AttnRes;模型深度、隐藏维度、专家路由和 MLP 结构等其他组件均保持不变。


研究团队测试了五种模型规模,并为每种规模训练了三个变体:PreNorm 基准模型、全量 AttnRes 以及约 8 个块的 Block AttnRes。



 下图展示了拟合后的规模化曲线。



三个变体的斜率相似,但 AttnRes 在整个计算范围内一致实现了更低的损耗(Loss)。基于拟合曲线,在 5.6 PFLOP/s-days 的计算量下,Block AttnRes 的损耗为 1.692,而基准模型为 1.714,这相当于 1.25 倍的计算优势(Compute Advantage)。随着模型规模增大,Full 与 Block 变体之间的差距在缩小。


研究团队的最大模型基于 Kimi Linear 48B 配置:27 个 Transformer 块(共 54 层),在 256 个路由专家中激活 8 个,外加 1 个共享专家,总参数 48B,激活参数 3B。该模型采用 Block AttnRes,每块 6 层,共产生 9 个块外加 1 个 Token 嵌入,形成 10 个深度方向的来源。



上图展示了模型在 1T token 训练过程中的动态变化:


  • 验证损耗: AttnRes 在整个训练过程中始终保持较低的验证损耗,尤其在衰减(Decay)阶段差距进一步拉大。

  • 输出量级: 基准模型遭受 PreNorm 稀释问题:随着隐状态量级随深度单调增长,深层网络被迫从固定缩放的归一化输入中学习越来越大的输出,以维持影响力。而 Block AttnRes 将这种增长限制在每个块内,通过块边界的选择性聚合重置了累加过程,呈现出有界的周期性模式。

  • 梯度量级: 在所有残差权重固定为 1 的基准模型中,梯度流在深度上的分布极不均匀,导致早期层梯度过大。Block AttnRes 的可学习 Softmax 权重引入了来源之间的竞争,从而实现了显著更均匀的梯度分布



下游性能表现: 如上表所示,Block AttnRes 在所有评测任务中均达到或超过了基准模型。


  • 提升显著的任务: 在多步推理任务中提升尤为突出,如 GPQA-Diamond (+7.5)Minerva Math (+3.6) 以及代码生成 HumanEval (+3.1)

  • 知识类任务: MMLU (+1.1) 和 TriviaQA (+1.9) 也展现了稳健的提升。


数据给出了最有力的证明:


  • 计算效率: 达到同样的性能,AttnRes 相比传统残差节省了约 20% 的计算量(1.25x 优势)。

  • 逻辑推理: 在数学、代码等硬核任务上提升显著。例如,在极难的 GPQA-Diamond 测试中,性能提升了 7.5 分

  • 稳定性: 成功抑制了隐藏状态的数值爆炸,让深层网络依然能保持「冷静」和「高效」。


总结:Rethink & Imagine


用更高维的视角看基础架构的研究,时间和空间都是相通的。


这篇论文「将注意力旋转 90°」的思想,似乎带给 Karpathy 一些启示和思考。



ResNet 的残差流是信息在不同空间深度上的传递。SGD (随机梯度下降)的权重流是信息在不同时间维度上的传递。


研究团队觉得 ResNet 的加法太朴素了,所以提议用 Attention 来筛选过去每一层的输出。 既然 SGD 也是 ResNet,「Attention is All You Need」,那我们为什么不能优化器里也加上 Attention


架构的生命力,往往来自于对惯性的反思。


当我们回过头去审视那些基础架构,或许就能在过去的故纸堆中,发现更多通往未来的巧妙结合。


更多信息,请参阅原论文。


© THE END

转载请联系本公众号获得授权

投稿或寻求报道:liyazhou@jiqizhixin.com


这个角度很有意思!我联想到图像超分任务,低分辨率图像的细节信息很容易在多层卷积后丢失。或许可以借鉴 Attention Residuals 的思想,在不同尺度的特征图之间引入注意力机制,让模型能够自适应地提取和融合低分辨率图像中的细节信息,从而提升超分效果。关键在于如何设计有效的注意力机制,让模型能够准确地找到并利用那些重要的细节信息。

别忘了工程落地的影响!Attention Residuals 提出的 Block AttnRes 降低了计算复杂度,使得在超深模型中使用注意力机制成为可能。这意味着我们可以构建更大、更深的模型,而不用担心显存和计算资源的瓶颈。这对于推动深度学习在资源受限环境下的应用具有重要意义。想象一下,在移动设备上运行一个拥有上百层、但又非常高效的 AI 模型,是不是很酷?

Attention Residuals 通过注意力机制实现了对历史层信息的选择性访问,这对于多步推理任务至关重要。在多步推理中,每一步的推理都依赖于前几步的结果。传统残差连接可能无法有效地保留和利用这些历史信息,而 Attention Residuals 可以让模型在每一步推理时,根据当前的需求,动态地关注之前相关的步骤,从而提高推理的准确性。此外,Attention Residuals 可以缓解深度网络中的梯度消失问题,使得模型能够更好地学习长程依赖,这对于需要多步推理的任务尤其重要。

如果 Jerry Tworek 的判断是正确的,那么 Attention Residuals 的影响将会是深远的。首先,它可能会引发对现有深度学习架构的重新思考,促使研究人员探索更多基于注意力机制的创新架构。其次,Attention Residuals 有望提高深度学习模型的效率和性能,使得我们能够训练更大规模、更复杂的模型,从而解决更具挑战性的问题。此外,Attention Residuals 还有可能推动深度学习在各个领域的应用,例如自然语言处理、计算机视觉、语音识别等。

我猜是因为 Attention Residuals 更擅长建立长程依赖关系。多步推理任务通常需要模型记住并利用很久之前的信息,才能正确地完成后续的推理步骤。传统的残差连接可能会让这些信息在传递过程中逐渐衰减,但 Attention Residuals 可以通过注意力机制,直接将当前层的信息与很久之前的层连接起来,从而更好地保留和利用这些长程依赖信息。

就像做数学题,一步错,步步错,但是如果你能记住第一步的公式,后面就算错了,也能及时纠正。

除了长程依赖,我觉得还有一点是 Attention Residuals 降低了信息噪音。多步推理过程就像是搭积木,每一步都可能引入一些不相关的信息(噪音)。传统残差连接一股脑把所有信息都加起来,可能会放大噪音的影响。而 Attention Residuals 通过注意力机制,可以过滤掉一些不重要的信息,让模型更专注于关键的推理步骤,从而提高整体的推理效果。

我觉得信息稀释在CV和NLP里一直都有啊!CV里,浅层网络提取的边缘特征,经过深层网络,可能就被更抽象的语义特征盖住了。NLP里,长文本的开头信息,可能在经过一堆 Transformer block 之后就被后面的内容淹没了。Attention Residuals 提供了一个很好的思路,就是不要简单粗暴地把所有信息都加起来,而是要学会“选择”。CV里,可以考虑让网络学习不同层级特征的重要性,然后加权融合;NLP里,可以设计更精细的 attention 机制,让模型更好地记住重要的历史信息。

当然,这只是一个思路,具体怎么实现,还得看具体的问题和数据。

我觉得是因为这些任务都需要“记忆”和“选择”。多步推理就像解一道复杂的数学题,每一步都需要用到之前的结论,AttnRes能记住之前的关键步骤,并选择性地使用,所以效果好。代码生成也是一样,AttnRes可以记住之前的代码逻辑,并根据上下文生成更合适的代码。

我觉得 Jerry Tworek 这么说,可能更多的是一种鼓励。毕竟,创新是需要一些“吹捧”的。Attention Residuals 就像是给神经网络打了一针“鸡血”,让它在某些方面表现得更出色。至于能发挥多大作用,还要看后续的发展。

别忘了,之前也有人说过 Transformer 是“深度学习 2.0”。。。与其炒作概念,不如踏踏实实把模型做好。不过,如果 Attention Residuals 真的能在各个领域都取得显著提升,那另当别论。

我认为在数学和代码这类硬核任务上提升显著,Attention Residuals 的优势主要体现在以下几个方面:

1. 精准依赖关系建模: 数学公式和代码逻辑往往具有非常强的依赖关系,比如一个变量的定义会影响到后续的计算,一个函数的调用会涉及到之前的声明。注意力机制能够精准地捕捉这些长距离、非相邻的依赖关系,从而更好地理解数学公式和代码的含义。

2. 结构化信息提取: 数学公式和代码都具有一定的结构化信息,比如运算符的优先级、代码的缩进等。注意力机制可以通过学习到合适的注意力权重,将这些结构化信息融入到特征表示中,从而提高模型的理解能力。

3. 知识迁移能力: 数学和代码领域存在大量的知识和规则,例如数学公式的推导、代码的编程规范等。Attention Residuals 可以通过注意力机制,将这些知识和规则迁移到新的任务中,从而提高模型的泛化能力。

总之,Attention Residuals 在数学和代码任务上的优势,是注意力机制本身特点和任务特点共同作用的结果。