晚上突然看到马斯克发了一条推:「Impressive work from Kimi」。

打开网易新闻 查看精彩图片

去查了下,想看看咋咋唬唬的老马又是被啥震惊到了。

然后,发现原来是Kimi发了篇论文

打开网易新闻 查看精彩图片

特意帮你们去认真读了读被老马夸nb的论文是怎么回事。然后我发现这篇论文的主角我居然还挺熟悉的——残差连接。

我的第一反应是:咦,这不是DeepSeek去年底刚动过的东西吗?

今年1月份的时候,我写过一篇我迄今为止阅读量最高的解读DeepSeek的mHC论文的文章。核心是:DeepSeek找到了一个大家觉得不需要改的东西——残差连接,然后改了它。

打开网易新闻 查看精彩图片

现在Kimi也在残差连接上动刀,而且马斯克说impressive。我带着困惑把论文读了一遍。

结论是:两家实验室发现了同一个问题,但解法的出发点完全不同,深度也不同。

DeepSeek发现了什么问题,怎么解的

先快速回顾一下DeepSeek那篇,如果已经读过可以直接跳过这节。

标准残差连接长这样:

h_l = h_{l-1} + f_{l-1}(h_{l-1})

每一层的输出 = 上一层输出 + 这一层学到的新东西。固定权重,均匀累加。2015年ResNet提出,所有大模型沿用至今。

DeepSeek的问题意识是:固定权重是不是太死板了?每一层对之前所有层都一视同仁,合理吗?

他们的第一个尝试是Hyper-Connections(HC):把残差流从1条扩展到4条,每条的权重可学习,让模型自己决定怎么混合信号。

效果好,但有个致命问题:训练不稳定。可学习的权重矩阵没有任何约束,经过60层累乘之后,信号被放大了3000倍。实测损失曲线在训练到一半时突然飙升。

最终版本mHC的解法:把权重矩阵约束在「双随机矩阵」上——满足每行之和=1、每列之和=1的矩阵。这个约束的数学性质保证了矩阵的谱范数≤1,多层连乘之后信号不会爆炸。训练稳定了,性能也超过了原始残差连接。代价只有6.7%的额外训练时间。

DeepSeek的解法可以用一句话总结:让连接权重从固定变成可学习,同时用数学约束保证稳定性。

Kimi发现了什么,为什么看起来一样

Kimi的论文开头也在讲残差连接的问题。我读到这里,真的困惑了一下——这不就是DeepSeek mHC做的事情吗?

但继续往下读,Kimi的问题定义和DeepSeek不在同一个层面。

DeepSeek问的是:权重能不能更灵活?

Kimi问的是:更根本的问题在哪?就算权重可以学习,整个设计里还有什么没解决?

他们找到了三个答案。

第一,不能点菜。

每一层只能看到上一层传下来的「混合状态」——所有前面层的输出被搅在一起的结果。但不同类型的层需要的东西是不一样的:有些层可能更需要早期的原始语义,有些层可能更需要最近几层刚算出来的特征。现在它们只能吃同一份混合好的东西,没办法说「我要第3层的输出」。

mHC让混合的方式更灵活了,但本质上每条路拿到的还是混合过的状态,没法回头单独取某一层的输出。

第二,信息找不回来。

某一层学到了一个很有价值的东西,但一旦被混进累积状态,就和其他层的输出搅在一起了。随着后面的层不断叠加新输出,这个信息越来越淡,最终被淹没。不可逆的。

第三,后面的层越来越难产生影响。

想象你在一间越来越吵的房间里说话。前面的层已经积累了很大的信号,后面的层必须喊得比所有前辈加起来更大声,才能被听到。论文测量了这个效应:到了模型最后几层,信号量级是最开始的十多倍。后面的层要产生同等影响,需要付出十倍以上的「音量」。

打开网易新闻 查看精彩图片

mHC解决了训练稳定性,但这三个根本问题还在——因为mHC的权重虽然可学习,但训练完就固定了。不管输入是什么,权重都一样。

Kimi的解法:把时间维度的方案搬到深度维度

找到了问题,Kimi的解法来自一个很漂亮的类比。

这三个问题——不能点菜、信息找不回来、后面的层越来越难发声——是不是很眼熟?

如果你了解深度学习的历史,会发现这和2017年之前处理文本序列时遇到的问题一模一样。

当时用的是RNN,处理一段话时,也是把所有历史信息压缩进一个状态,每一步更新。同样信息找不回来,同样不能选择性地回头看早期内容。

