Podcast Interview · Long Context & Model Architecture

#94 杨松琳:DeepSeek、Kimi、MiniMax 注意力机制新论文

这期节目不是把三篇论文简单排成“谁更快”的榜单,而是从注意力的基本计算讲起,比较三种减少长上下文成本的路线:DeepSeek 的 Native Sparse Attention、Kimi 的 MoBA,以及 MiniMax 的 Lightning Attention。读懂这期的关键,是先理解模型到底在保存什么、跳过什么,以及算法为什么必须和 GPU 的执行方式一起设计。

节目 #94 · 杨松琳 / 张小珺 · 约 2:36:13 · 5 个大章节 · 论文主张、嘉宾解释与本文判断分层

第一遍:先把这期论文讲解还原出来

下面先按节目自身的推进解释三个问题:注意力在算什么,三篇工作分别怎样省成本,嘉宾为什么把硬件和训练放在论文机制旁边。后面的“证据审计”才会区分论文报告与独立判断。

节目时间内容推进听众需要先掌握的概念
00:00–00:15嘉宾背景、三篇新论文为何同时出现。长上下文让注意力成为计算、显存和推理吞吐的瓶颈。
00:15–01:19DeepSeek Native Sparse Attention。动态选择、压缩摘要、局部窗口、硬件原生训练。
01:19–01:44Kimi MoBA。把注意力块当成可路由的专家,稀疏程度由 query 决定。
01:44–02:30MiniMax-01 Lightning Attention。线性状态与少量 softmax 精确检索的混合。
02:30–结束强化学习、研究路线与未来模型的猜测。长上下文不是单纯扩窗口,而是为推理时计算重新分配预算。

1. 先回答:注意力到底在做什么

杨松琳先把听众拉回 Transformer 的基础。对一个 token 来说,模型会产生 Query、Key 和 Value 三种向量。Query 可以理解为“我现在要找什么”,Key 是每个历史 token 提供的“我是什么线索”,Value 则是被取回的内容。模型计算 Query 与各个 Key 的匹配分数,再用这些分数对 Value 做加权求和。因此,序列中每个位置都可能和其他位置建立关系,这正是注意力擅长处理长距离依赖的原因。

代价也从这里出现:如果长度是 L,所有 Query 和 Key 两两比较,训练阶段的主要计算量大致随 增长;生成阶段还要把历史 Key/Value 留在 KV cache 里,缓存空间随上下文长度增长。这里的“二次复杂度”和“线性 KV cache”不是两个互不相关的数字:长上下文把算力、显存带宽和通信同时推高,最终影响训练、prefill、decode 和服务成本。

Full Attention:每个 query 访问全部历史;成本随 L² 增长。
Linear Attention:把历史写进固定状态;访问成本近似随 L 增长,但可能丢失精确检索。
Sparse Attention:只访问被选中的历史块;关键在选择成本与漏选风险。

主持人把问题连接到 AGI 和 test-time scaling:如果模型在推理时需要读更长的上下文、生成更长的思考过程,注意力就不再是论文里的一个层,而是决定模型能否把更多推理预算变成有效计算的基础设施。

2. DeepSeek 的 NSA:动态稀疏,并且要能真正训练和部署

节目先讲 DeepSeek 的 Native Sparse Attention。杨松琳把它放在“动态稀疏注意力”一类:与固定窗口、固定间隔等静态模式不同,每个 Query 可以根据当前内容决定关注哪些历史块。这样做的直觉是,长文本里并不是所有过去 token 对当前问题都同样重要;如果能保留全局粗粒度信息,再对少数相关区域做细粒度检索,就有机会同时保住远程信息和计算效率。

他解释的 NSA 结构包含三路信息:第一路把较大的历史区块压缩成粗粒度摘要,避免每个 Query 逐 token 扫描;第二路从候选块中选择少量重要块,并在这些块里保留更细的 token 信息;第三路保留滑动窗口,让当前位置附近的局部依赖不被稀疏选择漏掉。三路结果经过学习到的门控合并。对听众而言,这不是“随机少算一点”,而是一种分层记忆:压缩分支负责远处的轮廓,选择分支负责需要精确回看的内容,窗口分支负责局部连续性。

“Native”在节目中被反复解释为硬件原生和训练原生。很多稀疏注意力只在推理阶段看起来省计算,因为训练时的反向传播、稀疏索引和 GPU kernel 并不友好,最终还是要付出全注意力的成本。NSA 的目标是让稀疏模式从预训练开始就参与前向和反向,并让压缩、块选择和局部窗口都落到可高效执行的算子上。杨松琳尤其被论文声称在部分长上下文和推理任务上不弱于 Full Attention 所吸引,但节目没有逐表展开全部基线、数据和消融。

