先锋 趋势 方法 投研 作者
103: 用Attention串起大模型优化史,详解DeepSeek、Kimi最新注意力机制改进
返回节目精读

103: 用Attention串起大模型优化史,详解DeepSeek、Kimi最新注意力机制改进

摘要

  • NSA 与 MOBA 的共同亮点,不是再画一种稀疏 Attention pattern,而是把稀疏性推进到预训练,并把理论加速落实到 GPU。 过去多数方案稠密训练、推理时再稀疏,训练与部署之间存在误差;两项工作则给出积极证据:充分训练后,稀疏模型可能追平、部分情形甚至超过 Full Attention。“你可以聪明的同时也很快。”
  • 长思维链把 Attention 优化从“长输入产品功能”升级成训练、RL 与推理的基础设施问题。 过去 Kimi 式需求更偏向快速 pre-filling 一本书;R1 之后,RL 要反复生成、处理并学习越来越长的 COT,训练与 decoding、服务成本一起抬升。肖朝军的判断是,“长 COT 已经成为一个非常重要的问题”,未来优化重心会尤其转向 RL 阶段和长输出。
  • NSA 与 MOBA 的共同解法是块状稀疏、局部窗口和动态选块的混合,而不是纯动态或纯静态。 每个 query 先选出相关的历史 block,再读取块内细节,同时固定保留邻近上下文;动态选择保效果,静态窗口保效率。块级计算还同时满足连续访存和高并行度,“要不然这一块我都要,要不然这一块我都不要”。
  • 可落地的技术壁垒正在从好 idea 本身转向算法、算子和硬件协同。 GPU 天生擅长规则、密集、连续的计算,稀疏性若没有 Triton/CUDA 等底层实现,理论计算量降低也未必变成真实吞吐;论文、模型参数和训练部署代码又是不同开源层次。肖朝军对自己早期 InfLLM 的反思很直接:“加速落不下去”,而 NSA 的冲击正在于把 pre-filling、decoding 的理论加速落到实际,并推进训练阶段的稀疏计算。
  • 评估稀疏 Attention,最有信息量的不是单点榜单,而是训练曲线与性能—效率的帕累托前沿。 傅天予的标准是:同样快时是否最聪明、同样聪明时是否最快;把稀疏度降低,总能逐渐逼近稠密效果,因此真正未知的是投入足够训练资源后能否收敛到同一上限。两位最关注 NSA 的长推理数学任务、训练 loss 曲线和长 COT decoding,而不是已经较成熟的“大海捞针”测试。
  • 稀疏 Attention 解决了“算哪些历史”,却没有解决“为什么所有历史都要存”,显存将成为下一道更硬的墙。 算力迭代可能已增长十倍,而显存容量可能还没有增加到两倍;把数据 offload 到内存或硬盘能扩容,却会付出访问速度。面向持续数月甚至一两年的科研任务,模型需要学会“什么东西该存,什么东西不该存”,这更接近记忆架构,而非单纯 Attention 加速。
  • 多模态和长期记忆会把长序列需求再推高,并迫使稀疏模式随模态变化。 傅天予估算,人一小时约读 18K 文本,但一小时音频可变成 90K 模型输入,一小时视频即使只取 1 帧/秒也可能达到 100 万 token——接近《哈利·波特》全集。长期看,稀疏 Attention 是更接近现有架构的路线,线性 Attention/RNN 则承诺更优的增长曲线;终点不是更长 context 本身,而是模态、知识、情感、推理乃至自主科研能力。

精读

1. Attention 的本质是让每个词带着上下文获得含义

  • 肖朝军从模型的输入讲起:大语言模型接收一串 token,而单个 token 的意义经常不足以独立确定,代词“it”尤其需要知道它指向什么。Attention 会计算当前词与此前所有词的相关性,再按强弱加权历史信息。

  • 傅天予补充,这套机制处理的不只是“这个词是什么意思”,而是“它在此处是什么意思”。每个历史 token 都保留自己的向量表示,当前 token 可以按相关性提取历史内容,因此语义理解和上下文关联发生在同一个计算过程里。

  • 肖朝军给出的直观翻译是:Attention 把传统模型中固定大小的记忆,扩展成“全部的过往词元”。处理当前词时,它逐一计算与历史词元的关系,再提取相关信息。