2017年,《Attention Is All You Need》那篇划时代的论文提出了Transformer,用注意力机制解决了这个问题:处理一段话时,每个位置不再只能看到上一步压缩后的状态,而是可以直接回头看所有历史位置,根据当前内容动态决定关注哪里。

但有意思的是,《Attention Is All You Need》升级了文本处理的信息流,却没有动层与层之间的信息流——残差连接依然是2015年的固定累加。

Kimi的问题是:处理文本时,我们已经用注意力替代了「压缩传递」;那层与层之间,为什么还在用「压缩传递」?

这就是AttnRes的核心洞察:把注意力机制用到层与层之间的连接上。某种意义上,这是《Attention Is All You Need》在深度方向上的续集。

打开网易新闻 查看精彩图片

简单说,改完之后每一层可以「回头看」所有之前层的输出,然后根据当前处理的内容,动态决定最需要参考哪几层的结果。这个「回头看」的过程就是注意力机制——和Transformer处理文本时做的事情一样,只不过方向从「回头看之前的文字」变成了「回头看之前的层」。

参数代价几乎可以忽略:每一层只多了一个向量。

最关键的一点:这个「回头看谁」的权重不是固定的。同样一个模型,处理不同的输入,每一层对之前各层的关注程度是不同的——完全根据当前内容实时决定。这是和mHC最本质的区别:mHC的权重训练完就定了,AttnRes的权重是活的。

这让我想到普鲁斯特。《追忆似水年华》里Marcel尝到玛德莲蛋糕浸在茶里的味道,童年的贡布雷整个涌上来——不是模糊的印象,而是精确的感知,绕过了所有中间的叙事链条。普鲁斯特管这叫「非自愿记忆」:不是你主动去回忆,而是被某个感觉直接触发,直接抵达。

标准残差更像正常人的有意识回忆——细节在层层传递中被压缩、混合,你只能拿到一个抽象过的状态,原来的精确感知找不回来了。AttnRes给每一层装上了一种工程化的普鲁斯特能力:被当前内容触发,直接跳到任意前驱层的精确输出,不经过中间的压缩链。

不过普鲁斯特的非自愿记忆是不受控的,你不知道哪块玛德莲蛋糕会触发什么。AttnRes用softmax加了方向——根据当前内容,决定最需要回头取哪一层的东西。这是普鲁斯特没有给Marcel的:有方向的精确记忆。

两种方案的本质差异

把两个方案放在一起,差异很直观:

DeepSeek mHC

Kimi AttnRes

改的是什么

连接权重的学习方式

信息流的结构

权重是活的还是死的

训练完就固定

每次处理不同输入都不同

能看到什么

只能看到上一层的混合状态

可以直接看所有之前层的原始输出

解决了什么

权重太死板

不能点菜 + 后面层越来越难发声

论文里有一个消融实验特别直接:如果让模型能看到所有之前层的输出,但权重是固定的(训练完就不变),效果和原来几乎一样,没有提升。但换成动态权重(根据当前内容实时决定),性能就明显提升了。

结论很清楚:光是「能回头看」不够,必须是「根据内容动态地回头看」才有价值。

Block AttnRes:工程上怎么落地

理想状态下,每一层都能直接回头看所有之前层的输出(Full AttnRes)。但对于100多层的模型,这意味着要把所有层的输出都存着,内存吃不消。

Kimi的工程方案是Block AttnRes:把所有层分成大约8个「块」,块内还是用标准残差做累加,块与块之间用注意力。

这样需要记住的东西从「每一层的输出」缩减到「每个块的汇总」,内存占用大幅下降。

性能损失多少?几乎可以忽略。大约8个块就能恢复绝大部分收益。而且工程代价比mHC还低——训练额外开销不超过4%,推理延迟增加不超过2%。

效果怎么样

实验在Kimi自家的48B参数模型上验证。

先说最直观的一个数字:用同样的算力,AttnRes达到了标准方法需要多烧25%算力才能达到的性能。换句话说,不加机器、不加数据,只改信息流的结构,就能白赚25%的算力效果。

打开网易新闻 查看精彩图片

下游任务的提升也很显著,尤其是推理类任务:

  • GPQA-Diamond(研究生级别的科学推理):36.9 → 44.4,提了7.5个点

  • 数学:53.5 → 57.1

  • 代码:59.1 → 62.2

  • 中文理解(C-Eval):79.6 → 82.5

推理任务提升最大,这说得通——多步推理需要不同层之间紧密协作,正是信息流改善受益最大的场景。

