Kimi注意力残差:从梯度到Attention的底层架构的创新
🐱🐶 彻底搞懂注意力残差(Attention Residual)——从梯度到Transformer深度维度的革命
小可(好奇地歪着头):Kimi的注意力残差论文在X上火了,500万浏览量!
博士(推了推眼镜):没错,连马斯克和卡帕西都关注了,估值3个月翻了4倍到180亿美元。
Scene 1:注意力大火

小可(惊讶地):Kimi的注意力残差论文在X上火了,500万浏览量!
博士(翻开笔记本):没错,连马斯克和卡帕西(Andrej Karpathy)等大佬都关注了,估值3个月翻了4倍到180亿美元。
最近,Kimi(月之暗面/Moonshot AI)发表了一篇技术论文——注意力残差(Attention Residual),在社交平台上引发了爆炸式的热度。这篇论文在X(原Twitter)上已经获得了将近500万的浏览量,连马斯克、安德烈·卡帕西(Andrej Karpathy)等业界大佬都纷纷关注转发。与此同时,Kimi的估值在不到3个月的时间里翻了近4倍,现在已经涨到了180亿美元,最近还在进行新一轮10亿美元的融资。
这个看似不起眼的"残差连接"改进,到底凭什么让这么多人拍案叫绝?为什么卡帕西说要"重新认识Attention is All You Need"?今天,小可和博士将带你从零开始,深入理解这个Transformer底层架构的重大创新。
Scene 2:注意力残差是啥

小可(疑惑):那到底什么是注意力残差?能一句话讲清楚吗?
博士(自信地):简单说:传统残差是逐层相加,注意力残差是加权聚合所有层的输出!
要理解注意力残差,我们先从最基础的概念说起——梯度。
Scene 3:梯度是什么

小可(好奇):在说注意力残差之前,梯度是什么?
博士(画图比喻):很简单,就像两个旋钮,A0转一圈,A1转0.5圈,0.5就是梯度。
梯度,听起来很高深,其实道理非常简单。我们可以用两个旋钮来比喻:假如旋钮A0转一圈,旋钮A1跟着转了0.5圈,那么这里的0.5就是A0对A1的梯度。
公式就是:
梯度=输出变化输入变化(导数)梯度 = \frac{输出变化}{输入变化}(导数)梯度=输入变化输出变化(导数)
- 单个变量时:梯度 = 导数
- 多变量时:梯度 = 偏导数向量(每个方向一个)
- 深度学习 = 旋转蓝色旋钮让损失变小
- 梯度告诉我们该往哪个方向调参数,梯度越大,该方向的影响越强
Scene 4:深度学习的目标

小可(追问):那深度学习的目标呢?
博士(指着图):旋转蓝色参数旋钮,让黑色损失旋钮变小——这就是训练!
深度学习的目标其实很简单:蓝色旋钮代表网络参数(weights),黑色旋钮代表损失(loss,即预测值与真实值之间的误差)。我们要做的就是:通过反向传播,调整每一个蓝色旋钮的方向和幅度,让最终的黑色旋钮(损失)变小一点点。
**反向传播(Backpropagation)**的完整流程:
- 前向计算:输入 → 网络 → 输出 → 损失
- 反向传播:从损失层开始,逐层计算梯度
- 参数更新:theta = theta - lr × grad_L(梯度下降)
关键:梯度决定了每个参数应该往哪个方向调。学习率(lr)就是每次调整的步长大小——lr太小收敛慢,lr太大震荡发散。
这个过程听起来直观,但实际操作中会遇到两个极其令人头疼的问题——梯度消失和梯度爆炸。
Scene 5:梯度消失

小可(惊讶):梯度会消失?为什么会这样?
博士(画出链条):因为梯度会以连乘形式累积。0.5连乘4次变成0.0625,第一个旋钮对最后一个的影响几乎可以忽略。
梯度会随着神经网络层数的加深,以连乘的形式累积。这是什么意思呢?
举个简单的例子:假设每一层的梯度是0.5(小于1),那么经过4层之后:
0.5×0.5×0.5×0.5=0.06250.5 \times 0.5 \times 0.5 \times 0.5 = 0.06250.5×0.5×0.5×0.5=0.0625
也就是说,当你旋转第一个旋钮(最底层的参数)时,它对最后一个旋钮(最上层输出)的影响几乎可以忽略不计了。这种现象就叫做梯度消失(Vanishing Gradient)。
梯度消失会导致什么后果?前几层的参数几乎学不到任何东西。网络越深,梯度消失的风险就越大,最终可能导致训练彻底失败。这就是为什么在ResNet出现之前,深度神经网络的层数一直很难突破——不是我们不想加深,而是加了也没用,前面的层根本学不到东西。
Scene 6:梯度爆炸