2. Transformer 用保存全部历史,换掉了 RNN 的固定记忆与遗忘

  • RNN 以循环方式逐词处理输入,并把既往信息压入固定大小的矩阵。肖朝军用“我是肖朝军”解释:模型读到“肖”时,“我是”已被压进记忆;序列很短尚可,播客持续两小时后,最开头的名字可能已经被遗忘。

  • Transformer 不再把历史不断挤进同一个固定容器,而是保存所有历史词的表示。两小时后再次出现“我”,它仍可与开头的“肖朝军”建立高相关性,于是避免了 RNN 在长序列上的天然遗忘。

  • 程曼祺把这次跃迁概括为从“长文本”走向“长长长长长文本”。当年几百 token 已算长;早期 BERT 只能处理 512 token,稀疏 Attention 将其推到 4K,后来开源模型从 8K、32K 继续走到 128K,甚至 100 万 token。

3. Full Attention 的代价随长度平方增长

  • Full Attention 就是最初 Transformer 中的标准机制:历史表示全部保存,当前每个 token 又要和此前所有 token 做相关性计算。长度翻倍,不只是多存一倍数据,整体 Attention 计算还呈现 n² 复杂度。

  • 一个 token 可能需要几千个数字表示;若每个数字暂按两个字节估算,再乘上层数和数百万 token,保存的数据量可能达到“好几百 GB”。而现实 GPU 显存通常只有几十 GB,长文本可能先撞上容量上限。

  • 计算侧的问题同样累积:聊两小时,当前词要扫描两小时历史;聊四小时或一天,就要扫描更长历史。“随着长度,时间和存储的开销都会变得非常大”,这正是 Full Attention 在超长序列下不可持续的原因。

4. 稀疏性不是人为假设,而是 Attention 自身已经表现出的结构

  • 傅天予从数学上解释,Attention 中的 softmax 像“更软版本的 max”:最大项可能是 0.9,第二项 0.09,第三项 0.009。大量相关性分数中天然只有少数值较大,为减少低权重计算提供了基础。

  • 语言关系本身也很稀疏:两个小时、上百万词的播客里,某次“我”可能只与开头的“肖朝军”高度相关,而不是与每个词都同等相关。稀疏 Attention 想利用的,正是这种少量但关键的远距离联系。

  • 傅天予还提到神经科学启发:人脑并非所有神经元彼此全连接,连接本身是稀疏的,且可能随年龄增长变得更稀疏。因此无论从数学、语言还是神经科学的启发看,稀疏 Attention 都可以被利用来提高效率。

5. 架构竞赛分成稀疏 Attention 与线性 Attention 两条主线

  • 肖朝军把主流路线概括为两类:一类保留 Transformer,只减少 Attention 实际查看的历史;另一类以 Mamba 为代表,用更接近 RNN 的机制取代 Attention,在固定记忆中重新接受一定程度的遗忘。

  • 傅天予补充,今天很多工作不愿自称 RNN,而称“线性注意力”。其中一些确实逐词循环压缩历史;另一些会一次性把长输入压成更小表示,不完全等于传统 RNN,但都试图让成本随长度线性增长。

  • 在 Mamba 之前,稀疏 Attention 更主流;Mamba 之后,哪条路线占主导已很难断言。稀疏路线兼容现有 Transformer、改动较小,线性路线则承诺更理想的长期复杂度,但现阶段纯线性方案仍可能面临能力损失。

6. Flash Attention 提醒行业:模型没变,实际成本也能大幅改变

  • FlashAttention 并未改变 Full Attention 的数学结果,而是在系统层重排计算和数据访问,让同一套 Attention 算得更快、占用更少显存。它与稀疏 Attention 的区别是:“本质上跟 Full Attention 在计算层面完全一致。”

  • 傅天予把用户接触到的优化分为算法、系统和硬件三层:更快 GPU 是硬件;让峰值算力、显存带宽的利用率尽量接近上限是系统;稀疏 Attention、MoE 等才是模型算法。FlashAttention 据肖朝军描述令 Attention 的计算效率“上了一个台阶”,显存占用至少降低一个数量级。

  • 模型固定之后,生成范式仍能优化:从逐词生成改为一次生成两个词、一段话,或让十个模型并行写十段,都可能降低总延时。长文本效率并非只有一个旋钮,而是从芯片到服务调度的整条栈。

