做了一个论文解析工具,看看Kimi最新的论文说了什么
#+title: paper-attention-residuals#+filetags: :paper:#+identifier: 20260318T174649#+source: https://arxiv.org/abs/2603.15031#+authors: Kimi Team (Guangyu Chen, Yu Zhang, Jianlin Su et al., 36 authors)#+venue: arXiv preprint, 2026-03-16
省流版:读完这篇论文,三句话说清楚(省流版)
-
论文干了什么:把 LLM 里用了十年的残差连接(等权加法)换成了 softmax注意力(动态加权),让每一层可以选择性地聚合哪些历史层的信息。
-
为什么值得做:标准残差存在”PreNorm 稀释”——随着深度增加,每层的贡献被越来越多的层平均稀释。这是架构层面的根本缺陷,之前没人在大规模 LLM 上动过它。
-
结果:Kimi 团队在自家 48B MoE 模型上实测,1.4T token 训练,全任务提升。Scaling law 也验证了一致性。
-
最有趣的对称性:Transformer 的注意力机制本来处理的是”token 维度”(序列位置)的关系。AttnRes 把完全相同的机制搬到了”层维度”(深度)——两个维度上的注意力并立,架构变得更完整了
—
缺口(编注:传统Transformer架构的问题)
想一下你在复习备考——桌上堆着二十本笔记,你每翻一页,就把新内容等量叠加进脑子里,无论那页是不是有用的。翻到第二十本时,最开始那本的内容早就被稀释得几乎消失了,每一本都”贡献相同”,但实际上越晚越稀,越早越废。
现代 LLM 里的残差连接,做的正是这件事。标准的 PreNorm 残差:
#+begin_exampleh_l = h_{l-1} + f( Norm(h_{l-1}) )#+end_example
展开看,第 L 层的隐藏状态实际上是:
#+begin_exampleh_L = h_0 + f_1(...) + f_2(...) + ... + f_L(...)#+end_example
所有层的输出,每一项权重恰好等于 1。随着深度增加,h_L 的范数不受控地增长;每新增一层,之前每层的贡献占比就被进一步摊薄——论文把这个现象叫做 PreNorm 稀释(PreNorm dilution)。
从技术角度看,这是架构层面的一个根本约束:残差连接自 ResNet 起就是”加法、权重固定为 1″,从未有人在大规模 LLM 里把它换掉。这篇论文说:可以换,而且换了更好。
语言建模的深度问题可以抽象为两类:一类是”合理累积”——深层特征确实需要浅层信息打底;另一类是”无效稀释”——大量不相关层的输出等权叠加,反而把有用信号淹没了。现有架构只有等权加法这一把锤子,把所有层都当成同等重要的来用。
论文的逻辑拓扑:
#+begin_example固定权重累加 --> 隐状态随深度不受控增长|+--> 每层贡献被稀释 --> 深层信息流紊乱|+--> 梯度分布不均匀 --> 训练稳定性受损解法:用 softmax 注意力替代固定累加|+--> 每层动态决定"看哪些历史层、看多少"|+--> Block AttnRes 降内存 --> 工程可行|+--> 在 Kimi Linear 48B 上验证 --> 全任务提升#+end_example
增量(编注:带来了什么新的思路/解决方案)
一句话
这篇论文之前,所有层的输出被等权相加;之后,每一层可以通过注意力机制,学习”哪些早期层的表示对现在最有用”,用内容相关的动态权重聚合历史——残差连接从固定加法变成了可学习的深度维度注意力。
核心机制
标准残差的问题在”加”字——不管有没有用,一律等权累积。AttnRes 把这个”加”替换成 softmax 注意力:
#+begin_example标准残差:h_l = h_{l-1} + f( Norm(h_{l-1}) )^固定权重 1AttnRes:h_l = Attn( Q=h_{l-1}, K/V=[h_0,...,h_{l-1}] ) + f( Norm(h_{l-1}) )^softmax 动态权重,依赖当前输入内容#+end_example
方法内部结构(X 光片):
#+begin_example层 l-1 的输出 h_{l-1}|+----> [Query]| \| --> [Softmax Attention] --> 加权聚合的历史表示h_0 ... h_{l-1} --> [Key/Value] |vh_l = 聚合结果 + f(Norm(h_{l-1}))#+end_example
这张图说明:方法的动词结构是”选择性聚合”——不是盲加,是带权重地从历史层里取精华。
这个机制像什么呢?想象一个老侦探在结案前要做最终判断。标准残差是把所有线索等权叠加成一份报告,越晚加进来的线索反而被早期的噪音淹没。AttnRes 是侦探扫一眼当前的问题,回过头去:这条线索重要,多参考;那条是干扰,少参考——每次决策都是内容相关的。
Block AttnRes(让它真正能用的关键):对所有前驱层做注意力,内存开销是 O(L),模型深了就不可行。Block AttnRes 把层分成若干块:同块内保留精细的 KV,跨块只保留块级摘要表示。结合缓存式流水线通信和两阶段计算,把跨块的数据传输隐藏到计算里,额外开销降至最小——成为标准残差连接的实用 drop-in 替换。
关键概念
一、PreNorm 稀释(PreNorm dilution)
“PreNorm”是指在每个子层前做 LayerNorm:h’ = x + Sublayer(Norm(x))。看起来 Norm 已经解决了量级问题——但它只归一化了进入 Sublayer 的输入,并不归一化 skip 路径上那个 x。
所以跨层累加的结果是:每层的 f(Norm(·)) 输出量级大致稳定,但 x 本身(即累积的历史)越来越大。想象一桶水,每次往里加同量的盐,盐的绝对量在增加,但浓度(单层贡献占比)在持续下降——越到深层,每层能”说上话”的比例越少。这就是稀释。
二、内容相关的深度维度选择(Content-dependent depth-wise selection)
这是 AttnRes 和 DenseNet 的本质区别。DenseNet 也聚合所有历史层,但权重固定(或通过 concat 让网络参数化)。AttnRes 用 softmax 注意力:权重不仅可学习,还依赖当前输入内容——不同的 token、不同的上下文,聚合哪些历史层、聚合多少,是动态变化的。
查字典 vs 查目录:DenseNet 把所有页拍平等权叠加,AttnRes 先看当前问题,再决定去哪一页。
三、块级近似(Block-wise approximation)
Full AttnRes 要维护所有 L 个历史层的 KV 缓存,L 大了内存爆炸。Block AttnRes 的思路:精细记忆只在”当前块”内保留,跨块历史压缩成块级摘要。就像人记事:今天的会议记得每句话,上周的只记得结论。再加上流水线通信,让额外开销对大规模训练透明。
-
Napkin Sketch
框架位移:从”等权累加所有层”到”注意力动态聚合历史层”
#+begin_example[ 标准残差 ] [ AttnRes ]h0 --+--[f0]--> h1 h0 --+--[f0]--> h1| (w=1) | | |+----------+ | [Attn: h0]| | |h1 --+--[f1]--> h2 h1 --+--[f1]--> h2| (w=1) | | |+----------+ | [Attn: h0,h1]| | |h2 --+--[f2]--> h3 h2 --+--[f2]--> h3| (w=1) | | |+----------+ | [Attn: h0,h1,h2]| | |每层等权叠加, 每层动态决定:范数随深度增长 "哪个历史层最有用?"位移:深度维度上,从固定加法 --> 学习的注意力聚合#+end_example
核心位移:跨 token 维度的注意力(处理序列位置)早就存在,这篇论文把同样的机制搬到了跨层(深度)维度——对称而优雅。
数据结果
效果如何呢?论文有两组核心证据。
第一组是 scaling law 实验——跨不同模型规模一致验证改进。这不意外,因为 PreNorm 稀释是个随深度线性恶化的问题,模型越深,问题越严重,修好了提升自然越明显。
但惊喜的是第二组——Kimi Linear 48B(总参数)/ 3B(活跃参数)的实战数据,这是 MoE 架构,在 1.4T token 上预训练。AttnRes 带来两个可测量的内在改善:跨深度输出幅度更均匀、梯度分布更稳定。这不是”调出来的”结果,是机制层面的证据,说明 PreNorm 稀释确实被压制了。最终结论:在所有评估任务上均有性能提升。
需要注意的是:摘要没有披露具体 benchmark 数字,只说”全任务改善”。消融实验也只说”验证了内容相关深度选择的价值”。具体数字需要读全文。
博导视角解读
选题眼光:很好。残差连接是 Transformer 的骨架,十年没人动过它的”等权”假设。PreNorm 稀释不是新观察,但之前的解法都是在它周围打补丁(DeepNorm、归一化改良),这篇论文直接替换核心设计——胆子不小,方向是对的。不是人造缺口,是真实缺口。
方法成熟度:核心思路干净利落——注意力机制本来就在模型里,把它从”token 维度”搬到”层维度”,结构同构的迁移,不是蛮力堆技巧。Block AttnRes 体现了工程成熟度:不只是提出想法,还解决了”怎么在真实大模型里用”的问题。两阶段计算加流水线通信,说明作者真的训过大模型,知道痛点在哪。
实验诚意:scaling law 实验是加分项,说明不只是在一个模型上调出来的。Kimi Linear 48B 的验证是实打实的,1.4T token 不便宜。但有个问题:”所有评估任务均改善”这句话太圆滑——具体数字呢?MMLU 涨了多少?GSM8K 呢?我想看那张表,看看有没有任务是持平甚至下降的。消融实验也需要看到 full AttnRes vs block AttnRes 的性能差距和效率对比。
工程价值:工程上最让人感兴趣的是 Block AttnRes 的卸载能力。AttnRes 的历史 KV 缓存是静态的(不随 token 变化),这意味着可以预取,可以放 CPU 内存——有点像 Engram 的思路,把知识查找从 GPU 上移走。这条路如果走通,对降低大模型推理成本有实际意义。但摘要没有给具体数字,值得追问。
一句话评价:Weak accept 倾向 accept——想法优雅,工程踏实,大规模实验有支撑。补充具体 benchmark 数字和更细致的消融分析后,可以上 accept。
多维度总结
最后总结一下这篇论文的贡献:
第一,概念层面:命名并清晰定义了”PreNorm 稀释”问题,把一个模糊的训练稳定性现象变成了有名字、有机制解释的架构缺陷。
第二,方法层面:提出 AttnRes,把深度维度上的残差聚合从固定加法升级为 softmax 注意力——同一个机制,从 token 维度搬到层维度,结构同构,优雅。
第三,工程层面:Block AttnRes 加流水线通信加两阶段计算,解决大规模训练下的内存通信瓶颈,真正可部署。
第四,实验层面:scaling law 验证一致性 + Kimi Linear 48B 实战验证,覆盖”小模型 toy 结果”和”大模型真实效果”两个层次。
一句话,残差连接用了十年固定权重,这篇论文第一次在大规模 LLM 里把它换成了可学习的深度维度注意力——如果结果经得住别家复现,这会是 Transformer 架构设计里一个小但重要的更新。
启发
这篇论文最有价值的迁移点是一个认知框架的更新:聚合维度不止一个。
Transformer 里的注意力机制,长期以来被理解为”处理序列位置关系”的工具。AttnRes 提醒我们:同样的机制可以用于”处理层深度关系”。由此可以追问——还有什么地方存在类似的”等权盲加”假设,可以被注意力机制替换?
MoE 的 token 路由是一个方向,但已经在研究了。还有一个方向是多模态融合:目前图文 token 的融合大多也是拼接后等权处理,有没有可能引入跨模态的深度维度注意力?
另一个启发是工程层面:AttnRes 的历史 KV 是静态的(不依赖序列 token),这种”静态可预取”的属性在系统层面有很大价值,值得关注后续有没有人把它和 KV 卸载结合做更系统的工程优化。
夜雨聆风