小可(继续问):那梯度大的时候呢?
博士(画火箭):梯度大于1时,连乘效应让梯度指数级增长——梯度爆炸,模型直接飞起来了。
与梯度消失相对的,是梯度爆炸(Exploding Gradient)。
如果梯度大于1,那么经过多层连乘后,数值会指数级增长。比如梯度为2时:
2×2×2×2=162 \times 2 \times 2 \times 2 = 162×2×2×2=16
此时旋转第一个旋钮,最后一个旋钮就直接起飞了。参数更新幅度过大,会导致损失值剧烈震荡,模型完全发散,根本无法训练。
梯度消失(太小)和梯度爆炸(太大),是影响神经网络训练稳定性的两个最令人头疼的问题,都会让参数的调整陷入不可控的恶性循环。
Scene 7:残差连接

小可(寻找方案):那怎么解决梯度消失问题?
博士(兴奋):ResNet的残差连接!y = x + F(x),把原始输入本身无脑加进来!
面对梯度消失和梯度爆炸,有一个非常简单的解决办法:对于任意的函数变换,都无脑地把原来的输入本身加进来。
公式就是:
y=x+F(x)y = x + F(x)y=x+F(x)
这就是2015年**ResNet(残差网络)**的核心思想,它成功训练了152层深度的网络,彻底改变了计算机视觉领域。起到的直观效果就是:输出的旋钮不管怎么变,至少先跟着输入转这么一圈,剩下的再说。这在极大程度上缓解了梯度消失的问题,因为梯度可以无损地通过这条"捷径"(skip connection)传递回去。
改变的地方其实非常简单——就是加了个数而已。输出和输入之间的差值,就叫做残差(Residual)。
Scene 8:残差的本质

小可(好奇):残差连接的精妙之处在哪?
博士(深刻):不是学习完整映射H(x),而是学习差值F(x) = H(x) - x!
更本质地说,残差连接让我们从学习一个"完整的输入到输出的映射"变成了只学习这个"差值"。数学直觉和经验告诉我们:学习差值要比学习完整映射简单得多。
为什么学习差值更简单?
- 如果最优映射接近恒等映射,F(x)≈0 很容易学
- 初始化F(x)=0时,至少不会比直接传x更差
- 数学直觉:近似一个函数 = 近似它偏离基准的部分
残差连接 = 让网络至少保持现状,再尝试改进。这就是ResNet最优雅的数学洞察。
Scene 9:残差块结构

小可(想看细节):残差块的标准结构长什么样?
博士(画流程图):BN→ReLU→Conv→BN→ReLU→Conv,然后加一个skip connection直接连接输入和输出。
标准的残差块结构:
- 残差块:BN → ReLU → Conv → BN → ReLU → Conv
- 跳连线:输入x直接加到变换后输出
- 预激活残差块(BN-ReLU-Conv)效果更好
而在Transformer中,残差连接体现为:
x + Attention(x)或x + FFN(x)- → 所有深度学习框架标配
从此,残差连接成为了深度网络的标配,从ResNet到Transformer,再到今天的所有大模型。
Scene 10:传统残差的问题

小可(追问):那传统残差连接有什么缺点?
博士(摇头):太死板了——信息从a1传递到a4时,可能已经扭曲得不成样子了。
然而,这个残差连接结构——从最原始的Transformer开始——就基本上没有变过。很少有人想尝试改变它。
为什么呢?因为残差连接属于最基础的部分,动它就像动"老祖宗"一样,风险很大。
但如果我们仔细分析一下传统残差连接的工作方式,会发现一个明显的问题:太死板了。
传统残差的做法是:每一层经过一个函数变换后,无脑地把之前那层的值加过来。这意味着:
- 信息从a1传递到a4时,可能已经被扭曲得不成样子
- a1的信息经过多次变换后,每层的F(x)都会扭曲/混合信息
- 深层之后,原始信息被严重污染
- 逐层相加太死板,没有选择性
→ 需要一种更灵活的信息传递方式。
Scene 11:HC拓宽通道