7. MLA、Mooncake 与稀疏 Attention 解决的是不同瓶颈

  • 肖朝军以 DeepSeek V2 的 MLA 说明另一种算法方向:Transformer 必须保存所有历史表示,MLA 试图把每个 token 原本可能需要的几千个数字压到例如 500 个,减少存储量和逐次读取成本。

  • 两位对 Kimi 的 Mooncake 的理解是,它同样服务长文本,但主要位于系统层:算法上仍较多采用 Full Attention,重点是系统层面的优化。

  • 傅天予强调,系统目标还取决于场景:优化单个组件,与同时服务大量用户、兼顾每位用户延时和整体吞吐,是不同问题。

8. 论文、模型参数和 GitHub 代码代表不同开源层次

  • 程曼祺观察到,NSA 当时先放预印本、尚未给出 GitHub 实现,而 MOBA 已有项目页和工程代码。傅天予解释,论文主要是技术摘要和方法描述;若要低成本复刻训练和推理过程,还需要与硬件适配的代码。

  • “DeepSeek 开源”也需要拆开理解:开放模型参数,不等于外界可以复刻其低成本训练和推理流程。若缺少与硬件协同的算子、训练框架和部署代码,社区拿到的是模型结果,而不是完整的工程过程。

  • GitHub 本身也不自动等于完全开源:仓库可以只放模型或演示,不放训练和底层实现。对外部开发者而言,论文回答“思路是什么”,参数回答“模型能否使用”,工程代码则更接近回答“成本能否复制”。

9. NSA 与 MOBA 最重要的共同点是从训练开始稀疏

  • 傅天予看到的第一亮点是“两边都做了一个稀疏的预训练”。以往多数工作采用稠密 Attention 训练,只在推理阶段删去大量连接;即使稠密训练中的 Attention 也存在一定稀疏性,训练与部署不一致仍不可避免地引入误差。

  • 早期行业优先追求模型足够聪明,效率常被留到后处理,因此稠密训练是更保险的性能上限选择。如今模型要服务大批用户,效率本身成为核心约束,业界才更愿意投入资源验证训练期稀疏。

  • NSA 给出的结果至少表明,充分训练后的稀疏 Attention 可以达到 Full Attention 的性能,部分情形还可能超过。傅天予称其为给领域“一针强心剂”:面对“变笨一点换更快”的质疑,回答变成“你可以聪明的同时也很快”。

10. 长 COT 把长文本需求从 pre-filling 推向 RL 与 decoding

  • 肖朝军认为 NSA 出现在此时与 R1 密切相关:过去长文本主要指输入一本书,系统重点是 pre-filling;推理模型则会输出极长思维链,长序列成本由输入侧扩展到输出侧。

  • 在 RL 中,模型要先生成大量长推理轨迹,再根据奖励反复更新。R1 展示的趋势是,随着 RL training step 增长,输出长度也越来越长;若继续扩大训练,稀疏机制必须进入训练阶段,而不能只在部署时补救。

  • Kimi/Moonshot 的产品场景更偏向长输入和 pre-filling;NSA 同样能加速长输入,但肖朝军更重视它在长输出和 decoding 上的表现。“把这种思维链变得非常非常长”,已经成为模型继续提升推理能力的重要方向。

11. Trainable 同时消除训练—推理落差,也可能反哺训练成本

  • “可训练的稀疏”重点不只是稀疏模式是否可以学习。肖朝军给出两个含义:训练时和测试、部署时使用同一种 Attention,避免机制切换;训练本身也能因稀疏而提速。

  • 难点在于 GPU 天然更适合规则的稠密矩阵计算,稀疏并不自动带来加速。若动态筛选、碎片读取和控制开销超过省下的计算,理论计算量虽下降,实际时间反而可能没有改善。

  • 因此从推理期稀疏跨到预训练期稀疏,并非简单地把开关提前打开,而是需要算法和底层算子共同适配训练场景。

