Home
avatar

.Sam

杨植麟团队新突破:让大模型「不健忘」的注意力残差,到底是什么黑科技?

如果你经常用大模型聊天或者做复杂任务,大概率遇到过这些 frustrating 的场景:

  • 你跟它聊了 10 轮对话,提到过自己是做产品经理的,结果后面它又问你「你的职业是什么?」
  • 你上传了一份 100 页的文档让它总结,结果它漏掉了第 3 页提到的核心项目目标
  • 让它解一道需要 5 步推理的数学题,它前两步算对了,后面就忘了前面的结论,给出完全离谱的答案

很多人以为这是模型训练数据不够多,或者参数不够大的问题。但最近 Kimi 背后的 Moonshot AI 团队发布的一篇新论文,戳破了另一个更核心的原因:所有现代大模型用了 10 年的核心底层设计「残差连接」,天生就有「信息稀释」的缺陷,模型越深,忘性越大

这篇由杨植麟作为核心贡献者的《Attention Residuals: Rethinking Depth-wise Aggregation》提出的「注意力残差」机制,直接从底层解决了这个困扰行业多年的问题,甚至有可能成为下一代大模型的标准配置。今天我们就用完全不用懂技术的大白话,讲讲这个突破到底是什么,对你我有什么影响。

先搞懂:我们用的大模型,天生就有「健忘症」

要理解这个突破有多重要,我们得先搞懂现在所有大模型的核心设计「残差连接」到底是什么,它的问题出在哪。

什么是残差连接?用小组作业类比一下

2015 年残差连接被发明之前,AI 模型做不深,10 层以上就训练不动了。残差连接的出现解决了这个问题,它的逻辑非常简单:

模型的每一层处理完信息之后,不是只把处理后的结果传给下一层,而是把「原始输入 + 处理后的结果」一起打包传下去。

打个最形象的比方:你有一个 10 人的小组作业团队,要写一份研究报告。传统没有残差连接的模式是:第 1 个人写完初稿传给第 2 个人,第 2 个人改完自己的部分就把第 1 个人的稿子扔了,只传自己改后的版本给第 3 个人……传到最后,第 1 个人写的核心观点早就丢得一干二净。

而残差连接的规则是:每个人改完之后,都要把之前所有人的稿子完整保留,加上自己改的部分,一起打包传给下一个人。这样不管传到第几个人,最早的核心观点都不会完全丢失,模型也就可以做的非常深,现在的大模型动辄上百层甚至上千层,靠的就是这个设计。

这个设计好用了 10 年,现在所有的主流大模型,从 GPT、Claude 到文心一言、Kimi,底层都用的是残差连接。但它有个天生的缺陷,直到最近随着模型越来越深、上下文窗口越来越大,才变得越来越无法忽视。

「信息稀释」:为什么大模型会健忘?

残差连接的问题,就出在它的「绝对公平」上:所有层的输出,不管有用没用,在传递的时候权重都是完全一样的

回到我们的小组作业类比:如果规则要求「每一个人写的所有内容,不管是核心观点、草稿、还是随手写的笔记、甚至写错的内容,都必须在最终稿里占完全一样的篇幅」,会发生什么?

  • 传到第 5 个人的时候,第 1 个人写的 1 页核心观点,已经被后面 4 个人加的 4 页内容稀释了,只占总篇幅的 1/5
  • 传到第 20 个人的时候,第 1 个人的内容只占 1/20,几乎已经找不到了
  • 到最后 100 层的大模型里,最早的输入信息已经被稀释了百倍,后面的层根本找不到最开始的核心信息了

这就是论文里提到的「信息稀释」问题:随着模型层数增加,早期的有用信号被不断叠加的后续信息淹没,就像你往一杯水里不断加更多的水,最开始放的那勺糖的味道会越来越淡,到最后根本尝不出来了。

这个问题带来的负面影响非常直观:

  1. 大模型深度的边际效益越来越低:现在你把模型从 100 层加到 200 层,性能可能只提升 5%,大部分新加的层都在做无用功,因为有用的信息早就被稀释没了
  2. 长上下文能力差:超过几十万字的输入,模型很容易忘掉前面的内容,因为早期的输入信号已经被后面的信息埋住了
  3. 复杂推理能力弱:多步推理需要反复用到前面步骤的结论,但是模型经常忘了前面算出来的结果,导致后面的步骤全错
  4. 训练浪费:行业里早就发现,很多训练好的大模型可以直接砍掉 30%-50% 的层,性能几乎没有下降,这些层本质上都是被信息稀释问题浪费掉的。