主持人问这是不是为下一代 DeepSeek 模型准备的。嘉宾给出“很可能服务于后续大模型”的判断,并把它和 R1 的 test-time scaling 连接起来。这是一个合理的研究路线推测,却不是论文已经证明的产品路线;这里必须把“论文提供了架构”和“嘉宾预测公司会怎样使用”分开。

3. Kimi 的 MoBA:把历史块当成可以路由的注意力专家

第二条路线是 Kimi 的 Mixture of Block Attention。杨松琳把它和 NSA 放在一起,因为两者都让 Query 动态决定看哪些历史区域,但它们的组织方式不完全相同。MoBA 先把长上下文切成块,再把每个块视作一个可以被选择的注意力分支;当前 Query 不需要对所有块做完整注意力,而是根据相关性挑选少数块参与计算。

“Mixture of Block”这个名字借用了 Mixture of Experts 的直觉:不是每个 token 都激活全部专家,而是路由到少量专家;这里的“专家”不是独立的前馈网络,而是历史上下文中的块。它的好处是结构直接、容易理解,并且可以在全注意力和稀疏注意力之间调节。杨松琳认为 MoBA 的方案相对简洁,工程风险可能与更复杂的动态稀疏结构不同,但这仍是嘉宾的比较,不是同一训练预算下的公开胜负。

这一段把一个重要问题说清楚:稀疏注意力的核心不只是少算,而是要有一个足够便宜、足够准确的“先验选择器”。如果选择器本身要扫描全部历史,省下来的主注意力计算可能被抵消;如果选择得太少,模型会漏掉关键前提。于是稀疏注意力的系统成本至少包括索引、主计算、内存访问、块大小和漏选后的能力损失。

4. MiniMax 的 Lightning Attention:把大部分历史压成状态,保留少量精确检索

第三条路线不是动态挑选历史块,而是把线性注意力和 softmax 注意力混合起来。线性注意力的想法是把历史逐步写入固定大小的状态,避免每个新 token 都与全部历史重新两两比较,因此更适合超长序列和流式生成。但固定状态也带来信息压缩:如果两个看似相似的事实需要在未来被区分,状态可能没有足够容量保留它们。

节目把 Lightning Attention 解释成一种折中:绝大多数计算使用线性状态,少量层或少量通路保留 softmax attention,用于精确读取历史。嘉宾提到过约七层线性、一路 softmax 这样的直观比例,但这是节目中的解释和经验数字,不能替代不同版本论文的具体配置。它的关键不是“线性一定赢”,而是把精确回看从全层预算改成稀缺资源,只在任务需要时使用。

这里还涉及一个容易混淆的概念:Lightning Attention 和 MoE 都能降低平均计算,但它们解决的是不同问题。MoE 主要把前馈层的总参数容量与每 token 激活计算分开;Lightning Attention 主要改变序列历史如何被存储和访问。MiniMax-01 把 Lightning Attention 与 MoE、并行策略和通信重叠放在一起,是因为真正的训练/推理成本取决于它们的乘积,而不是单一模块的复杂度。

节目也提到线性模型在多跳推理上可能出现回退:如果任务需要反复回到多个相距很远的证据,固定状态会发生冲突,团队可能重新增加全注意力层。这不是对线性注意力的否定,而是说明“上下文很长”和“需要精确检索”并不是同一个需求。

5. 论文之后:硬件、FP8、MoE 和强化学习才是完整问题

杨松琳最后把论文拉回研究方法。一个算法写成 O(L) 不代表 GPU 上就一定更快;递归状态可能暴露串行依赖,稀疏索引可能导致不规则内存访问,块太小又会增加 kernel launch 和通信开销。只有把数学更新改写成适合批量并行的 chunkwise 算法,再用 CUDA、Triton、低精度和框架集成把它跑起来,复杂度才会转化为吞吐和成本。

这也解释了为什么三家公司在注意力之外都谈 MoE、FP8、训练框架和 infra。模型总参数、每 token 激活参数、KV cache、带宽、通信和数值稳定性共同决定产品能否训练、能否服务。主持人进一步问到 DeepSeek 后续项目和 V4,嘉宾给出了一系列方向性预测;节目没有把这些预测当作确定路线,听众也不应把它们和已发表论文混为一谈。

原文讲解到这里。下文把三条路线抽象成信息预算,再审计论文自报结果和节目判断的边界。

第二遍:三篇论文都在重新分配“历史访问预算”

三篇工作的共同问题是:长上下文让“看全部历史”越来越贵,但模型又不能简单地忘掉历史。它们的差异在于把历史访问预算放在哪里。NSA 让模型动态选择少量块,并用压缩与局部窗口兜底;MoBA 把块路由成可调节的注意力专家;Lightning Attention 让大部分历史进入固定状态,只保留少量精确通路。

动态稀疏

保存可选择的历史块,强项是精确检索;风险是索引器成本和漏选。

