菜鸟AI - 让提示词生成更简单! 全站导航 全站导航
AI工具安装 新手教程 进阶教程 辅助资源 AI提示词 热点资讯 技术资讯 产业资讯 内容生成 模型技术 AI信息库

已有账号?

首页 > AI教程 > Kimi悄然取代大模型十年旧方法:深度测评
进阶教程 大模型 深度

Kimi悄然取代大模型十年旧方法:深度测评

2026-06-01
阅读 0
热度 0
作者 菜鸟AI编辑部
摘要

摘要

Kimi团队提出AttnRes,以注意力机制动态加权替代固定残差连接,每层自适应选择历史信息。

Kimi 团队最近发了一篇论文,悄无声息地改掉了 Transformer 里一个用了快十年的基础组件——残差连接。这东西几乎所有大模型都在用,但他们说有问题,而且已经修好了。

残差连接:一个「民主」但荒谬的设计

先解释一下残差连接到底是什么。

Transformer 每一层都在做计算,残差连接的作用就是把每一层的输出加回到下一层的输入里,保证梯度能顺畅向后流,防止深层网络训练崩溃。这个设计源自 2015 年的 ResNet,后来几乎被所有大模型原封不动地搬过来用。

问题出在哪?所有层的输出权重相同。第 1 层的结果和第 47 层的结果,对最终计算的贡献完全一样。

打个比方:这就像在一个委员会里开会,无论是十年前的老顾问还是刚进来的新成员,每人一票,永远平等。委员会越大,每个人的影响力越被稀释。一个 200 层的模型里,第 20 层的输出只有 1/200 的影响力。

这么一来,工程上就会出现两个头疼的问题:

  • PreNorm 稀释:随着深度增加,每一层的贡献被越来越多的层稀释,早期层的信息传到最后几乎被淹没。
  • 隐藏状态无限制增长:所有层输出的累积和随着深度增长,幅度越来越大,导致训练不稳定。

这两个问题不是没人注意到,而是过去大家默默接受了——毕竟效果还凑合,改动风险太大。

Kimi 团队说,这是个可以解决的问题,而且解法很优雅。

AttnRes:用注意力机制处理「自身历史」

他们的方案叫 Attention Residuals(AttnRes)。思路其实不复杂,一句话就能说清楚:

在序列方向,Transformer 用注意力机制让每个 token 选择性地关注其他 token。AttnRes 在深度方向做了完全同样的事——让每一层选择性地关注自己的处理历史。

具体到数学上,标准残差是把所有层输出相加(权重都是 1):

hl=i=0l1hi

AttnRes 把权重变成了动态的 softmax 注意力:

hl=i=0l1αilhi

每一层用一个学习得到的「伪查询向量」来决定 α 的大小——即当前层应该从哪些历史层汲取多少信息。这是输入相关的,不同的输入会产生不同的聚合权重。

效果很直接:输出幅度被限制住了,梯度分布更均匀,早期层的信息不再被淹没。

大模型用了十年的「笨办法」,被 Kimi 悄悄换掉了

工程难题:内存怎么办?

如果每一层都要关注所有前层的输出,内存需求是 O(Ld)——L 是层数,d 是隐藏维度。对于一个 48B 的模型,这会直接炸掉任何正常的显存预算。

这也是为什么「让层关注历史层」这个想法之前有人提过,但没人真正大规模落地的原因。

Kimi 的解法是 Block AttnRes

把模型的所有层分成 N 个块(约 8 个)。每个块内部还是用标准残差累积,跨块时才用注意力机制——但注意力只作用于块级别的「摘要表示」,而不是每一层的输出。

内存从 O(Ld) 降到了 O(Nd)。8 个块对应的内存开销和全层注意力相比几乎可以忽略,但实验显示它能恢复大部分全 AttnRes 的性能增益。

大模型用了十年的「笨办法」,被 Kimi 悄悄换掉了

这是典型的「想法很美,工程让它落地」的故事。Full AttnRes 是理论最优,Block AttnRes 是实际可用——后者才是真正的贡献。

代码层面,Block AttnRes 的实现非常干净:

def block_attn_res(blocks, partial_block, proj, norm):
    V = torch.stack(blocks + [partial_block])   # [N+1, B, T, D]
    K = norm(V)
    logits = torch.einsum('d, n b t d -> n b t', proj.weight.squeeze(), K)
    h = torch.einsum('n b t, n b t d -> b t d', logits.softmax(0), V)
    return h

整体结构不变,两个 einsum 解决问题,推理延迟增加不到 2%。

大模型用了十年的「笨办法」,被 Kimi 悄悄换掉了

实验数据:1.25x 是什么概念?

他们在 Kimi Linear(48B 参数总量,激活 3B 的 MoE 架构)上用 1.4 万亿 token 预训练,对比标准残差和 Block AttnRes:

  • 计算效率提升 1.25x:意思是加了 AttnRes 的模型,达到相同的下游任务性能,只需要对照组 80% 的计算量。换句话说,你用同等算力,效果相当于多训了 25% 的 compute。

这不是小数字——对于训练成本动辄几千万美元的大模型来说,25% 是实实在在的钱。

Scaling law 实验也支持这个结论——在不同规模的模型上都能观察到一致的改善,说明这不是某个特定规模点的偶然现象。

训练动态方面,AttnRes 模型的隐藏状态幅度增长被有效控制,各层的梯度分布更均匀。这意味着更稳定的训练,减少了调参难度。

大模型用了十年的「笨办法」,被 Kimi 悄悄换掉了

这个工作放在大背景下意味着什么?

有个有趣的历史视角。

神经网络架构史上有几次重要的「用注意力替代固定规则」:

  • Transformer 用自注意力替代 RNN 的顺序处理(序列方向)
  • Mixture of Experts 用门控网络替代固定的层路由(宽度方向)
  • AttnRes 用注意力替代固定的残差累积(深度方向)

大模型用了十年的「笨办法」,被 Kimi 悄悄换掉了

有人评论说,这是 Transformer 终于把注意力机制真正用到了所有维度。这个说法有点浪漫化,但也确实点出了问题——过去残差这块是被「特赦」的,AttnRes 把它也纳入了学习范畴。

当然也有泼冷水的声音:改善是真实的,但 1.25x 到底算多大的突破?Scaling law 实验是在相对小的模型上做的,48B MoE 只激活 3B,和真正的大规模训练还有距离。实际部署中 Block 的数量、块大小的选取,也有调参空间尚未完全探索。

一句话总结

AttnRes 把「哪些历史层信息应该被当前层使用」这个判断,从写死的「一律平等」改成了「模型自己学」。在 1.4T token 的训练规模上,这换来了 25% 的计算效率提升,推理延迟几乎不变。

如果后续在更大规模的训练上复现,这个工作大概率会进入各家大模型的标配改造清单。

大模型用了十年的「笨办法」,被 Kimi 悄悄换掉了

来源:互联网

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

同类文章推荐

相关文章推荐

更多