注意力残差:给大模型装个「项目管理员」

Moonshot AI 团队提出的「注意力残差」机制,解决思路说穿了其实非常朴素:既然不加筛选地保留所有层的信息会导致稀释,那我们能不能加一个「筛选器」,只保留有用的信息?

核心思路:给不同层的信息加权重

注意力残差做的事情,相当于给刚才的小组作业配了一个专业的项目管理员:

  • 每一个新成员写完内容之后,管理员不会把所有内容一股脑塞给下一个人
  • 管理员会先评估一下:前面所有人写的内容里,哪些是对当前任务有用的,哪些是没用的草稿或者错误内容
  • 有用的内容给高权重,没用的内容给低权重甚至直接丢掉,然后把整理好的内容包传给下一个人

技术实现上,就是把原来固定的加法残差连接,换成了注意力机制:每一层在做信息聚合的时候,会给前面所有层的输出算一个注意力权重,重要的信息多保留,不重要的信息少保留,从根本上避免了信息被无意义地稀释。

实用优化:让技术能落地到生产环境

这个思路听起来很简单,但如果直接在全量层上做注意力,计算量会大到根本没法用在实际的大模型训练里。所以团队还做了一个非常巧妙的工程优化:「块注意力残差」。

  • 把模型的所有层分成若干个块,比如每 8 层是一个块
  • 块内部还是用传统的残差连接,只在块和块之间用注意力机制做信息筛选
  • 这样一来,计算量只增加了不到 5%,但是能保留完整注意力残差 95% 以上的性能提升,完全可以直接用在生产环境的大模型训练里。

实际效果怎么样?性能提升肉眼可见

这个技术不是停留在论文里的空中楼阁,Moonshot AI 已经把它用到了自己的 Kimi 48B 大模型里,实测的性能提升非常夸张:

  1. 训练效率直接提升 25%:用了注意力残差的模型,只需要原来 80% 的计算量,就能达到完全一样的训练效果,相当于同样的算力预算,你能训练出更强的模型
  2. 推理能力大幅提升:在代表科研能力的 GPQA-Diamond benchmark 上,分数直接提升了 7.5 个百分点(从 36.9 到 44.4),这个提升幅度相当于普通模型多训练几万亿个token才能达到的效果
  3. 通用能力全面提升:MMLU(通用知识测试)提升 1.1 个百分点,BBH(复杂推理测试)提升 1.7 个百分点,所有测试维度都有稳定的正向提升
  4. 长上下文能力更强:搭配这个技术的 Kimi 大模型,已经实现了 100 万 token 以上的上下文窗口,信息检索准确率超过 98%,长文档处理的时候不容易漏信息。

而且这个技术是完全通用的,不管是 1B 参数的小模型,还是 100B 以上的大模型,都能用到这个优化,获得稳定的性能提升。现在官方已经把参考实现开源在了 GitHub 上,任何开发者都可以直接把它用到自己的模型里,几乎不用改其他代码。


对普通人来说,这个突破意味着什么?

可能你会觉得,这是底层技术的改进,和普通用户没关系?其实不是,这个技术的普及,会直接带来几个我们能感知到的变化:

  1. 大模型更「聪明」了:同样参数规模的模型,复杂推理能力会更强,解数学题、写代码、做逻辑分析的准确率会明显提升,犯低级错误的概率会降低
  2. 长对话再也不「健忘」了:你跟大模型聊几千轮,或者上传几百万字的文档,它也能记住最开始你说的需求,不会问出重复的问题
  3. 大模型会更便宜:训练效率提升 25%,意味着模型的训练和推理成本都会下降,未来我们用大模型的价格可能会更低,甚至很多小公司也能训练得起自己的高性能大模型
  4. 开源模型会迎来一波能力跃升:因为技术已经开源,很快各路开源模型都会用上这个优化,我们能用到的免费开源模型的能力,会和闭源模型的差距越来越小。

其实这个突破最让人兴奋的地方,不是它带来了多少性能提升,而是它证明了:我们现在用的大模型,还有非常大的底层架构优化空间。过去 10 年我们一直在吃残差连接的红利,现在注意力残差的出现,相当于给深度学习的底层换了一条更宽的跑道,未来几年我们很可能会看到一波大模型能力的集中跃升。

参考资料

月之暗面 注意力残差 AI 大模型