过去两年,大模型圈子里最受关注的,往往是注意力怎么改、专家路由怎么做、上下文怎么拉长,但有一个几乎所有人都默认不动的部件,其实一直埋在模型最核心的位置:残差连接。《Attention Residuals》真正抓住的,不是“残差还能再优化一点”,而是一个更根本的问题:当模型已经学会了在序列维度上用 attention 做选择,在专家维度上用 routing 做选择,为什么在深度维度上,信息聚合还停留在“一律相加”这种最原始的机制上?
它不是在修补残差,而是在重写深度信息流
标准残差连接之所以成功,是因为它让深层网络终于能稳定训练起来。但把公式展开以后你会发现,第 l 层真正拿到的,并不是前面每一层的独立表示,而是 embedding 加上所有历史层输出的总和。这意味着模型并没有真的“访问前面各层”,而只是接触到一个被持续混合、持续压缩的聚合态。论文认为,这种固定累加会带来三个问题:不同类型的层拿到的是同一个压缩态;信息一旦在聚合中被淹没,后面的层没有办法定向找回;而且为了在越来越大的残差背景里保持影响力,后层会被迫学出更大的输出幅度。这也是 PreNorm dilution 问题持续出现的根源。
图 1 论文总览图:从标准残差,到 Full AttnRes,再到 Block AttnRes。它最直观地说明了这篇论文真正改动的,不是单层算子,而是跨层信息的聚合入口。
上面这张图最值得看的地方,不是右侧画得更复杂,而是中间那一步逻辑变化:标准残差把所有旧表示直接累加,Full AttnRes 则让当前层沿深度维度对历史层输出做一次 attention,按内容决定“这一步该从哪些旧表示里取信息”。Block AttnRes 再进一步,把这种选择能力保留下来,同时把工程成本压到可部署范围。也就是说,它不是把残差推翻,而是把残差从默认通道改造成可学习的深度路由。
真正失效的,不是残差本身,而是“固定累加”的旧假设
如果只把残差理解为 h_l = h_{l-1} + f_{l-1}(h_{l-1}),那它当然没有问题;但如果把它理解为一种跨层信息整合机制,问题就出现了。不同层其实可能希望读取不同历史表示:attention 层和 MLP 层并不一定想看同一份聚合态。论文的判断很清楚:今天模型规模已经大到,训练稳定不再是唯一目标,深度信息能不能被高质量地访问和重组,开始成为新的瓶颈。
它到底做了什么:把残差从“相加”改成“按内容取用”
AttnRes 的核心思想并不绕。原来第 l 层的输入,是历史表示的固定和;现在改成对 embedding 和先前层输出做一次沿深度维度的 softmax attention,加权得到当前层输入。论文用一个很轻量的设计完成这件事:每层只引入一个可学习的伪 query,keys/values 来自 embedding 和各层输出,再配合 RMSNorm,避免大幅值层天然支配权重。这一步真正改变的是,每一层终于可以有选择地回看更早表示,而不是只能接收一个早已混好的总和。
真正让它能落地的,不是公式,而是 Block AttnRes
如果只有 Full AttnRes,这篇论文的现实意义会弱很多。因为全量跨层 attention 虽然优雅,但在大模型训练里会立刻撞上内存和跨 stage 通信的问题。作者给出的答案是 Block AttnRes:把 L 层分成 N 个 block,block 内仍然做局部累加,真正的 attention 只在 block 级表示之间做。这样一来,远距离信息靠 block-level attention,近距离连续更新靠block 内 partial sum,两类需求被拆开处理,系统成本也从 O(Ld) 压到 O(Nd)。
它最有说服力的证据,不是某个榜单涨了几分,而是整条 scaling curve 变了
很多方法在论文里看起来有效,但一放到不同规模上就失灵。AttnRes 这篇文章最扎实的一组证据,是它在多个模型规模上都能让 scaling law 曲线整体下移。这个结果的重要性不在于“多省了一点算力”,而在于它说明:深度维度上的可选择聚合,不是一个只在小模型上奏效的技巧,而是随着规模扩大仍然成立的结构性改进。
图 2 论文中的 scaling law 结果:Full AttnRes 和 Block AttnRes 的曲线整体低于 baseline,说明收益不是某个点上的偶然波动,而是跨规模稳定存在。
这张图还有一个细节很关键:Block AttnRes 跟 Full AttnRes 已经非常接近。也就是说,论文不是靠“理想化全量方案”取胜,而是工程版近似已经恢复了大部分收益。这会直接改变工程团队的判断:有些结构改动虽然理论上更好,但一旦做工程近似就失真;AttnRes 至少在这件事上不是这样。
实验最值得看的第二层证据,是它真的改变了训练动态
如果一个方法只让最终 loss 更低,但没有改变训练过程本身,很多时候你仍然很难判断它到底解决了什么。AttnRes 的另一个亮点,是论文明确展示了它对训练动态的影响:validation loss 更低只是结果层;更关键的是,输出幅度不再像 baseline 那样随深度单调膨胀,梯度分布也不再过度集中在前层。这说明它不是单纯靠更强拟合去“卷”出结果,而是在更底层地修正深度信息流。
图 3 训练动态图:左侧是验证损失,中间是各 block 的输出幅度,右侧是梯度幅度。它直接支撑了论文关于缓解 PreNorm dilution、均衡梯度分布的核心论点。
从工程视角看,这一组图比单纯的 benchmark 分数更有价值。因为它告诉我们,旧残差的问题并不只是“结果差一点”,而是训练过程中已经开始出现系统性扭曲:越往后的层越需要放大输出,越靠前的层越容易吃到更大的梯度。Block AttnRes 的作用,就是把这条失衡链条截断。
真正说明方法机制的,不是文字解释,而是深度权重热图
论文后面最值得看的,还有 learned attention weight 的可视化。因为到这一步,作者不再只是说“模型会选择历史层”,而是直接让你看到它到底怎么选。热图给出的结论很有意思:局部性仍然存在,大多数层依然最关注最近的前驱层;但 embedding 这个源始终保留非零权重,而且会出现明显的非对角访问,说明模型会主动建立跨层 skip connection。
图 4 深度注意力权重热图:对角线主导说明 locality 仍然重要,但 embedding 持续保有权重、且存在明显的非对角访问,说明模型在主动学习新的跨层连接模式。
这组图对理解 AttnRes 很关键,因为它回答了一个常见疑问:既然大多数层还是看最近邻,那为什么还要改残差?答案是,最近邻仍然是主通路,但模型终于拥有了在必要时跳过去取更远信息的能力。旧残差的问题不是局部路径不重要,而是除了局部路径以外没有别的高质量选择。
它和已有工作的差别,不是又多一个残差变体,而是把深度当成了可检索维度
论文把 Highway、mHC、Full AttnRes、Block AttnRes 放到同一个 depth-mixing matrix 视角下比较,这个分析特别好,因为它把“这些方法到底差在哪”说清楚了。Dense 连接和 gated 连接并不是没用,但它们在深度维度上的混合,要么仍然受局部递归限制,要么选择能力不够强。AttnRes 的根本不同,是它显式用 attention 在深度维度上做检索。
图 5 不同残差形式的 depth mixing matrix:这张图把论文的结构观点压缩得很清楚——AttnRes 吃到的,不是“连得更多”,而是“按内容选得更准”。
从这张图也能看出,AttnRes 的意义不只是提出一个新模块,而是把“层与层之间怎么传信息”这件事,从固定递归改成显式选择。这个变化表面上很小,实质上和当年 attention 替代 RNN 的一部分逻辑是相通的:不是说递归没法用,而是当任务规模和复杂度上来以后,显式访问所有历史状态会更合理。
对工程团队来说,这篇论文真正改变的判断是什么
如果把这篇论文放到更大的工程语境里看,它最重要的价值,不只是“一个可替换残差模块”,而是给了大模型架构一个新的优化方向:未来继续堆深度,不能再默认残差自然会把信息带过去。训练稳定只是底线,能否让深层真正高质量地访问前层表示,才决定了层数是不是“有效深度”。论文的结果还暗示,AttnRes 可能更偏好更深更窄的架构点,这意味着它不仅在修连接,也可能在重写深度扩展的设计空间。
结语:它真正重写的,不是残差公式,而是我们对“深度”的理解
《Attention Residuals》真正重要的,不在于它把某几个 benchmark 往上抬了多少分,也不在于它会不会立刻成为所有 LLM 的默认配置。它更像是在提醒整个领域:当模型已经学会在 token 之间做选择、在专家之间做选择之后,深度维度上的信息流仍停留在固定累加,其实已经是一种明显滞后的设计。AttnRes 给出的价值,不是一个小优化点,而是一条新的架构主线:残差不该再只是默认通道,而应该成为一种可学习、可选择、可调度的深度路由机制。 附该报告英中对照版,仅供学习参考,感兴趣的朋友可以关注AINLP公众号回复'kimiatt'获取该技术报告英中对照版pdf全文:
感兴趣的朋友可以关注AINLP公众号回复'kimiatt'获取该技术报告英中对照版pdf全文