12. 动态 Attention 保能力,静态 Attention 保效率

  • 静态机制预先规定当前 token 能看哪里,例如滑动窗口只看前 512 个 token。无需理解当前内容,系统就能提前取出前面的数据,因此控制开销低、速度快;代价是远处即使有关键名字,也可能永远进不了窗口。

  • 动态机制根据实际 token 内容决定关注位置,既能捕捉“我”与两小时前“肖朝军”的联系,也能保留位置相关模式。但系统必须先读 query、判断相关历史,再执行不规则访问,“效果好,但是慢”。

  • 傅天予将其视为明确权衡:位置是静态的,内容是动态的;纯静态主要保留位置模式,动态则两者兼顾。进入 GPU 后,动态决策又引入控制开销和碎片化访问,效率天然更难做高。

13. NSA 和 MOBA 实际都混合了动态选块与固定局部窗口

  • 两项机制都先把历史切成 block,为每块进行表示或相关性计算,再从较高层筛出相关块,最后读取块内细节。它们也都会固定关注当前 token 附近的局部上下文,因为自然语言对最近内容通常最敏感。

  • 每个 query 选中的 KV block 可以不同:模型生成不同词时,会动态调用不同历史。共同框架是“先粗筛、再细看”,差别更多落在块表示如何构造、相关性怎样计算,以及底层实现如何组织。

  • 程曼祺曾从 DeepSeek 的回答中得到“MOBA 是 block、NSA 更细粒度”的解释,两位随后说明:NSA 同样在 block level 稀疏。MOBA 也并非只有动态路由,它固定选择当前 token 所在的 block,本身含有静态部分。

14. 块级稀疏是 Hardware-aligned 的关键接口

  • GPU 的计算优势是 single instruction multiple data:许多数据同时执行同一条指令时,并行度最高。如果只有零散位置进行不同操作,计算单元很难被充分利用。

  • 访存也要求连续。GPU 一次会取回一大块数据;若其中只有少数数字有用,带宽大多被浪费。块级稀疏则是“要不然这一块我都要,要不然这一块我都不要”,连续访存和批量计算同时成立。

  • 肖朝军解释,NSA 所谓 hardware-aligned 的关键之一就是块级处理;但仅把算法写成 block 仍不够,真实速度依赖大量算子优化。他的 InfLLM 已主张稀疏性必须在 block level 才有硬件友好性,NSA 进一步加强了执行层的优化。

15. Triton 降低了写稀疏算子的门槛,却不是性能优化的终点

  • NSA 的底层实现采用 Triton。傅天予将其描述为 OpenAI 开源、位于 CUDA 之上的编程接口,尤其适合块状稀疏计算;研究者可以用它编写定制算子。

  • 嘉宾提到一个明确标注为“不靠谱的坊间传闻”的故事:GPT-2 或 GPT-3 时期,OpenAI 可能曾尝试用稀疏 Attention 训练,相关系统探索促成 Triton。传闻真假未知,但 Triton 后来确实成为学界实现 block sparse 时愿意选择的工具。

  • 肖朝军的判断是,Triton 首先让编写算子更友好;若要把性能继续推到极限,DeepSeek 仍可能深入更底层代码。他还推测 OpenAI 内部一定做过长文本优化,只是具体采用何种技术,外界“不太清楚”。

16. 当 Attention pattern 趋同,真实加速比比结构图更重要

  • 傅天予认为,现阶段“到底跟哪些历史 token 算相关性”的设计已没那么关键:只要是可学习的,算法效果差距可能不会特别大。NSA、MOBA 乃至此前学界工作,在“切块—选块—局部窗口”上的思想已经相当接近。

  • 肖朝军更看重理论节省能否落到 pre-filling 和 decoding 的墙钟时间,尤其关注 NSA 的 decoding 加速,因为长 COT 同时决定 RL 训练成本和推理模型上线后的服务成本。

  • 这也是他对 InfLLM 的自我批评:“我当时也想把它做到训练阶段”,但因不懂硬件和底层算子,认为稀疏天然不适合 GPU,最终作罢。看到 NSA 后,他意识到限制不只在资源,也在自己的认知边界。