小可(期待):有没有改进传统残差的方案?
博士(介绍):字节提出了HC——把a1复制多份,每条路径乘不同的可学习矩阵W_i。
针对传统残差的问题,字节跳动提出了**HC(Hyper Connection)**方案。
核心思路是:拓宽通道数。简单说,就是把a1复制多份,同时往后不再单纯地加,而是乘上一个可学习的矩阵。这样信息的传递就有更多机会被保留下来。
核心改进:
- 把a1复制多份,每条路径乘不同的可学习矩阵W_i
- 不再是单纯的加,而是加权组合
- 信息有更多机会被保留和选择性地传递
- 通道越宽,信息保留的可能性越多
但问题来了:如果这个学习矩阵不加任何约束,多层矩阵连乘起来可能又会失控,重新产生梯度爆炸的风险。
Scene 12:流形约束

小可(担忧):那无约束的矩阵连乘不会爆炸吗?
博士(解释):DeepSeek的mHC加了流形约束,让学习矩阵W始终在安全区内。
为了解决HC方案中矩阵连乘可能失控的问题,DeepSeek提出了**mHC(manifold-constrained Hyper Connection)**方案。
什么是流形约束?
- 让学习矩阵W属于特定流形(如正交矩阵群)
- 正交矩阵:W × W^T = I,乘法不改变范数
- 简单说:不论怎么乘,结果都在安全区内
mHC = HC + 流形约束 → 既保留信息,又不爆炸
但这些都是对「逐层加」的改进,还不够优雅。需要更本质的思路。
Scene 13:RNN的局限

小可(提问):RNN是怎么处理序列的?
博士(画流程图):逐字累加!每个字必须等前一个字处理完才能开始,太慢了。
让我们先跳出残差,看看在没有注意力机制之前的语言模型是怎么做的。
不论是RNN还是LSTM,让每个字都包含上下文信息的办法,就是这样从头到尾、逐字逐句地累加传递。
比如说,让"连"这个字携带"求"、“个”、"三"这三个字的信息,做法就是把"求"先加到"个"上,"个"再加到"三"上,"三"再加到"连"上。此时"连"就包含了前面的全部信息。
h1=f(x1) → h2=h1+f(x2) → h3=h2+f(x3) → …
问题:
- 每个字必须等前一个字处理完才能开始
- 远距离信息经过多次变换后严重衰减
- 效率太低 → 催生了Transformer
这个逐层加的思路和残差的逐层加本质相同。两者都需要被革新。
Scene 14:Transformer

小可(追问):Transformer是怎么解决RNN问题的?
博士(兴奋):一步到位!Self-Attention让每个词同时关注所有其他词,不再逐字累加。
Transformer横空出世,它一步到位,同时把各个位置的词都拿出来,进行一种加权求和。
Self-Attention的核心:
- 一步到位,不再逐字累加
- Q×K得到权重,加权聚合V
- 并行计算,效率远超RNN
通过Q(Query)、K(Key)、V(Value)三组矩阵,计算每个词对其他词的关注度权重,然后按权重对所有词的信息进行加权聚合:
加权求和:∑(αi×Vi)加权求和: \sum (\alpha_i \times V_i)加权求和:∑(αi×Vi)
每个词都能同时关注到所有其他词,而不再需要像RNN那样逐字累加。这就是著名的"Attention is All You Need"——注意力机制取代了循环机制,彻底改变了NLP领域。
→ 能否用到残差连接上?
Scene 15:灵感来源

小可(灵光一闪):那残差能不能也注意力化?
博士(眼睛亮了):Kimi的想法:RNN用注意力取代循环,残差也可以用注意力取代逐层相加!
这不就巧了吗?Kimi也是这样想的!
灵感:残差能否注意力化?
- RNN在时间维度上:逐字累加 → 低效
- Transformer用注意力取代循环 → 高效!
- 同样的思路应用到深度维度:残差在深度维度上逐层相加 → 太死板
- 用注意力取代逐层相加 → 注意力残差!
Kimi的灵感:
- 每一层的输出不再只依赖上一层
- 而是通过注意力机制,聚合所有之前层的输出
- 每层"看到"所有前面层的信息,加权聚合
这就是 Attention Residual 的核心思路——把注意力从「词之间」推广到「层之间」!
Scene 16:三种残差对比