训练过程也更健康了。之前说的「越来越吵的房间」问题,在AttnRes下被明显缓解:每层的信号量级不再单调递增,而是保持在一个有界的范围内。每一层都能得到合理的学习信号,不再出现「前面的层学得好,后面的层被淹没」的情况。

模型自己学到了什么

训练好之后,Kimi可视化了模型「回头看」的模式——每一层到底在关注哪些前面的层。

打开网易新闻 查看精彩图片

三个有意思的发现:

大部分时候,还是看最近的邻居。 标准残差的「只看上一层」并不是完全错的,模型自己学出来的结果也是以邻近层为主。

但最原始的输入一直没被忘掉。 即使到了模型最深的层,对最开头输入的注意力权重都不是零。标准残差下这个原始输入早就被稀释得找不到了,AttnRes让深层可以随时回头翻看它。

模型自己发明了「捷径」。 某些层会跳过中间,直接关注很早期的某些层。这不是人工设计的,是训练中模型自己发现的信息通路。

还有一个细节:模型里不同类型的层,「回头看」的习惯明显不同。有些层看得远,有些层只看最近几层。AttnRes让它们各自找到了最适合自己的信息来源——这在标准残差下是不可能的,因为所有层拿到的都是同一份混合状态。

往大了说

两家发现了同一个被忽视的方向,但出发点不同,解法不同,解决的东西也不完全重叠。

mHC的核心是:让连接权重可学习,并且稳定。但每一层拿到的信息源还是混合过的,而且权重训练完就固定了。

AttnRes的核心是:让每一层可以直接回头看所有前面层的原始输出,根据当前内容实时决定看哪里。解决的是更根本的问题。

论文结论里说:现在的Block AttnRes是工程折中,随着硬件进步,最终会走向每层都能回头看所有层的Full AttnRes。

还有一个实验我觉得最值得关注:Kimi测试了25种不同的模型架构配置,发现用了AttnRes之后,最优的模型设计从「宽而浅」变成了「窄而深」。之前模型不敢做太深,因为深了之后后面的层越来越难学到东西。AttnRes解决了这个问题,让「加深度」重新变成了有效的手段。

这不只是给现有架构加了个性能插件,而是重新开放了模型设计的一个维度。

想想大多数团队在做什么:更好的训练数据、更长的上下文、更大的MoE、更聪明的推理策略。这些都有价值,但都是在「层间连接就是固定累加」这个前提下做优化。选择回到最底层的基础结构去找根本性突破,需要两个条件同时满足——技术判断力(看出哪些「默认配置」其实可以改),和工程实力(在大规模训练上证明它真的有效,不是玩具实验)。这两个条件同时具备的团队,全球范围内都是稀缺的。

过去几年大模型的架构创新主要发生在上层模块——Attention机制的各种变体、MoE的路由策略、位置编码的改进。残差连接一直待在最底层,被当作「默认配置」,没人觉得需要碰它。现在DeepSeek和Kimi先后在这里找到了突破口,说明一个趋势:架构优化的前沿已经从上层模块深入到了最基础的信号传递结构。

《Attention Is All You Need》当年把序列维度从递推升级到了注意力。但那篇论文里的残差连接——深度维度上的信息流——依然用的是2015年的固定累加。这个未完成的工作等了九年。

马斯克的「Impressive work」不只是一句客套。当这个级别的人公开点赞一篇基础架构论文,释放的信号是:深度学习的底层范式本身在发生变化,值得关注的不只是论文里的具体数字,而是它指向的方向。

残差连接被当作默认配置用了十年。三个月内,两家中国实验室先后在这个最基础的地方找到了根本性突破。

参考资料:

  • Attention Residuals技术报告:https://github.com/MoonshotAI/Attention-Residuals

  • DeepSeekmHC论文:https://arxiv.org/abs/2512.24880

  • Kimi Linear架构报告:https://arxiv.org/abs/2510.26692

  • Attention Is All You Need:https://arxiv.org/abs/1706.03762

@Kimi 用我奶奶也能懂的语言解释下这篇论文:

大模型就像一栋100层的大楼,每一层的工人干完活,把成果交给下一层。 过去十年,传递方式都是「流水账」——每一层只能看到上一层递过来的一份混合文件,前面谁写了什么、写得好不好,全搅在一起了,找不回来。 Kimi做的事情是给每一层装了一部电话。现在第100层的工人如果觉得「第3层当时算的那个数据我现在要用」,可以直接打电话回去查,不用再翻那份被改了97遍的混合文件。 而且每个工人会根据自己手头的任务,自己决定打给谁——不是固定的,是看情况来的。 就这么一个改动,同样的机器、同样的数据,模型性能白赚了25%。