17. 学术界选择 Training-free,既是资源约束也是产品约束

  • 预训练稀疏模型需要大量算力,但傅天予指出,更深的难题是学界缺少工业界的数据、训练经验和小技巧。即使分别训练一个较弱的稠密模型和稀疏模型作比较,结果对工业界的说服力仍可能有限。

  • 他们做 MOA 时故意坚持“不训练”,希望任何稠密模型都能即插即用。除了节省成本,这也避免训练改变原模型偏好:一个本来礼貌的模型,经过改动可能“突然变得很机灵了”。

  • 肖朝军的 InfLLM 同样把“Training-Free”写进标题。当时开源模型多在 8K 左右,长文本关注度远低于今天,也还没有长 COT 的需求;把能力在测试阶段补上,在当时看是更符合现实的研究选择。

18. 最关键的实验是训练曲线与性能—效率前沿

  • 肖朝军最关注 NSA 在长推理数学题上的小表,以及训练 loss 随训练推进的下降情况,包括 NSA 的 Figure 4 和 MOBA 的 Figure 3。传统 pre-filling、“大海捞针”等长文本测试按预期通常不会太差。

  • 单看性能并不充分,因为降低稀疏度、让模型更接近稠密,总能逐步逼近 Full Attention。傅天予提出的标准是帕累托前沿:“跟我一样快的模型,我是不是最聪明的;跟我一样聪明的模型,我是不是最快的。”

  • 训练曲线回答的是此前真正未知的问题:稀疏模型投入足够资源后,是否能和稠密模型达到同一上限。两篇工作给出的积极信号是“大概率最终趋向一致”,甚至稀疏模型在某些设置下可能更好。

  • 因而这类论文的目标不是显著击败 Full Attention 的能力,而是在“基本不损失性能”的前提下尽可能快。能力 comparable 已经达标,随后才看训练和部署成本下降了多少。

19. 长文本评测经历了“说人话、说真话、想对答案”三阶段

  • 傅天予把早期任务称为“说人话”:输入超过训练长度后,模型不要混杂语言、输出怪字符或残缺句子。StreamingLLM 一类早期工作主要解决这一层,常用 perplexity 或 training loss 衡量输出与人类文本的匹配程度。

  • 下一阶段是“说真话”:给出 A、B、C、D 的亲属关系,再问 A 的曾祖父是谁。此时不必拘泥大小写、名或姓,只要找对实体即可,指标也从语言匹配转为准确率。

  • 推理模型又进入“想对答案”的阶段:思维链不一定每句话都有用,甚至 R1-Zero 可能出现不可读内容或 mixed language;若只关心最终解题增益,继续使用 reasoning benchmark 即可。

  • 傅天予指出,稀疏 Attention 可能改变思维链 pattern,甚至让它更不可读。现在可能已有相关数据,但缺少衡量 COT 可读性的成熟指标;是否构造新 benchmark,取决于研究者是否把可读性视为目标。

20. 消融与复现仍需经过真实场景验证

  • 消融实验的作用是逐个拿掉组成模块,观察性能变化,从而判断每个机制贡献。若方案复杂,逐项拆解很重要;若拿掉核心后只剩 Full Attention,则单独比较效果与速度已经足够,不必强行包装成消融。

  • 两位认为 NSA 对算法流程和设计思路写得相当详细,当时社区也已有人快速复现底层算子。但“复现出来”与复现论文全部效果仍是两件事,实际效果还需要继续核验。

  • 肖朝军的态度是“不可盲信”:无论个人复现还是 DeepSeek 自己发表的结果,最终都要放进实际使用过程测试。稀疏方案尤其容易出现理论计算量漂亮、真实系统加速不及预期的落差。