小可(比较):三种残差方式有什么区别?
博士(画图对比):标准残差逐层傻加,全注意力计算量太大,Kimi的Block Attention正好兼顾效果和效率。
Kimi提出了三种残差方式的对比:
(a) Standard Residuals(标准残差)
- 逐层傻加,信息线性传递
- 优点:简单稳定
- 缺点:没有选择性
(b) Full Attention Residual(全注意力残差)
- 全局聚合,计算量过大
- 优点:效果最好
- 缺点:复杂度O(n²),不实用
© Block Attention Residuals(Kimi方案)
- 分块聚合,兼顾效果与效率
- 将层分组(block),块内用注意力
- 块间用传统残差连接
- 计算量O(n),效果和全注意力接近
Kimi在实际实现中采用的是分块注意力残差,因为在实际的大模型训练中,全注意力残差的计算开销实在太大,分块是一个务实的折中方案。
Scene 17:时间深度对偶

小可(发现):RNN和残差有什么联系?
博士(画对比图):对偶性!RNN在时间上做的事,残差在深度上做的事——完全一样的模式。
从更宏观的视角来看:
时间维度(RNN):
- x1 → x2 → x3 → x4(横向序列)
- 每个位置依赖前一个位置的累加
深度维度(残差):
- L1 → L2 → L3 → L4(纵向网络层)
- 每层依赖前一层的累加
对偶性:RNN在时间上做的事 = 残差在深度上做的事
Transformer用注意力取代了RNN的循环机制。那么问题来了:
→ 那么在深度上,也能用注意力取代逐层残差!
这就是注意力残差最核心的数学直觉。
Scene 18:旋转90度

小可(惊讶):卡帕西说LSTM是ResNet旋转90度?
博士(画旋转图):没错!注意力机制同样可以旋转90度——这就是注意力残差的灵感来源。
卡帕西(Andrej Karpathy)引用了27年前的一句话——“LSTM就是将ResNet旋转90度得到的”。
想象一个标准的Transformer架构图:它是一个竖直的塔,每一层叠在上面。信息从底部一层一层向上传递,每经过一层就做一次变换,然后通过残差连接加回来。
现在,把这个塔顺时针旋转90度——它变成了一个水平的流水线。信息从左边(时间步1)一个接一个地向右传递,每经过一个时间步就做一次更新,然后通过循环连接加回来。
旋转后的样子,不就是RNN/LSTM的结构吗?
- 竖直方向的"层"变成了水平方向的"时间步"
- 竖直方向的"残差连接"变成了水平方向的"循环连接"
- 深度残差流 = 时间隐藏状态
既然在时间维度上可以用注意力机制取代循环,那么在深度维度上同样可以用注意力取代逐层残差。数学对偶性,藏着深刻的统一。
Scene 19:Kimi原文

小可(想读原文):Kimi论文里是怎么描述的?
博士(朗诵):那段描述非常优美:时间与深度的对偶性,注意力取代循环的升级在深度方向上又做了一遍。
让我们一起读一下Kimi论文原文中的描述:
“时间与深度的对偶性。残差连接在深度上将所有先验信息压成单一状态——就像RNN在时间维度的作用。Transformer用注意力取代循环机制,让每个位置权重选择性地访问所有之前位置。我们在深度上做了同样的事。”
这段话的美妙之处在于:它用最简洁的语言,揭示了一个深刻的对称性。
核心思想:把词之间的注意力推广到层之间。
- 一个思想,两个维度,同样优雅
- 注意力取代循环 → 时间维度
- 注意力取代逐层残差 → 深度维度
- → 对称而深刻的统一
Scene 20:卡帕西的反应

小可(好奇):卡帕西对Kimi论文是什么反应?
博士(激动):非常兴奋!他说要重新认识Attention is All You Need这句话的含义远比想象的深刻。
卡帕西(Andrej Karpathy,特斯拉前AI总监)转发Kimi论文,并写道:
重新认识 Attention is All You Need
- 注意力机制取代循环机制
- 让Transformer取代RNN
- 注意力取代逐层残差
这句话在深度维度上再次成立!卡帕西认为这比想象的要深刻得多。大佬的认可说明这个方向意义重大。
→ Attention is All You Need,同样适用于残差流。
Scene 21:实验结果