线性状态

把历史压进固定状态,强项是长序列和低缓存;风险是状态碰撞与不可逆丢失。

混合路线

让多数层便宜运行,少数层精确回看;风险是层级配方、训练和评测复杂。

独立抽象注意力机制的竞争单位已经从“每个 token 看多少 token”转成“系统允许模型以什么形式保存过去、在什么时刻重新访问过去,以及错误是否有机会回退”。

把机制讲成一个系统:选择、压缩、回看与执行

步骤NSA / MoBA 的做法Lightning Attention 的做法关键失败模式
候选形成把历史切成块,形成可选择的候选。历史持续写入递归状态,少数路径保留原始访问。块边界或状态摘要丢掉跨段关系。
预算分配由当前 Query 动态选块或选 token。按层/通路分配线性与 softmax 的比例。选择成本吃掉收益,或精确通路太少。
内容读取对选中的块做较细注意力,局部窗口补近邻。从固定状态读取压缩历史,softmax 通路精确检索。多跳推理需要同时读取多个远处证据。
硬件执行需要高效稀疏、块访问和门控 kernel。需要并行化递归、chunking 和低精度稳定。理论复杂度与真实 GPU 吞吐不一致。

因此对这类论文最重要的评测不是只报一个长上下文 benchmark 分数,而是同时问四个问题:第一,选择器或状态是否真的减少了端到端算力;第二,在相同参数、数据、训练 token 和硬件下,能力损失是多少;第三,长程检索、多跳推理和冲突信息任务是否覆盖;第四,漏选或压缩错误是否可检测、可回退、可修复。

证据审计:论文结果不能直接变成跨模型结论

节目中的说法证据层级保守写法
NSA 在部分长上下文、迁移和推理任务上可达到或超过 Full Attention。NSA 论文摘要和作者实验报告。“论文在其设置下报告”,不外推成所有任务的普遍超越。
MoBA 可在全注意力与稀疏注意力之间转换,并服务 Kimi 长上下文。MoBA 论文摘要/官方公开说明。记录为公开工作和部署方向,仍需等预算对齐的独立复现。
MiniMax-01 可训练到百万 token 上下文,并与 GPT-4o 等比较。MiniMax-01 论文自报。保留模型、上下文和 benchmark 条件,不能写成普遍质量等价。
DeepSeek NSA 是为 V4 或后续产品准备的。嘉宾预测。明确标为路线推断,不能当作公司已确认计划。
线性注意力在多跳推理上会退化并触发回退。嘉宾研发经验,未提供完整日志。作为值得验证的失败假设,而不是线性路线的定理。
最容易被忽略的比较陷阱如果一个模型拥有更多训练 token、更大的总参数、更多状态、不同 KV 精度或更有利的 batch,那么“注意力更好”可能其实是数据、容量或 kernel 的收益。论文之间的 headline 数字只有在训练配方、序列长度、硬件、吞吐口径和能力评测同时对齐时才具有可比性。

我的独立判断:长上下文的下一步不是无限窗口,而是可验证的记忆分工

  1. 状态大小会成为模型账本中的第四个数字。 参数量表示容量,激活参数表示每 token 计算,KV cache 表示服务成本,而线性状态/稀疏索引的大小表示模型如何保存工作记忆。只报上下文窗口,会掩盖真正的记忆预算。
  2. 稀疏选择器和 Agent 规划器有同一类风险。 两者都先决定“后续要看什么/做什么”,一旦漏掉关键证据或动作,错误会被后续链条放大。因此需要覆盖率、回退、重试和反事实评测,而不只是最终平均分。
  3. 硬件友好不是实现细节,而是研究问题的一部分。 如果稀疏模式无法稳定地映射到 GPU,或线性递归不能并行,数学上的复杂度优势就不会进入产品。未来架构论文必须把 kernel、带宽、batch、序列长度和能耗写进主结论。
  4. 混合架构更像风险管理。 少量 Full Attention 层并非对理论不够纯粹,而是给系统留一条精确回看的保险通道。真正的问题是这条通道是否足以覆盖关键任务,以及它的成本是否可接受。

什么证据会推翻或修正这篇判断

证据边界与资料索引

本文主材料是 Zhang Xiaojun Podcast #94 的完整节目与公开转录。节目中对论文的解释已经按原文顺序重建,但嘉宾对论文优劣、研究团队动机、MiniMax 研发经验和 DeepSeek 后续路线的判断不等于独立复现。下面列出的论文链接用于核对标题、方法和作者自报范围;本文没有把它们的 benchmark 结果重新跑一遍。

注意力机制的性能和成本高度依赖实现、硬件、序列长度、batch、精度与任务;任何论文摘要中的“更快”“更强”都必须带着这些条件一起阅读。

返回顶部 ↑