21. 稀疏 Attention 没有降低存储复杂度,存储可能成为下一道硬约束

  • 稀疏 Attention 少算了很多历史,却仍需保存所有内容;随着 context 延伸到几个月甚至一两年,存储终会成为问题。RNN 位于另一端,只保留固定大小记忆,但也可能带来能力问题,两者之间仍缺少令人满意的中间方案。

  • 傅天予指出,GPU 算力迭代远快于显存:几代芯片间计算能力可能增长十倍,存储容量可能还没有增加到两倍。高速存储极占芯片面积,继续扩大会迅速拉低良率、推高成本。

  • 把数据移到计算机内存乃至硬盘可以扩大容量,但会引入搬运和访问延时;这能缓解“存不下”,不能同时解决“读得快”。肖朝军区分了容量上限和数据搬运速度:两者都重要,却不是同一个限制。

22. 真正的记忆系统要决定什么该存,而不只是从全部历史里少算一些

  • 肖朝军用科研任务说明需求:解一道数学题也许可在 1 万或 2 万 token 内完成,但选题、实验、写论文可能持续几个月甚至一两年。若模型要成为博士生或科学家,把全过程全部逐字存下肯定会有问题。

  • 一种更上层的办法是分层总结:读 100 篇论文,每篇写 20 字摘要,最终只剩约 2,000 字,再决定重读哪篇原文。这不是 Attention 内部改动,而是生成范式和通用算法对长上下文的管理。

  • 两位据此区分长序列、Attention 与记忆:长序列是不断变长的输入;Attention 关注长序列输入进来之后如何处理;记忆则决定“哪些东西要记住,哪些东西不要记住”,再把保留内容与新输入一起交给模型。

  • 傅天予借汪玉常用的“Y=F(X)”收束:多模态让 X 越来越长,思维链让 Y 越来越长;F 必须既算得快,又能在长输入、长输出下保持正确。Attention 改进只是实现这个目标的一种方法。

23. 多模态把一小时内容放大成百万 token,也改变稀疏模式

  • 傅天予给出量级比较:人一小时约读 18K 文本;一小时音频转成模型输入可能有 90K;一小时视频即使只取 1 帧/秒,也可能达到 100 万 token。“一个小时的视频,在我们看来就是半部电影”,对应文本却接近《哈利·波特》全集。

  • 若按每帧约 100 token、每秒 24 帧估算,一秒就是约 2,400 token,十秒约 24,000。现有系统常用每秒一帧甚至十秒一帧抽样,但这样可能损失视频连续的流式信息。

  • 视频的相关性结构也不同于文字:追踪一颗球时,模型需要关注不同帧中的相同空间位置,而非总看相邻 token,可能呈现“每隔约 220 个 token 看一次”的跳跃模式。稀疏 Attention 必须适配模态结构。

  • 傅天予团队的 FrameFusion 从冗余性而非单纯重要性出发:视频里某些对象很重要,却每帧重复出现,无需保留多次。“只留下重要且独特的部分”,重复内容和不重要内容都可以丢弃。

24. 稀疏路线是近期工程解,线性路线与长期记忆才指向更远终点

  • 傅天予认为稀疏 Attention 对现有架构改动不激进,兼容性强,却只是把计算减少一个常数比例;序列无限增长时仍会遇到问题。线性 Attention 描绘的蓝图是增长速度更慢,哪怕短序列起点较慢,长度足够大时也更有优势。

  • 肖朝军把未来能力概括为模态、知识、情感和能力:接收丰富模态;拥有接近互联网范围的知识记忆;记住用户“一生”中的共同经历;用长 COT 做更深入推理。这四项都依赖长序列,但仅把窗口拉长并不自动获得它们。

  • 两位都把自主科研视为更高智能的集中体现,因为它要求推理、记忆、高效学习和探索新知识共同工作。当前模型的知识与监督仍来自人类;若能科研,就可能“自己迭代、自己升级”,而今天让模型反复用自产文本训练,仍可能直接崩溃。

  • 对 OpenAI 路线图中“创新者之后才是 organization”,肖朝军保留异议:蚂蚁也能组织协作,多体组织未必要求最高单体智能;傅天予则将两者视为单体变强和多体合作两条并行路径,“谁先发展其实不一定”。