小可(期待):注意力残差的实际效果怎么样?
博士(展示数据):多步推理+7.5分,代码生成+3.1分,训练效率提升1.25倍——确实有效!
当然,在深度学习领域,天马行空地想出个什么新的结构并不难,重要的是有没有效果。
而Kimi的实验结果表明:确实有效!
- 多步推理能力提升+7.5(GPQA-Diamond)—— 提升最明显
- 代码生成能力提升+3.1(HumanEval)—— 显著改善
- 训练效率提升1.25倍—— 同样数据量收敛更快
- 推理成本增加约10%—— 几乎可以忽略
→ 几乎免费的提升! 这不是理论上的花架子,而是实打实的性能提升。
Scene 22:数学公式

小可(想学公式):注意力残差的数学公式是什么?
博士(写公式):x_l = Σ α_li · x_i + F(x_{l-1}),每一层的输入来自所有之前层的加权组合。
注意力残差的核心公式:
xl=∑i=1l−1αli⋅xi+F(xl−1)x_l = \sum_{i=1}^{l-1} \alpha_{li} \cdot x_i + F(x_{l-1})xl=i=1∑l−1αli⋅xi+F(xl−1)
其中,α_{li}是第l层对第i层的注意力权重。
对比传统残差:
- 传统:x_l = x_{l-1} + F(x_{l-1}),只来自上一层
- 注意力:x_l = Σ α_{li} · x_i + F(x_{l-1}),来自所有之前层
这意味着每一层的输入不再仅仅来自上一层,而是来自所有之前层的加权组合。注意力权重α决定了每层对之前各层信息的"关注度"。
Scene 23:Block Attention实现

小可(想了解实现):分块注意力具体怎么实现的?
博士(画分组图):将网络层分组,组内做注意力聚合,组间用传统残差,这样计算量从O(n²)降到O(n)。
全注意力残差虽然效果好,但计算复杂度是O(n²),对于几十层甚至上百层的大模型来说实在太大。Kimi的务实方案是分块注意力(Block Attention):
- 将网络层分组(block)
- 块内:做全注意力,聚合块内所有层的输出
- 块间:用传统残差连接
- 计算量从O(n²)降到O(n),效果和全注意力接近
这种"分块"的思想在深度学习中非常常见:
- GQA/KV分组:在注意力头的维度上分块
- 分块注意力残差:在网络深度的维度上分块
- MoE(Mixture of Experts):在模型容量的维度上分块
共同点:在保持表达能力的同时,通过结构化的方式减少计算复杂度。
Scene 24:多步推理为什么提升最大

小可(好奇):为什么多步推理的提升最大?
博士(解释):注意力残差让每层直接访问之前所有层的信息,关键信息不会在传递中丢失。
在Kimi的实验结果中,多步推理能力提升最大(+7.5)。这不是偶然的。
多步推理任务(如GPQA-Diamond中的复杂科学问题)需要模型在多个步骤之间保持和传递关键信息。传统的逐层残差在传递这些信息时,信息会被中间层的变换逐渐稀释和污染。
而注意力残差让每一层都能直接访问所有之前层的信息,相当于给模型提供了一条"信息高速公路"。关键信息可以直接从早期层传递到深层,而不需要经过中间层的层层变换。
这就好比:
- 传统残差:传话游戏中一个接一个地传话,信息容易失真
- 注意力残差:每个人都同时听到了所有人之前说的话,信息保真度大大提高
核心创新:把层与层之间的通信从"被动接收"变成了"主动查询"。
Scene 25:总结

小可(最后提问):最后总结一下注意力残差吧!
博士(深刻总结):从梯度到残差,再到注意力取代循环的灵感,最后在深度上做同样的事——简洁而深刻!
📋 注意力残差六大要点总结
- 梯度 —— 参数变化的影响比率,太小会消失,太大会爆炸
- 梯度消失/爆炸 —— 深层网络连乘效应,训练不稳定的两大敌人
- 残差连接 —— y = x + F(x) 缓解消失,ResNet成功训练152层
- RNN → Transformer —— 注意力取代循环
- 时间/深度对偶 —— 残差在深度上模仿RNN,旋转90度视角
- 注意力残差 —— 用注意力聚合所有层,把注意力从词之间推广到层之间
更多勇敢而富有创造力的探索在等着我们!
→ 下一个重大突破,也许就在下一个转角。
小可(开心地摇尾巴):今天学到了很多!原来残差连接还能这样改进!
博士(合上书本):深度学习就是这样神奇。一个看似简单的想法——把残差连接用注意力机制重新思考——就能带来如此深远的影响。下次有什么不懂的,随时来问我哦!
参考资料:Kimi Attention Residual论文(github.com/MoonshotAI/AttentionResidual)
更多推荐

所有评论(0)