[BidClub_]
晚点聊 LateTalk · · 87 min

143: 阿里、Kimi都在用的DeltaNet是什么?|与杨松琳聊线性注意力新改进

程曼祺杨松琳

Podcast
TL;DR
  • DeltaNet 的产业价值不在于发明了线性注意力,而在于把 2021 年已有的 Delta Rule 变成可并行、可扩展训练的方案。 杨松林后来的工作解决了循环更新难以高效训练的问题,随后 Gated DeltaNet 又把 DeltaNet 与 Mamba-2 式衰减结合起来。“我们没有发明一些特别新的东西”,但新算法让旧技术重新显出潜力。
  • Qwen3-Next 与 Kimi Linear 是线性注意力进入旗舰模型前的风险验证,而不是最终胜负证明。 两者公开规模分别为 80B 和 48B,均采用线性与 Full Attention 混合架构;杨松林转述,K3“很可能”沿用 KDA,Qwen3-Next 也可能通向 Qwen3.5。真正的观察点是它们扩大规模后,能否同时守住推理效率、长文本与 Agent 能力。
  • 混合架构交易的是容量与成本:Full Attention 保存每个历史 token,线性层则用固定大小状态压缩历史。 前者长文本能力更稳,却会让 KV Cache 无上限增长;后者推理便宜,却可能因容量固定而遗忘。若约 75% 的层换成 RNN 式线性层,KV Cache 可大致减少四分之三,并支持更大 batch size。
  • MiniMax 从 M1 的 Lightning Attention 回到 M2 的 Full Attention,暴露的是多跳推理和评估体系风险,也可能反映早期线性模块较弱,而非线性路线已被证伪。 主持人给出的 M1 规模为 456B、激活 45.9B;MiniMax 表示 MMLU 等指标与 Full Attention 差异不大,杨松琳则分析这类任务偏短程,而 A→B→C→D 式多跳推理对 Attention 更敏感。他还认为 MiniMax 仍在验证 hybrid,并提到“一朝被蛇咬,十年怕井绳”的可能因素。
  • 稀疏注意力单层能力更强,混合线性架构的长期优势则是减少大部分 KV Cache。 动态稀疏路线保存全部 KV,只减少每次读取和计算;上下文足够长后,存储本身仍会成为瓶颈。线性层“理论上的缺陷”——固定 state size——恰好也是推理加速来源,下一步可能是 Sparse Attention 与 KDA 一类线性层直接混合。
  • 即便算力无限,只要高质量数据仍有限,Full Attention 也未必是唯一最优解。 杨松林的条件判断是:无限数据加无限算力时直接用 Full Attention;只有算力充裕、数据受限时,带 locality 等 inductive bias 的线性或 hybrid 架构可能更 data-efficient,优势甚至可能先在 post-training 和 RL 中显现。
  • DeltaNet 的另一条期权是状态追踪:它可能以更短 CoT 维护代码变量或 Agent 行为状态,但仍待大规模验证。 杨松林援引计算复杂度视角,称 Softmax/Full Attention 属于 TC⁰,而 DeltaNet 是 NC¹-complete;这可能使后者更擅长 recurrence 和 state tracking。近期观察点不是小 benchmark,而是 K3、Qwen3.5 级模型和能在 pre-training 阶段预测 Agent 表现的新 evaluation。
Digest · the substance, structured for research

1. Attention 的本质是沿序列混合信息

  • 杨松林把 Attention 定义成“上下文的一个处理机器”:当前 token 要利用前文,就必须在序列维度聚合不同位置的信息,再形成预测下一个词的 representation。
  • Full Attention 最直接地建立任意两个 token 的 pairwise interaction,因此复杂度随序列长度呈平方增长;它只是 sequence mixing 的一种实现,并不等于所有注意力机制。
  • 线性注意力不再要求每对 token 直接交互。早期方法去掉 softmax,再通过数学变换把运算改写成 RNN 式递归,从而让 inference 随长度线性扩展。

2. 2021 年的 DeltaNet 因训练慢且效果弱而被忽略

  • 2020 年的《Transformers are RNNs》已展示线性注意力与递归形式的关系;2021 年《Linear Transformers Are Secretly Fast Weight Programmers》又从 fast weight programming 视角提出 DeltaNet。
  • Delta Rule 改写了 fast weight 的更新方式,目标是增强 in-context retrieval:上下文先给出 key-value 关联,模型随后应凭 key 找回对应 value。
  • 当时的 DeltaNet 缺少高效训练算法,原作者实现又是显式的逐步循环,速度较慢;再加上现代网络模块尚未补齐,最终既慢,效果也不是特别好。

3. 现代网络组件先救活了线性注意力

  • short convolution 让每个 token 不只看自身,还能吸收前面约三个 token 的局部信息;杨松林称它是当代线性注意力“非常重要的模块”,Mamba 又进一步带火了这种设计。
  • output normalization 与 output gate 同样逐渐成为标配。配上 RoPE 和简单 decay 后,即使较基础的线性注意力也能明显改善,RetNet、Lightning Attention 等工作都沿此路径推进。
  • 杨松林区分网络与算子:输出门控属于外围架构改进;Gated Attention 内部仍可使用 GQA、由 FlashAttention 训练。真正改变更新规则,则是在 sequence mixing 的核心算子上“动刀”。

4. 并行算法把 DeltaNet 变成可扩展模块

  • 线性递归展开后会出现转移矩阵的累乘,DeltaNet 的难点正是如何高效计算这一项。杨松林发表的《Parallelizing Linear Transformers with the Delta Rule over Sequence Lengths》给出跨序列长度的并行算法,使 Delta Rule 能够 scalable 地训练。
  • 随后的 Gated DeltaNet 可视为 DeltaNet 与 Mamba-2 的结合:既保留更强的 Delta 更新,又加入 decay,也就是类似遗忘门的机制。
  • 固定大小的 RNN hidden state 不可能保存全部历史,因此必须主动遗忘;否则有限空间如果把所有东西都记下来,就会被撑爆。

5. KDA 把遗忘从整组控制细化到逐维控制

  • 原版 Gated DeltaNet 的 decay 较粗:假设 hidden dimension 为 128,全部 128 个 channel 共享一个遗忘率。Kimi Delta Attention 则让每个维度拥有独立 decay。
  • 细粒度控制允许部分维度快速遗忘、部分维度保留长程信息。杨松林因此把 KDA 概括为 GLA 与 DeltaNet 的 combination,把 Gated DeltaNet 概括为 DeltaNet 与 Mamba-2 的 combination。
  • 用转移矩阵表达:基础线性注意力从 identity 出发,DeltaNet 变为 identity plus low rank;KDA 又把 identity 放宽为可学习 diagonal,形成 diagonal plus low rank,RWKV-7 也采用相近的 DPLR 形式。

6. Qwen 与 Kimi 已选中 Delta Rule,但尚未完成旗舰验证

  • Qwen 团队曾把 global attention、混合注意力、sliding-window attention、Mamba-2 与 Gated DeltaNet 做 apples-to-apples 比较,杨松林转述其结论是 Gated DeltaNet 最好用,随后进入 Qwen3-Next。
  • Kimi Linear 的 KDA 保留 Delta Rule,只升级 decay 粒度;Qwen3-Next 为 80B、Kimi Linear 为 48B。当时例如 Kimi K2 这样的旗舰模型仍未采用线性注意力。
  • 杨松林认为先训小模型是工业界正常的降风险方式:“不可能一下子就在非常大的 scale 下面验证,要不然验两次基本上就要破产了。”
  • 对后续路线,他只作有来源的预测:Kimi 团队在 Reddit AMA 称 K3“很可能”使用 KDA;Qwen 负责人公开表态则让他判断 Qwen3-Next 可能延续到 Qwen3.5。

7. Hybrid 架构用 Full Attention 补线性层的容量上限

  • 纯线性模型每层只有固定大小 state;模型层数和宽度固定后,总容量就是常数。序列继续变长,容量却不增加,因此短文本上可能还可以,长文本最终会明显退化。
  • Full Attention 为每个 token 保存独立 KV Cache,历史越长,状态也线性增加,所以不会被同一种固定容量约束;代价则是每步都要读取越来越大的 cache。
  • 推理本身常受 memory bandwidth 限制。小模型尚可承受 Full Attention,大模型叠加长上下文后,读取无界增长的 KV Cache 会带来很难接受的成本。
  • Hybrid 因而保留少量 Full Attention 层兜底,再把大量层换成线性递归;若约 75% 的层被替换,KV Cache 可近似减少四分之三,并容纳更大的 batch。

8. MiniMax 回归 Full Attention,核心担忧是多跳推理

  • 主持人给出的 MiniMax M1 规模为 456B、激活 45.9B,采用 Lightning Attention;10 月 27 日发布的 M2 却回到 Full Attention,形成“一边往坑外跳,另一边急着往坑里跳”的反差。
  • MiniMax 方面认为,Lightning Attention 在 MMLU 等指标上与 Full Attention 没有什么区别;杨松林分析,MMLU 更像短程 in-context learning,较短 sliding window 已能处理,因此难以检验长程 mixing。
  • 多跳推理则要求沿 A→B、B→C、C→D 逐层组合关系,Full Attention 可直接建立点对点联系;线性层把历史压进模糊 state 后,可能无法确认自己究竟保留了什么。
  • M2 主要是为了推进 agentic AI,而 Agent 的 interleaved thinking 会产生大量跨步骤依赖,因此回到 Full Attention 有其逻辑。不过 MiniMax 只是“暂时”退回,仍在测试 hybrid。

9. MiniMax 的结果也可能是弱模块与弱评估共同造成

  • 杨松林认为 Lightning Attention 只是基础线性更新叠加粗粒度、input-independent decay,“是一个非常弱的线性注意力模块”,不能直接代表 Gated DeltaNet 或 KDA。
  • 他的尖锐判断是,M1 能一路放大到数百 B,或许说明内部 eval pipeline 没有充分覆盖长程依赖和多跳推理;若只看 MMLU,架构风险很容易被掩盖。
  • 程曼祺追问:Qwen、Kimi 同样要做 Agent,为何仍敢押 hybrid?杨松林的回答并非替它们背书,只是推测各家公司有不同内部 benchmark,并认为最终仍需旗舰开源模型验证。
  • 结论因此保持开放:“还是要看 Qwen 和 Kimi,能不能开源出一个比较旗舰的模型。”现阶段只有较小规模证据,尚不能宣告效果问题已解决。

10. Evaluation 决定新架构能否在烧钱前暴露缺陷

  • 杨松林提到的 BBH 等多跳 benchmark 可能被针对性优化,却与真实 Agent 场景相关度有限;“benchmark 上面表现得很好”,并不保证商用任务同样可靠。
  • 完整链条若要等 pre-training、post-training、RL 全部结束再评估,周期和成本都过高。架构团队需要在 base model 阶段就看到 Agent 能力的可信信号。
  • 杨松林提到腾讯尝试构造 base-model Agent 任务,使团队不必等完整后训练后才测。他称 evaluation 是“非常重要的事情”,完善 process metrics 会直接提高架构迭代速度。
  • Qwen、Kimi 与 MiniMax 的分歧,可能不仅来自模型选择,也来自各自评估集究竟重视 multi-hop、long-range dependency 还是其他能力。

11. Sparse Attention 能保住信息,Linear Attention 能真正减少状态

  • 单看一层,杨松林认为动态 Sparse Attention “肯定更强”:它保存全部 KV Cache,再从中挑回相关 token;既然 Full Attention map 本就很稀疏,选得准便可逼近其效果。
  • 线性注意力的 state size 固定,是表达能力上的理论缺陷;但“它既是理论上的缺陷,又是做 inference 加速的动力”,因为需要保存和读取的状态极少。
  • 动态稀疏只减少每一步激活、读取的 KV,并不减少 KV Cache 总量。上下文足够长后,存储容量本身成为瓶颈,Sparse Attention 可能对此无能为力。
  • Hybrid 的优势因此不只是少算几次,而是让大多数 RNN 层的 cache 在长文本中近乎可忽略,进而扩大 batch size、同时服务更多用户。

12. DeepSeek 正把稀疏选择从 block 推向 token 级

  • 早期动态稀疏常按 block 选择,以便连续读取并利用硬件;但 block 也是约束。杨松林举例:同样选择 512 个 token,逐个选理论上比按 32-token block 选 16 块更灵活。
  • 他描述 DeepSeek Sparse Attention 的 indexer:先用轻量的平方复杂度模块估计全局相关性,再为每个 token 选前文 top-k。因不需 softmax 的 exponential,可用 FP8 矩阵乘法加速。
  • 这一路线并非从头预训练,而是从 mid-training 切入:先把 DeepSeek-V3.1 转成一种 MQA,再用原 Attention distribution 蒸馏 indexer,用于初始化。
  • 新难题随之转向选择质量与梯度传递:block 为什么选不准、token-level sparsity 如何训练稳定,都需要回答;至于再主动丢弃部分 KV Cache,杨松林表示“不太确定”已有成熟探索。

13. 无限算力不等于 Full Attention 自动胜出

  • 杨松林先限定条件:“无限的数据、无限的算力,那我肯定直接就用 Full Attention。”它缺少强 inductive bias,数据足够多时反而能自由学出模式。
  • 若只是算力无限而高质量数据固定,约束会从 compute 转向 data。Full Attention 的 data efficiency 可能较差,带 locality 先验、偏重邻近 token 的线性架构反而可能学得更快。
  • post-training 与 RL 的数据通常比 pre-training 更稀缺,因此 hybrid 的效果优势“说不定”会先在这些阶段出现;这是待验证的可能性,不是已证实结论。
  • 算力充裕时还可按任务寻找最少必要的 Attention 层,其余层换成线性层,而非在纯 Full 与纯 Linear 之间二选一。

14. DeltaNet 可能用状态追踪换取更短的推理链

  • 杨松林自称对理论只是“半吊子”,但援引 circuit complexity:Softmax Attention(Full Attention)属于 TC⁰,而 DeltaNet 是 NC¹-complete,因此后者可能更适合 state tracking。
  • 如果 Transformer 需要很长 CoT 才能追踪状态,具备递归状态更新能力的模型或许能用更短推理链达到相同结果,从而节省 inference。
  • coding 中变量名和值持续变化,模型必须维护它们的内部状态;网页 Agent 也要记住自己依次打开了什么、执行了哪些操作、当前走到哪一步。
  • 这与多跳推理的担忧并不矛盾:hybrid 可能在部分 multi-hop 任务吃亏,却在状态追踪上受益。杨松林反复加上限定——“很有可能”,但需要大规模实验。

15. 下一代更新规则将围绕更强表达与可并行性展开

  • 网络外围的 short convolution、normalization、gate 已被反复验证,杨松林认为后续更大的空间在更新规则:除了 Delta Rule,还能否找到既 expressive、又能高效并行的递归。
  • Delta Product 尝试让每个 step 不只做一次、而是做多次梯度下降;Mixture of Memory 则探索把 RNN state 作为可类似 MoE 路由的 memory。
  • Latent Hybrid Attention 把近邻 token 留给 sliding-window attention,将更远历史压进线性 state,试图同时保留局部精确性和远程压缩能力。
  • 他最想看到的是 Sparse Attention 与 Linear Attention 真正做通,例如 DSA 混 KDA,把剩余 global Full Attention 也替换掉,从计算和 KV Cache 两端降低长文本成本。

16. 架构研究必须一次只跨过一个可验证风险

  • 当前团队先混 Linear 与 Full,而不直接上 Sparse 加 Linear,并非后者没有吸引力,而是“架构 research 是一个缓慢的过程,它不可能一步子迈这么大”。
  • 更稳妥的顺序是:先保留 Full Attention,验证 hybrid;待更大规模的旗舰模型证明放大后仍有效,再尝试用 Sparse Attention 替换剩余全局层。
  • 杨松林反对一开始塞入多个 crazy 改动:每次改变一个变量,充分验证后再动下一个,才可能积累“比较实在的进步”。
  • 因此近期较清晰的观测指标仍是 K3 与 Qwen3.5,而不是小模型排行榜。“大家可以让子弹再飞一会儿。”

17. Bitter Lesson 的实用解法是先问能否 scale

  • 对“是否应给模型加入人为先验”的争论,杨松林认为“一百个人里面有一百种”对 Bitter Lesson 的解读;大语言模型本身也是苦涩教训的一个代表,而把人类先验知识注入模型本身也属于一种先验。
  • 他的判断标准更工程化:方法首先要 scalable。效率上需 hardware-friendly,能在大规模训练运行;performance 上则不能只在小浅网络有效,放到深网络便消失。
  • 架构研究最沮丧的情形,就是小 scale 改动漂亮、扩大后收益归零。与其抽象争论先验多少,不如做到“好不好大家验,是就是了,不是就不是了”。
  • 高质量数据已经受限,使 inductive bias 重新具有现实价值;但它是否胜过 Full Attention,仍必须交给规模实验和任务评估。

18. Householder 灵感来自多年交叉积累,而非一次偶然顿悟

  • 杨松林约在 2023 年 9 月开始思考 DeltaNet 并行化,到 2024 年 3 月左右才形成算法。关键是发现转移矩阵类似 Householder 矩阵,并找到其经典 WY 累乘算法。
  • WY 把矩阵累乘改写成累加;他看到形式后意识到:“这不就是线性注意力的形式吗?”随后才把 Householder 累乘与线性注意力的分块算法融为一体。
  • 这条联想连接了硕士阶段 matrix methods、QR 分解、parsing 的 GPU 并行经验,以及后来对线性注意力算子的理解。“可能想了很久”,最后看似突然的 idea 实际是循序渐进。
  • 他判断当前模型若得到合适 prompt,甚至可能独立推出这一算法;因并行结果可验证,也可能用 RL 和 verifiable reward 搜索。但 AI for science 何时超过人类,他坦言“没有什么概念”。

19. FLA 把研究、开源产品与人才流动连成一条链

  • FLA 的启发来自 FlashAttention:不少底层 idea 早已有之,但真正出圈依赖易用接口、即插即用的 kernel 和持续回应社区需求。“足够好用”本身就是研究成果进入产业的条件。
  • FLA 因此集中实现多种线性模型 layer 与 Triton kernel;用户提出 variable-length training 的需求后,团队又把变长支持系统性补入库中。
  • 核心贡献者张宇早年维护并行 parsing 库 SuPar,后与杨松林共建 FLA;他加入 Kimi 后成为 KDA 作者之一。杨松林的描述是,Kimi 想做 hybrid,“不如把这个做得挺好的团队直接搬过去”。
  • 对彭博提出应把 DeltaNet 的 credit 给 Jürgen Schmidhuber 的说法,杨松林强调自己沿用了 2021 年工作使用的 DeltaNet 名称,从未声称发明 DeltaNet;他的贡献是“让 DeltaNet 去做 scalable 训练的方法”。

20. Fast Weight 可能把长文本与持续学习汇成同一问题

  • 杨松林认为 continual learning 很重要,却仍是缺少定论的 open question。若模型能从持续交互中学习,既可减少周期性重训,也能支持更深的 personalization。
  • 当前知识大致有三种落点:pre-training 把信息压进 FFN weights,上下文工程把信息放进 context 与 KV Cache,另有外接 memory;究竟存在哪里更好,尚无统一答案。
  • test-time training 把每个 token 当训练样本,对目标函数做 gradient descent,并实时更新 fast weight。快速变化的 weight matrix 又可视为 RNN hidden state,二者存在一种 duality。
  • 这条路线若做通,可能把长上下文压缩进更 compact 的 weight matrix,并让模型从新 token 持续更新自身。杨松林认为它“还挺有前景”,但仍把它表述为潜在路径,而非已经解决的问题。
程曼祺

欢迎收听晚点聊,我是曼琪。今天的主题是我们年初两期节目里讨论过的注意力机制,这是大语言模型的核心机制。9 月和 10 月,阿里和 Kimi、月之暗面都发布了相关进展,而且都用到了线性注意力的成果 DeltaNet。本期嘉宾就是 DeltaNet 的核心贡献者之一、现在在 MIT 读博士的杨松琳,他也是线性注意力开源小组 FLA 的发起者。

这期节目 25 分钟以前非常硬核,杨松琳讲了线性注意力和 DeltaNet 的发展脉络,为什么 DeltaNet 在 2021 年刚被提出时没有引起太多注意,后来又是怎么进化的。25 分钟以后是关注 AI 比较多的文科生,比如我也能跟上的部分。我们讨论了重新做回 Full Attention 的 MiniMax,和未来要在旗舰模型上用上线性注意力的月之暗面和阿里的不同选择,线性注意力的优劣势,以及一些脑洞,比如如果算力无限,还需要线性注意力吗?松林给了我们很有启发的回答。

最后半小时,他分享了作为 AI 研究员,自己是怎么获得交叉技能的,怎么开始发起 FLA 小组,以及其他成长经历。这期节目里多次提到的 softmax attention,可以简单理解为最初版本的 Full Attention;decay 指的是衰减。更多详细注释见 show notes 末尾的附录,这期也会发布文字版。我们正式进入节目吧。

杨松琳,你可以和我们的听友简单打个招呼,介绍一下自己的现状。

杨松琳

大家好,我叫杨松琳。我现在是 MIT 的一名 PhD 学生,导师是 Yoon Kim。博士期间主要的研究方向就是注意力机制,主要是线性注意力这个方面。

程曼祺

年初我们有两期节目讨论过注意力机制,因为这也是 Transformer 大语言模型里的一个核心机制。第 103 期是和 Inf LM 的作者肖朝军,还有 MoA 的作者付天宇一起聊稀疏注意力机制的改进;第 104 期是和当时在 MiniMax 的钟怡然聊线性注意力机制。

有些听友可能对注意力机制还不是那么了解,所以松林你可以先简单地从你的角度解释一下,注意力机制在大语言模型里面是什么作用,以及为什么很重要吗?

杨松琳

1. 注意力处理上下文

通俗来讲,它就是一个上下文处理的机器。你有一段话,如果后面的话想用到前面这些话的信息,就必须要有一些能够在句子这个维度上做运算的操作。

注意力机制就是一个非常典型的运算方式。一般来说,我们会把这种在序列上做的操作叫作 sequence mixing,也就是把不同位置的信息混合起来,得到当前的 representation,来预测下一个词。我们希望尽可能地 incorporate 前面的信息。

注意力机制是一种非常直接的、通过建模两点之间 pairwise 的直接交互来完成信息混合的机制,所以它是一个平方复杂度的机制。现在,注意力机制也可以泛指这一类在序列维度上做信息聚合或信息交互的算子,比如线性注意力。有一些方法可能已经没有注意力机制那种直接的 interaction 了,但也可以归入这个范畴。

程曼祺

你的意思是,最开始的版本是平方关系,相当于要计算每个词和每个词之间的相关性,或者说它们之间的联系。但现在也可以泛指,只要有一些方法能够表达这种关系就可以,而且这些方法可能已经有很多不是非线性的,线性注意力的改进其实就是这个方向上的。

杨松琳

我觉得注意力不一定非要通过 pairwise,也就是两个 token 之间直接建模的方式来做,但我们肯定需要在序列长度上做信息聚合。我们可以提出很多各种各样的操作,而平方复杂度的注意力只是最直接、也是最常被大家用到的方式。

程曼祺

你的工作也是对这个领域的一个改进。我们可以从最近的一些进展开始聊。之所以特别想找到你来聊注意力机制,也是因为有好几个新的动向都和 DeltaNet 有关。

一个是 9 月 12 日阿里发布了 Qwen3-Next 开源模型;再就是 10 月底月之暗面发布了他们的开源线性模型 Kimi Linear。这两个模型都用到了 DeltaNet 的一些成果。比如 Qwen3-Next 的技术报告里提到,他们在注意力模块里混合使用了 Gated DeltaNet 和 Gated Attention;Kimi 开源的这个新的线性注意力机制叫 Kimi Delta Attention,包括 Kimi 也把他们新的 KDA 放到了你发起和维护的线性注意力开源小组 FLA 的 GitHub 上,大家也可以去看。

你可以给我们简单介绍一下这些业界的新应用和 DeltaNet 之间的关系吗?

杨松琳

2. DeltaNet走出沉寂

可以。简单讲一下 DeltaNet 是什么。最开始的线性注意力,基本上就是把 softmax 这个操作去掉,然后就变成线性注意力了。因为把 softmax 去掉之后,它本来就已经是线性的,再通过一些数学变换,就可以把它写成 RNN 的形式。这个结论应该是比较经典的。

后面几代的工作,主要是在研究怎么改善线性注意力这种机制。虽然最开始它可以写成 RNN 的形式来做 inference,但当时大家还没有完全搞明白怎么高效地训练它,而且那个年代也没有把这种模型做成 language model 的效果。

后来出现了一系列改进,最常见的就是加 gating,或者加 delta rule。加 delta rule 的思路最早是在 2021 年提出的,是 LSTM 作者所在团队的一篇论文,应该叫《Linear Transformers Are Secretly Fast Weight Programmers》,是 ICML 2021 的一篇论文。

这篇文章从比较传统的 fast weight programming,也就是快速权重变换的视角,重新解释了线性注意力。他们认为,fast weight 的更新可以使用更强的 rule。线性注意力使用的是一种 Hebbian update rule,而他们在那篇文章里提出了 DeltaNet,相当于用 delta rule 这个机制来增强模型的 in-context retrieval 能力。

所谓 in-context retrieval,就是在模型前面的 context 里放一些 key-value 的关联对,希望模型能够根据 key 找到它所关联的 value。这就是 DeltaNet 当时诞生的背景。

我觉得 DeltaNet 在那个时候可能没有受到太多重视。一方面,线性注意力在网络架构层面还有很多改进,如果没有这些改进,模型就很难 work。比如 short convolution,也就是短卷积,是现代线性注意力里非常重要的模块。

它可以看成在 R、W、K、V 之前做 token shift 的一个 extension。每个 token 都有一个单向的卷积操作,可以理解成它不仅能看当前 token,还能看前面三个 token 的信息。

另外,在输出部分加 output norm 或者 output gate,也对结果很重要。这些都是比较现代的网络架构改进,现在很多线性注意力模型都会采用这些模块。

DeltaNet 在当时没有火起来,一方面是缺少这些必要的现代网络模块,没办法让线性注意力模型表现得足够好;另一方面,DeltaNet 当时也没有一个很好的实现。原作者提供的实现,本质上是用显式写法实现的循环。虽然能用,但速度比较慢。

直到去年,我发表了一篇文章,叫《Parallelizing Linear Transformers with the Delta Rule over Sequence Lengths》。这篇文章主要探讨怎么把 DeltaNet 这个更新过程中的循环、递归并行化。

程曼祺

你刚刚讲的这些还是挺硬核的,有些地方可能需要稍微给不是做研究的人解释一下。你说最开始是大家把 softmax 丢掉,然后直接变成 RNN,对吧?相当于回到了之前循环神经网络的方式。这个探索大概是在什么阶段?哪一年开始出现的?

杨松琳

应该是 2020 年左右,有一篇论文叫《Transformers are RNNs: Fast Autoregressive Transformers with Linear Attention》,最早提出了这个概念。后面很多年,包括 DeltaNet 在 2021 年出现的那些工作,其实都挺早。

但在当时的条件下,既没有硬件加速,又缺少现代网络里的很多模块,比如前面提到的短卷积、输出 normalization 和输出 gate。这导致这些模型当时既慢,效果又不是特别好,所以很长时间被大家忽略了。

最近几年,网络模块有了很多发展。短卷积、输出 normalization 和输出 gate,基本都已经是标配了。这个时候,即使是一个比较简单的线性注意力,加上 RoPE,再加上简单的 decay,也可以表现得很好。

有一篇微软亚洲研究院的工作,核心 idea 就是这个。MiniMax 做的 Lightning Attention,也是在这个基础上加了一个简单的 decay。

所以我觉得,这些工作大多数还是网络架构上的改进,而不是更新规则上的改进。当然,它们肯定都为网络架构的改进做出了很多贡献。

在 Lightning Attention 之前,还有一项叫 Transformer 的工作把 output normalization 推了出来;之后 RetNet 又引入了 output gate,也就是输出端的门控;再往后,Mamba 直接把短卷积这个模块带火了。感觉前几年的进展,主要集中在网络里的小模块,和整体 RNN 或线性注意力的更新公式关系不大,甚至可以说有点乏善可陈。

包括 Lightning Attention、RetNet,它们的更新规则都是在最开始的基础上加了一些简单的 decay。

程曼祺

那更新规则比较大的改进,是最近发生的吗?比如你们 2024 年发表的论文里,就有一些更新规则上的改进。

杨松琳

我觉得我们也没有发明特别新的东西,只是发明了一些新的算法,让一些比较老的技术重新展现出潜力。

特别是 Delta Rule 这个机制,2021 年就已经有了,但后面几年没有人用。去年我提出了一个并行算法,能够让它以 scalable 的方式进行训练。

紧接着,去年我在 NVIDIA 实习时做了一项工作,叫 Gated DeltaNet。它在 DeltaNet 的基础上加入了一些 decay 项。Gated DeltaNet 可以看成 DeltaNet 和 Mamba-2 的结合。

Gated DeltaNet 继承了 RetNet、线性注意力这些方法里比较现代的网络架构,同时又保留了 DeltaNet 在理论上更强的更新规则,再加上 decay。Decay 类似于遗忘门,而遗忘门对于 RNN 非常重要。

因为 RNN 的 hidden state 大小是固定的,所以它肯定需要遗忘一些信息。如果什么都记下来,有限的空间就会被撑爆。因此,到了 Gated DeltaNet 里,就有了这种衰减机制。

这个架构今年应该被 Qwen 团队比较认真地验证了一次。他们跑了全局注意力、混合注意力、sliding window attention、Mamba-2 和 Gated DeltaNet 的对比,做了一些 apples-to-apples 的比较,最后发现 Gated DeltaNet 应该是最好用的版本,所以把它用到了 Qwen3-Next 里。

Kimi Linear 里用到的 KDA,应该是 Gated DeltaNet 的一个改进版本。它的 Delta 部分没有变化,但把 decay 从非常粗粒度的衰减改成了非常细粒度的衰减。

原来的方式是,比如 hidden dimension 是 128,有 128 个 channel,这 128 个 channel 共享一个遗忘率。现在则是给每一个 channel、每一个维度一个独立的遗忘率。这样,有些维度可以忘得更快,有些维度可以忘得更慢,用来记更长程的信息。

这种细粒度的 decay 其实也有很多历史。比如我在 ICML 2024 发表的一篇工作,叫《Gated Linear Attention Transformers with Hardware-Efficient Training》,就用到了这种细粒度衰减的思想。KDA 可以看成 Gated Linear Attention 和 DeltaNet 的结合;Gated DeltaNet 可以看成 DeltaNet 和 Mamba-2 的结合。

它们的主要区别,类似于 GLA 和 Mamba-2 在衰减力度上的区别。

程曼祺

所以其实大家都是用了很多之前已经存在了一段时间、但由于一些限制,过去效果没有那么好的方法。现在算力、硬件等各方面更 ready 了,这些方法的效果就体现出来了。

现在 Qwen3-Next 也做了一些比较,他们混合了 Mamba 和 Gated DeltaNet,发现 Gated DeltaNet 的效果更好,包括 KDA 也是这样。

你可以给大家解释一下,更新规则的改进和模型架构的改进,区别是什么?

杨松琳

我觉得架构改进可以分成两个模块,一个是网络的改进,一个是算法的改进。

网络上的改进,比如在输出部分加一个 gate。这个思想在很多神经网络里都用过,最近 Qwen 还有一篇工作叫 Gated Attention,也是把一个 gate 加在输出部分。这一类基本都可以叫网络架构上的改进。

它主要改的是网络架构,而真正做运算的算子,比如 Gated Attention 里面还是用 GQA 作为最基本的算子,训练时还是用 FlashAttention。所以中间这个算子本身,可能更偏算法层面。

更改更新规则,就是在算子层面动刀。外面的网络架构其实可以直接采用那些已经验证过效果很好的架构,我们只需要改核心的算法,也就是定义它如何在序列上进行 mixing 的操作。

更新规则会直接反映在线性注意力所对应的 RNN 的转移矩阵上。线性注意力一般可以写成一阶线性递归,也就是一种一阶线性 recurrence。里面会有转移矩阵和 input,线性注意力的 input 一般是一个外积。

最开始的 linear attention,它的转移矩阵是 identity。之后 GLA、Mamba 把 identity 转移矩阵换成了一些 W 形式的转移矩阵。DeltaNet 则把转移矩阵变成了 identity 加 low-rank,也就是 identity plus low rank 的形式。

Kimi 最近的工作,则是把 identity 部分进一步放松成一个 diagonal、可学习的矩阵。RWKV-7 也用到了 DPLR,也就是 diagonal plus low rank 类型的转移矩阵。

程曼祺

3. 算子连接算法与硬件

这些部分我都不太能听懂,但我觉得可以把内容保留下来,因为对于做研究的人来说,这些信息肯定还是有价值的。

你做了很多算子方面的工作。我看你在 FLA 的一些工作里,也会去做 CUDA kernel 的实现。能在算子上做改进,需要什么样的背景?我记得年初我们聊注意力机制时,有些作者是算法背景,他们提到算法背景的人去改算子会比较难。

杨松琳

现在改注意力机制的人,大部分还是算法出身的同学,只不过大家越来越有意识地把硬件和算法结合起来。

算法背景的同学也会去学 CUDA、Triton、cuBLAS 之类的 GPU 编程工具,这样才能更好地实现自己的算子,让它在硬件上高效地跑起来。只有这样,别人才能把它 scale up。

反过来,做 infra 的同学也在更多地学习算法,了解哪些算法在 inference 上更高效。所以算法和 infra 总的来说还是在互相学习、互相靠拢。

程曼祺

你本来是算法背景,后来是为了做这个研究,自己学习了很多 infra 方面的东西,大概可以这么说吗?

杨松琳

可以这么说。不过我之前也做过一些并行加速的工作。硕士的时候,我做过上下文无关文法相关的研究,里面有很多 parsing 的内容,需要在 GPU 上并行加速。

当时我会写一些代码来加速 parsing 算法。后来开始做模型架构,就觉得写算子可能更在我的舒适区,所以会做一些需要写算子的软硬件结合的算法设计,让它在 GPU 上跑得更快。

程曼祺

你当时是有意识地要积累这方面的能力,还是因为硕士时的研究方向让你不得不做这件事?

杨松琳

我本身可能就对并行加速比较感兴趣。刚读 PhD 的时候,斯坦福的 Hazy Research 组比较倡导 hardware-aware 的算法设计。

FlashAttention 就是他们组做出来的,Mamba 也是他们组的毕业生做出来的。他们会做很多有硬件意识的算法设计。当时我自己对算法和硬件加速都感兴趣,所以就进入了这个领域,也学习他们的风格:自己写算子,同时自己做算法。

程曼祺

你发表的几篇 DeltaNet 相关论文里,合作者也有 Tri Dao,他之前是 Mamba 的作者。你说的应该是那篇《Log-Linear Attention》?

杨松琳

对。那篇是我和我们组的韩国同学,还有 Tri Dao 一起合作完成的《Log-Linear Attention》。

程曼祺

4. 线性注意力需要混合架构

我们可以回到 DeltaNet 相关的进展。刚才也提到,Qwen3-Next 和 Kimi Linear 都用到了 DeltaNet,而且它们都是混合架构。

为什么现在大家会采用线性注意力和之前的 Full Attention 混合的结构?为什么不能全部使用线性注意力?

杨松琳

我觉得主要还是长文本的问题。线性注意力的容量是有限的,因为每一层都有一个固定大小的 hidden state。当所有层都固定下来之后,整体状态数量的大小就是一个常数。

当序列长度变长时,整体容量并不会增加。所以纯线性模型在短文本上可能还可以应付,但到了长文本,表现基本上会变得非常差,主要还是因为容量太小。这一点大家应该已经有共识了。

传统的 softmax attention 有 KV cache。你也可以把 KV cache 看成 hidden state。token 越多,KV cache 就越多,一个 token 对应一个 KV cache。这样一来,长文本就不会受到容量限制,因为每个历史 token 都有属于自己的 state。

但 attention 做 inference 的困难,也来自 state 太多。因为 inference 本身是一个 memory-bound 的过程,它取决于你需要从 global memory 里读取多少状态。KV cache 要把整个 cache 读出来,这个过程就会很慢。

程曼祺

所以 Full Attention 解决的是长文本的信息保存问题,线性注意力主要解决的是效率问题?

杨松琳

对。如果所有层都是 Full Attention,做 inference,尤其是长文本 inference 时,迟早会被 KV cache 无界增长的问题拖慢。

如果是一些小模型,Full Attention 的代价还可以接受;但如果是非常大的模型,inference 的代价就很难接受了。所以整个业界才会去寻找高效注意力的出路,比如线性注意力。

程曼祺

现在已经在使用 DeltaNet 的模型,比如 Qwen3-Next 和 Kimi Linear,其实都不是特别大的模型。Qwen3-Next 是 80B,Kimi Linear 是 48B。大家现在的旗舰模型,比如 Kimi 的 K2,还是没有使用线性注意力。

把线性注意力用到参数量特别大的模型上,之前有什么瓶颈吗?

杨松琳

我觉得他们现在先做小模型,是工业界验证新技术的常见做法。如果想验证一个新技术到底好不好用,肯定要先从较小的规模开始,不可能一下子就在非常大的规模上验证。否则验证两次,基本上就要破产了。

程曼祺

所以这是一个发展阶段的问题。因为线性注意力本身是比较新的技术,目前大家先在相对小的模型上验证。

杨松琳

对。他们都在训练更大的模型,或者正在训练更大的模型。Kimi 今天早上,按北京时间应该是昨天,在 Reddit 上做了一个 Ask Me Anything 活动。他们的人也透露,K3 大概率会沿着混合 KDA 的方向走。

所以他们现在先在小模型上做,是为了给后面的大模型减少风险、验证架构。Qwen3-Next 应该也是同理。Qwen3 的后续版本,官方代码可能会叫 Qwen3.5,他们应该也会走 hybrid 的方向。

程曼祺

你是说 Qwen3-Next 之后可能就是 Qwen3.5?

杨松琳

对。我记得他们的负责人在 X 上是这么说的。

程曼祺

昨天 Reddit 的 Ask Me Anything 上,Kimi 的人也提到,有人问 KDA 什么时候会用到旗舰模型,他们说 K3 很可能会用 KDA。

5. MiniMax回到全注意力

还有一个想聊的动向,也和线性注意力有关。MiniMax 其实很早就在业界把它放进了参数量特别大的模型里。今年年初发布的 MiniMax-M1,是 456B 参数的模型,MoE 模型激活参数是 45.9B,用的就是线性注意力,也就是你刚才提到的 Lightning Attention。

但他们最近 10 月 27 日发布的 MiniMax-M2,又变回了 Full Attention。我想知道,比较关注线性注意力改进的研究员,会怎么讨论这个变化?

杨松琳

大家都觉得这个现象挺有意思。一边是 MiniMax 回去坚守 Full Attention,另一边 Qwen 和 Kimi 又像是跳进了这个坑。如果线性注意力是个坑,像 MiniMax 说的那样信息处理有问题,那就是一边在往坑外面跳,另一边又急着往坑里面跳,场景还是很有意思的。

说回他们改回 Full Attention 的决定,我觉得你应该也看过他们的博客。他们预训练负责人写过一篇文章,解释为什么重新使用 Full Attention。

第一点,他们认为之前 MiniMax 的 Lightning Attention,在一些指标上,比如 MMLU,和 Full Attention 没有什么区别。因为这类任务和在序列上做 mixing 关系不是很大。我觉得 MMLU 本质上是一个短程的 in-context learning 问题,只要有一个比较短的 sliding window,MMLU 就可以解决,不需要很长的 Full Attention。

但很多任务,比如 multi-hop reasoning,也就是多跳推理,就非常依赖 attention。这个也很好理解:A 到 B,B 到 C,C 到 D。如果有复合的 Full Attention,它可以直接建模两个点之间的关系,迭代几层之后,建模多跳推理是很自然的事情。

线性注意力和 hybrid 架构中间的 RNN,可能会把信息压缩到一个非常模糊的空间里,模型不知道自己记住了什么。做多跳推理时,准确率就可能下降很多。

多跳推理又是 agentic AI 里非常重要的能力。现在这些 agent 要完成一件事情,肯定会有很多 interleaved thinking,要想很多东西。多跳推理在其中是一个很重要的能力。

MiniMax 觉得在 hybrid 架构下,这个问题暂时解决不了,而 M2 主要是为了推进 agentic AI 能力,所以他们改回 Full Attention,也相对自然。

他们还做了很多 reflection。我觉得读完之后还是挺受益的,包括 benchmark 的选择。比如有些多跳推理 benchmark,像 BBH,很容易通过一些方法让架构在这个 benchmark 上表现得很好,但在实际场景里真的能表现好吗?

预训练阶段的 evaluation,和真正做 agent 任务时的表现,关联度可能比较低。

程曼祺

他们想强调的是,在实际的商用场景和 agent 的需求上,按照他们现在掌握的信息和实验结果,Full Attention 效果更好。

但另一方面,无论是 Qwen 还是 Kimi,肯定也要做 agent model,因为这是大家已经形成共识的方向。接下来他们在旗舰模型上,不管是用 KDA,还是 Gated DeltaNet 混合 Full Attention,都要怎么解决这个问题?

杨松琳

不同公司肯定都有自己的一套 benchmark。他们可能在内部 benchmark 上觉得还可以,所以有信心继续推进。

MiniMax 也没有完全失去信心。按照他们负责人的说法,他们只是暂时退回 Full Attention,但还在验证 hybrid 架构。

另一方面,我觉得他们可能之前被 Lightning Attention 和 RetNet 伤得太重了,所以有点“一朝被蛇咬,十年怕井绳”。

Lightning Attention 是一个比较弱的线性处理模块,本质上是在最原始的线性注意力上加了粗粒度、与输入无关的 decay。它是一个比较弱的线性序列模型,但当时他们直接把它 scale up 到那么大的规模,我觉得可能是内部 evaluation pipeline 没有做得特别扎实。

如果像 Kimi 那样,在某些任务上发现 concern 或者问题,肯定不会让模型直接 scale up 到这么大。我也不确定为什么 MiniMax 当时能一路畅通无阻,把模型 scale up 到几百 B。我觉得主要可能是 evaluation 没有搭好。

他们可能只看了 MMLU,没有关注更加考验长程依赖和多跳推理的任务。

程曼祺

其实这个问题的本质是:使用线性注意力时,怎么保证它的效果。之前业界对线性注意力的质疑是,它肯定能够提升效率、降低推理成本,但如果放到更大的规模上,效果能不能保证?

杨松琳

这个问题现在可以说已经解决到一个比较好的程度了。如果做得比较强、比较扎实,我觉得还是要看 Qwen 和 Kimi 后续能不能开源比较旗舰的模型。

他们现在暂时还是一些比较小规模的验证。希望他们之后能放出更加大规模、更有前景的结果。

程曼祺

可以说现在 Qwen 和 Kimi 是这个方向上业界比较领先的两家公司吗?

杨松琳

可以。比如 Kimi、Qwen 和 DeepSeek,基模都做得比较好,在海外的名声也不错。

当然,国内做基模的厂商还很多。比如美团最近也做了很多 LongCat 之类的工作,感觉也比较惊艳。

程曼祺

我说的倒不是基模这个方向,而是在线性注意力这个方向上。全球范围内,目前业界是不是 Kimi 和 Qwen 做得比较突出?至少从公开信息来看,能够看到他们在往这个方向推进。

杨松琳

我觉得可以把“主要”去掉,因为基本就是这两家公司。美国公司首先不开源,你也不知道他们在做什么。市面上还在做大规模开源模型的厂商,其实屈指可数。

程曼祺

DeepSeek 在这方面没有进展吗?还是说可能有一些进展,只是没有公开?

杨松琳

他们应该内部也在验证,但我不知道验证得怎么样,也没有和他们交流过。他们应该更加相信 Sparse Attention,也就是稀疏注意力,而不是线性注意力。

他们年初发布的 NSA,就是 Native Sparse Attention,是稀疏注意力的改进。最近 DeepSeek-V3.2 的 DeepSeek Sparse Attention,也是一种稀疏注意力改进。所以他们应该比较相信稀疏注意力这条技术路线。

程曼祺

6. 稀疏注意力挑战线性注意力

从你自己的角度看,稀疏注意力和线性注意力,未来的潜力或者空间有什么区别?

杨松琳

单看一层的潜力,稀疏注意力肯定更强。现在这些动态稀疏注意力,一般还是会把 KV cache 全部存下来。把所有 KV cache 存下来,大家会有一种安全感,因为 token 不容易丢。

理论上,如果模型有足够多的 KV cache,就能把相关的 KV cache 找回来。这样,它可以逼近 softmax attention。大家写出来以后都会发现,attention map 其实相当稀疏,所以单看一层,Sparse Attention 当然更好。

线性注意力有理论上的缺陷,因为 state size 是固定的。但这其实是一把双刃剑:它既是理论上的缺陷,也是 inference 加速的动力。因为 state size 更小,所以 inference 可以加速。

Sparse Attention 是通过减少激活的 KV cache 读取量来加速,但动态 Sparse Attention 并没有减少 KV cache 的存储量。它还是需要存这么多 KV cache,只是在每次运算时动态地选出一部分来使用。

最终,当规模很大、序列很长,KV cache 本身成为瓶颈时,Sparse Attention 可能就无能为力了。它没办法减少 KV cache 的大小。

Hybrid 线性注意力则不一样。一般来说,75% 的层都被换成 RNN,长文本推理时,这些 RNN cache 的大小基本可以忽略。这样 KV cache 的大小就可以减少四分之三,从而支持更大的 batch size 来做 inference。

batch size 越大,inference 的效率就越高。我们可以 batch 更多操作,同时服务更多用户。

程曼祺

7. 数据效率重塑架构选择

假设有无限算力,而且不在乎推理成本,大家还有动力去做效率更高、但可能不符合贪心方法的架构吗?

杨松琳

无限算力是一方面,另一方面还要看 data。Full Attention 的 data efficiency 肯定更差,因为它没有 inductive bias,是一种全局注意力。

当 data 比较固定时,让全局注意力去学习,可能会变得比较慢。最后我们可能不是被算力限制,而是被 data 限制。这时就需要研究一些架构,让模型更高效地利用有限的数据,提高 data efficiency。

这时候 Full Attention 反而可能是劣势,因为它的 inductive bias 太弱。它有足够多的数据当然能学出来,但如果数据成为瓶颈,这一点可能就会变成劣势。

程曼祺

你是说数据太少时,Full Attention 是个劣势,因为它的 data efficiency 不如有 inductive bias 的模型。比如线性注意力会有一种 locality 的偏置,更关注临近 token,所以在 data-constrained 的场景下可能表现更好。

杨松琳

可以这么理解。Inductive bias 就是先验。Transformer 好用,一方面是因为它没有太强的 inductive bias,给足数据时学得更好;但数据不足时,这也可能是一把双刃剑。

如果你给我无限的数据、无限的算力,那我肯定直接用 Full Attention。但现在高质量数据已经完全成为瓶颈了,所以可能需要一些能更高效利用有限数据的架构。

尤其是 post-training、RL 这些场景,数据更加受限,不像 pre-training 那样有非常多数据。所以 hybrid 这类先进架构的优势,说不定会在 post-training 上体现出来。

程曼祺

如果算力足够,我可以有足够多的 attention 层,找到最少的 attention 层来完成我们关心的任务,剩下的层放成线性层,对吗?

所以大家探索线性注意力,除了节省推理的算力和成本之外,也可能在某些场景,比如数据比较少的任务、后训练和强化学习中,对效果有提升。

杨松琳

对。另外,从理论上来看,也有一些表达能力的分析。

Softmax attention 从电路复杂度理论来看,属于 TC⁰ 这个 class,这里我就不解释了,我是半吊子的理论背景。它的意思大概是,如果 Transformer 的表达能力不够,解决复杂问题时,就只能依靠很长的 chain of thought。

DeltaNet 还有一个优势。从计算理论角度来看,它的表达能力超过 TC⁰,是 NC¹-complete 的架构。这样的话,它做 state tracking,也就是状态追踪,可能会更好。

Transformer 可能需要更长的思维链来追踪状态,但如果模型本身就有一定的状态追踪能力,inference 时就不需要那么长的思维链,也能达到相同的效果。我觉得这也是一个大家可能还没有意识到的好处。

状态追踪是一个非常重要的概念。比如 coding 时,变量名会不断变化,模型需要在内部维护一系列变量名和变量对应的状态,这其实就是状态追踪。

再比如 agent。一个 agent 打开一个互联网页面,做了一些操作,模型需要知道它做了哪些事情、按照什么顺序做了哪些事情、现在处于什么状态。它可能会维护一些 state,帮助自己做决策。

所以我觉得,状态追踪在 agentic AI 里也是一个非常重要的概念,只是大家可能还没有充分意识到。前段时间我看到一篇挺有意思的论文,叫《Recurrence-Complete Frame-Based Action Models》,里面讨论了为什么在 agentic AI 里,状态追踪和 recurrence 更值得关注。

程曼祺

你刚才提到,线性注意力在一些 agentic 任务上可能有劣势,比如多跳推理;但在现在可能没有那么多人讨论的状态追踪上,它反而可能对 agent model 有效果提升。

杨松琳

很有可能。我觉得非常有可能,但还需要大规模验证。

Evaluation 还是一个非常难的问题,就像 MiniMax 说的那样。我们可能需要更多能够在 pre-training 阶段及时看到信号的 benchmark。

比如腾讯最近出了一个 paper,用来测 base model 的 agentic 能力。他们会构造一些任务,这样就不需要等到 pre-training 完成,再去 post-training、RL,最后才测模型。否则整个 evaluation 链条太长了。

如果 evaluation 做不好,就不知道模型在真正关心的场景里表现怎么样。大家也不想全部训练完之后才测试,那样测试成本太高。所以大家希望构造一些合适的 evaluation,在 pre-training 阶段就能测试模型的 agentic 能力。

我觉得这些工作都很有意义。它相当于增加了一条路径:在 base model pre-training 的时候,就能测试大家关心的能力。之后无论做架构迭代,还是换一个架构来观察效果,如果有可靠的过程指标,evaluation 的完善会非常有助于提高整体架构迭代的速度。

程曼祺

我想问一个有点抽象的问题,不知道我的理解对不对。你刚才说线性注意力肯定包含一些归纳偏置,这有可能带来效果提升。

在 AI 领域,长期以来也有一个讨论:我们到底要不要在模型里加入先验?之前有一篇大家经常提到的文章,叫《The Bitter Lesson》。它提到,我们每一次想给模型加入人为结构和先验,最后都会发现,效果不如给它更多算力,把模型做得更大,训练更多数据。

杨松琳

《The Bitter Lesson》有很多种解读,一百个人可能有一百种理解。

很多 scaling 鼓吹者的解读,可能在 Richard Sutton 本人看来并不准确,因为大语言模型本身也是苦涩教训的一个代表。我们想把人类的先验知识注入模型,这本身也是一种先验。

这件事见仁见智。但总体来说,我还是支持做一些 scalable 的方法。先做到 scalable,不管它最终效果怎么样,大家去验证就可以了。验证出来有效就是有效,无效就是无效,而不是花很多时间讨论它到底应该怎么样。

程曼祺

你这里说的 scalable,具体指什么?

杨松琳

一方面,它的效率要在大规模训练下面有保证。算法本身应该是硬件亲和的。

另一方面,模型规模扩大之后还要有效果。不能在小 scale 上有用,到了大 scale 就没有用了。

很多时候做 research,会发现有些改动是不 scalable 的。它只在比较浅的网络上有用,网络变深之后就没用了。

所以只要效率上能 scalable,performance 上也能 scalable,我就不需要太纠结它到底有多少先验。

程曼祺

8. DeltaNet的署名争议

最近围绕 DeltaNet 还有一个事件。开发 RWKV 开源模型的原始智能创始人彭博说,应该把 DeltaNet 的 credit 给到一个人,但这个人的姓我不知道怎么读,好像是 Schmidhuber。你能讲讲这个事情吗?

杨松琳

应该是 Jürgen Schmidhuber。他做了很多工作,也很有意思,经常在 X 上说别人不给他 credit。

比如他最近还有一篇文章,讨论谁发明了 residual connection,认为 ResNet 的 credit 应该全部给到更早的 Highway Network。

不过这个 case 我觉得完全不一样。我给 Schmidhuber 以及相关作者很多 credit。我的《Parallelizing Linear Transformers with the Delta Rule over Sequence Lengths》在所有地方都把它叫作 DeltaNet,因为 DeltaNet 这个名字就是 2021 年那篇工作自己使用的,我没有去改这个名字。

我的文章标题只是说,我做的是一个 parallelizing algorithm,也就是并行算法。我从来没有说过自己发明了 DeltaNet,我只是发明了如何让 DeltaNet 进行 scalable training 的方法。

如果你去采访 Schmidhuber、Imanol Schlag 和其他作者,他们肯定不会觉得我抢了他们的 credit。相反,我和这些作者还挺熟,尤其是 Kazuki Irie。他们觉得我给了他们很多 credit,也在积极地把这个概念推广出去。

所以我也不知道 RWKV 那边为什么要这样说。我觉得他们可以回去看看,自己究竟给了多少 credit 给其他 researcher。历史账我也懒得算了。我的 comment 就到这里,可以下一个问题了,这件事有点晦气。

程曼祺

9. 研究能力如何跨界积累

接下来因为刚才聊的是 DeltaNet,我们展开聊一下你自己是怎么关注到线性注意力这个研究方向的,包括你怎么开始开发 DeltaNet。前面你已经提到了一些。

你是一个非常年轻的 AI 研究员。你 2016 年在南方科技大学读本科,2020 年到上海科技大学读书,2023 年到 MIT 读博。你是在什么阶段开始关注注意力机制改进的?

杨松琳

我整体上一直喜欢做模型、做算法。可能硕士阶段就喜欢看模型架构方面的方法,但当时并没有正式做这个方向的 research,直到读 PhD 的时候才正式开始做,大概是 2023 年左右。

当时我在思考自己做什么方向,既要感兴趣,也要比较 relevant。我觉得架构还是可以做的,因为 Full Attention 的长文本问题感觉永远解决不掉,而这里面又有很多有意思的算法可以研究,所以我就进入了这个领域。

程曼祺

你最开始有哪些合作者,或者一起学习、一起进步的小伙伴?刚才你提到斯坦福 Hazy Research 组,有去学习他们的风格吗?

杨松琳

对。这个组做新架构做得很多,我和他们很多人都比较熟,比如 Simran Arora、Albert Gu、Tri Dao 等。

国内的话,我觉得微软亚洲研究院董丽团队做得很好。我和孙宇涛讨论得比较多。之前周怡然那边还有一个人叫秦真,我也和他讨论得比较多。他当时从知乎私信找到我,我们聊 research,后来合作了一两篇 paper,叫 HGRN。

那也是比较早做线性 RNN 的一些工作。

程曼祺

所以你们这些年轻的 AI 研究员都挺跨组织的,不是只在自己的实验室或者固定的合作伙伴范围内,而是跨机构、跨公司、跨学校,主要是研究方向把大家聚合到了一起。

杨松琳

肯定是这样。一个学校里不一定能找到这么多从事这个领域研究的人,所以还是会和同行交流。一个领域的研究者之间,肯定说话更多。

程曼祺

你现在的导师是韩国人吗?我看这个名字好像是韩裔。他会在这方面给你什么指导或者建议吗?

杨松琳

他可以帮我搞资源。

程曼祺

所以这个老师还是有比较多资源?

杨松琳

我觉得做 PI 的话,可能主要就是搞资源。其他方向上,导师不一定能帮得上学生。

读 PhD 的目标,可能就是在这个领域里比自己的老板更懂。当你已经比老板更懂这个领域,老板也不能给予你太多具体帮助。

但我觉得我的老板当年还是很有眼光的。他会在大方向上建议我关注软硬件结合的算法设计,也建议我关注数值代数里的东西。有些算法就是从经典数值代数里得到启发的。

DeltaNet 的算法其实用到了数值代数里非常经典的 Householder 矩阵累乘算法。这个算法可以和线性注意力的算法完美结合,最后得到 DeltaNet 的想法。

所以我觉得,老板可能会在最开始给一些大方向上的建议,也会提供算力和写 paper 方面的支持,但主要 idea 还是我自己想的。

程曼祺

数值代数属于数学领域的成果。你的数学知识是因为本科、硕士、博士期间都修过相关课程,还是通过其他方式积累的?包括你之前偏算法背景,后来又自己去做 CUDA、Triton 这些,都是自学的吗?

这些交叉能力是怎么积累的?

杨松琳

感觉还是看兴趣。我对矩阵运算和优化都有比较强的兴趣。

数值计算其实是比较应用数学的方向,主要是矩阵的 numerical algorithm。做 deep learning 肯定离不开矩阵,无论做什么都会遇到矩阵。

里面会有很多迭代算法。比如想求一个东西时,可能有一些迭代算法;有些算法也可以换成新的算法,来提供并行加速。我比较喜欢这些东西,所以会自然而然地看得比较多。看得多了,也就熟能生巧。

程曼祺

南方科技大学本身也是一所比较新型的研究型大学。你们本科时上数值代数这种内容,是在数学课上会学,还是它其实不在课程体系里?

杨松琳

本科时我最喜欢的一门课就是 Linear Algebra。我觉得南科大读书还挺好的,因为教材基本都是全英文、比较先进的教材。

线性代数课用的是 MIT 教授 Gilbert Strang 的经典教材。他在 MIT 的公开课也很有名,很多人应该看过他讲线性代数。

他的讲法让我对线性代数很感兴趣。如果我读的是国内其他学校,线性代数一上来就讲行列式、计算各种东西,我可能就不会对线性代数感兴趣。

Strang 的讲法很符合直觉,是从空间的角度、用形象的方式理解线性代数,所以当时我对线性代数产生了很强的兴趣。

程曼祺

你自己具体改进 DeltaNet,让它可以并行运行的过程中,思路是怎么产生的?有什么难点?你是怎么解决的?

杨松琳

难点在于,线性 recurrence 如果想并行,肯定要把它展开。展开之后会出现一个转移矩阵,而转移矩阵展开以后会有累乘项。

难点就是怎么高效地计算这个累乘项。DeltaNet 的转移矩阵是一种类似 Householder 的矩阵,最开始我并不知道这种 Householder 矩阵的累乘应该怎么算,也不知道它怎么和线性注意力的算法结合。

后来我发现,Householder 累乘有一个算法叫 WY representation。它相当于把累乘编成累加。我一看到累加,就想:这不就是线性注意力的形式吗?

于是我意识到,Householder 矩阵的累乘和线性注意力算法可能有一些可以兼容的部分。后来推了一段时间,终于推出来一个算法,可以把 DeltaNet scale up。

当时还挺开心,觉得推导出了一个比较好玩的算法。

程曼祺

你一开始不知道,后来是怎么发现的?

杨松琳

做 research 时经常会突然想通。比如盯着推导出来的形式看了一会儿,突然发现:这个 transition matrix 不就是 Householder 矩阵吗?

然后我就想,能不能把它 reduce 成 Householder 累乘的问题,再去搜索相关 literature。之后就找到了一些数值线性代数里很经典的算法,并且发现这些算法可以和线性注意力的算法完美融合。

有些 idea 就是突然想出来的,但可能已经想了很久。这个问题我从 2023 年 9 月开始想怎么并行 DeltaNet,直到 2024 年 3 月左右才想出算法并开始做。

当时做 Kimi 的线性注意力项目,对线性注意力的分块算法有了很深刻的理解。之前的研究启发了后面的 idea。整个过程还是比较循序渐进的。

程曼祺

我觉得这其实是把一些过往积累串起来的过程。你最开始能联想到 Householder 矩阵,可能也是因为本科时对数学和线性代数感兴趣,平时看的、学的、想的东西比较多。

杨松琳

对。硕士时我上过一门课,叫 Matrix Methods,里面讲过 Householder,也讲过 QR 分解。

QR 分解是一个非常经典的算法,很多时候会调用 Householder 累乘来做 QR 分解,也可以借此实现并行的 QR 分解。

Householder 累乘最开始的应用就是做 QR 分解,是非常经典的数值方法。直到最近我才发现,这个东西还可以用来加速 DeltaNet 这类架构,让这些方法有更多应用场景。我觉得很有意思。

程曼祺

我觉得很有意思的问题是,AI 什么时候能像人一样拥有这种联想能力?过往有很多看起来没有关系的东西,放在一起之后,可能会产生一个新的成果或者发现。

以前很多基础科学也是这样。比如物理学里有很多东西,其实是从已经存在了一百多年、甚至几百年的数学里得到启发的,只是在那之前没有人把这两件事联系在一起。不知道大模型什么时候能做到这一点。

杨松琳

这个我不好说。我觉得大语言模型应该能够独立发明这个算法。以当前的 AI 来看,我觉得是可以的。

程曼祺

如果给它一些合适的 prompt,它可能已经能够把后面的东西全部推出来了。但如果完全没有人参与,只给它一个目标,比如“我想要并行 DeltaNet”,它能做到吗?

杨松琳

我觉得应该可以通过 RL 来做。这个问题应该能够提供 verifiable reward。只要能给出可验证的奖励,问题可能就可以被 RL solve 掉。

并行化这件事,我觉得可能可以直接通过 RL 做出来。这样的话,未来做很多 scientific discovery 也会很有用。

至于最后它能不能比人强,我没有什么概念。可能有人觉得未来两年 AI for science discovery 会有很大进展,但我也不太懂,所以没有 comment。

程曼祺

今年 1 月你也开始维护 FLA,这是一个线性注意力的开源社区和小组。你可以讲讲这个契机是什么,也分享一下你们做开源小组时的故事和收获吗?

我看这里面有不同公司、不同国家的人来贡献,包括 Kimi 的研究员,还有在瑞士、德国做 AI for Science 的开发者。

杨松琳

10. FLA成为线性注意力社区

当时可能是在知乎看了一篇文章。文章说,FlashAttention 的成功,最主要是一个做产品的成功。

因为 FlashAttention 里的很多 idea,其实早就被发明出来了。比如 online softmax,甚至在更早的工作里,也已经有了一些和 FlashAttention 类似的初步想法。

FlashAttention 之所以出圈,是因为 Tri Dao 非常重视把 FlashAttention 作为一个产品来运营。他提供了非常好用的接口,让大家方便地使用;也经常和开源社区互动,用户有什么需求,他就会去实现相应功能。

最重要的一点,还是它足够好用、即插即用。你只要安装一个包就可以使用。虽然 FlashAttention 很多时候确实很难安装,但装上之后用起来非常方便,而且能带来很大的提升。

我当时被 FlashAttention 这套做产品的理念打动了。我想,既然 linear attention 领域也有一些算法成果,但大家没有好的实现,不知道去哪里使用,那为什么不沿用相同理念,做一个 linear attention 的开源库?

所以我就做了 FLA。里面会有很多 Triton 算子,也会有不同模型的 layer 实现。这样大家只需要用一个库,就可以运行很多模型,每个模型都有相应的 kernel 支持。

用户觉得这个库好用,就会持续使用,同时也会反馈一些 feature request。我们会根据用户的需求迭代 FLA。

比如有一段时间很多人希望我们加入变长训练,也就是 variable-length training。后来我们发现需求很大,就和张宇商量,决定把各种变长训练的功能全部写进 FLA。

程曼祺

张宇也是 FLA 的核心贡献者,他还是 Kimi Delta Attention 的作者。是你做了 FLA 之后,他们关注到这个方向,所以他加入进来成为核心贡献者的吗?

杨松林

我和他之前就认识,可能 2020 年就认识了。当时我们都在做 parsing。

我前面提到,硕士阶段我做 parsing,里面有很多需要写并行算法来实现并行 parsing 的内容。张宇之前有一个开源库,叫 SuPar,Su 是苏州大学,Par 是 parsing。

我觉得他维护得相当好,有非常 clean 的并行实现,效率也很高。当时做 parsing research 的人,基本都会使用这个库。

所以我做 FLA 时第一时间就想到要把张宇拉过来。他很擅长做库,也有维护开源项目的经验。我觉得他很适合写并行算法,虽然当时还没有大规模做这些工作,但他本来就喜欢写这类东西。

把他拉过来,他在兴趣上也会比较匹配,所以我们就一起做这个开源库了。你去看 FLA 的 commit,他在贡献行数和总体 commit 数上都是最多的,代码写得非常厉害。

后来 Kimi 想做 hybrid 线性注意力,就找 FLA 的作者。因为我在美国,他们肯定不能把我弄过去,所以就把张宇邀请到 Kimi 做研究。

程曼祺

所以张宇是先和你一起做 FLA,之后才去 Kimi 的?你们去年开始做 FLA 的时候,他还不在 Kimi?

杨松林

对。他去年做了一年,当时还在不同地方实习。今年年初才去了 Kimi。

程曼祺

他是在 Kimi 开始做这个 hybrid 项目的吗?我看到他的头像是一个二次元少女,手里拿着一个实验设备之类的东西。

杨松林

这就是经典的 stereotype:二次元头像的人 coding 很强。这是非常刻板的印象。

程曼祺

所以 Kimi 也是关注到这个方向,然后定向找了一些在这个方向上做得比较好的人。

杨松林

我觉得是这样。如果有一项技术他们想用,直接把做得比较好的团队搬过去,肯定比自己重新做要快。

程曼祺

这个方向在 Kimi 里面是谁来判断的?我看苏建林在你们 FLA 的群里也比较活跃。

杨松林

我听说好像是 team 来判断的,可能是周星宇,但其实我也不太了解。毕竟我不是他们公司的员工。

我觉得 Kimi 的模型产出还是很强的。其实 K1.5 的时候就已经挺强了,只不过当时 DeepSeek-R1 最吸引关注。

程曼祺

感觉 Kimi 经常喜欢和 DeepSeek 对着做。DeepSeek 出一个最新的稀疏注意力,Kimi 就做一个 Mamba,也来做稀疏注意力。现在 Kimi 也要对着做了。

杨松林

稀疏序列这块我还是比较熟的,因为做架构的人一般都会关注不同 sub-area 的进展。

稀疏注意力主要是想做动态稀疏。之前比较静态的稀疏,效果可能不太好;动态稀疏则是由每个 token 动态决定,哪些 token 和它有关、需要和它关联。

稀疏注意力可能也会卡在实现上:怎么让它在硬件上高效。像 NSA 就做了一些工作,让稀疏注意力更适合硬件。

比如 block selection,一次选择一个 block,这样就可以连续把它读进来,然后完成运算。

但最近 DeepSeek Sparse Attention 好像又把 block selection 去掉了,改成了完全 unstructured 的 sparse attention。

程曼祺

它还是动态的,只是从按 block 选择变成了更细粒度的 token 选择,对吗?

杨松林

对。按 block 选择本身是一种 constraint。比如要选 512 个 token,是选择 512 个单独的 token,还是按照 block size 32,选择 512 除以 32 个 block?

从直觉来看,当然是选择 512 个单独 token 更好。DSA 等工作就改成了更灵活的方式。

程曼祺

相当于选择的范围变得更细,从一块一块地选,变成选择和当前 token 更相关的单个 token。

杨松林

对,变得更灵活了,但也更难实现,肯定会有一些代价。

DeepSeek 的处理方法,是用一个非常轻量的平方复杂度模块来做整体注意力,得到一个 L×L 的矩阵。因为这个模块比较轻量,而且算子可以在 FP8 下运行,所以可以用 FP8 的矩阵乘法来加速。

它不需要做完整的 softmax,不需要 exponential 这种很吃精度的计算,本质上就是一个矩阵乘法。这个模块本身也比较轻量,维度比较小,算起来很快。他们把这个东西叫作 indexer。

Indexer 会先求出整体注意力,再求 top-k。每个 token 都去找前面注意力最强的 top-k 个 token。

程曼祺

你可以继续讲讲稀疏注意力的演进。

杨松林

最近这两个工作的核心思想大概就是这样。我觉得它们想解决的问题,是如何把 token 选得更准。

Block sparsity 的问题是,如果一个 block 没被选中,就可能把里面的重要信息全部漏掉。所以怎么准确选择 block,是一个非常有价值的问题。

另一方面,如果走 DSA 这种 token-level sparsity,训练时也会有问题。它不是从 pre-training 开始做,而是从 mid-training 开始。它会先做蒸馏,把 DeepSeek-V3.1 转成一种 MQA,然后蒸馏 attention distribution,去初始化 indexer。

这种稀疏机制可能会有梯度传递的问题。Sparse Attention 的 block 选不准,可能也和梯度传递得是否准确有关。所以只要做 sparse,就一定要考虑怎么让梯度传递得更好。

最后,我觉得 Sparse Attention 还可以考虑能不能丢掉一部分 KV cache。现在 Sparse Attention 基本不丢 KV cache,所以它和 Full Attention 一样,最后还是可能被 KV cache 的 size 主导。

程曼祺

相比 Full Attention,Sparse Attention 的推理效率更高,但存储负担还是很大。文本越来越长时,它还是要存全局的 KV cache。

这个方向有人在探索吗?也就是在稀疏注意力的基础上,进一步去掉一些 KV cache?

杨松林

这个我不太确定。

程曼祺

11. 线性注意力走向新架构

那你可以讲讲线性注意力机制的改进。你觉得它接下来会怎么演进,可能会有哪些趋势?

杨松林

线性注意力主要有两个方面的改进:一个是网络架构,另一个是更新规则。

网络架构方面,我觉得大家已经验证得差不多了。更新规则方面,可以继续思考,除了 Delta Rule 之外,还有什么更新规则能更好地并行,同时看起来更加 expressive。

沿着 Delta Rule 这条路线,已经有很多工作了。比如加 decay 的工作、加 fine-grained decay 的工作。Delta Rule 还有一个梯度下降的视角,从 test-time training 的角度看,它可以理解成一个梯度下降过程。

也有一些工作不是每个 step 做一次梯度下降,而是每个 step 做很多次梯度下降,比如 Delta Product。

还有一些动态扩容的方法,比如 Mixture of Memory。既然 MoE 可以作用在 weight matrix 上,为什么不能在 RNN 的 state 上做 MoE?也有一些工作沿着这个方向做。

最近还有把 sliding window 和 linear attention 结合起来的工作,比如 Latent Hybrid Attention。它保留 sliding window attention,同时把 RNN 的 state 看成很多个 token。比较远的信息用 RNN 去压缩,比较近的信息则保留 sliding window 的形式。

程曼祺

你觉得当前的注意力机制,离你理想中设想的状态还差什么?或者说,离大家理想中设想的状态还差什么?

杨松林

我先不说理想状态。我下一步最想看到的是,有一个地方把 Sparse Attention 和线性注意力真正结合起来。

现在 hybrid attention 里还是有 global Full Attention。如果有 global Full Attention,长文本 inference 时,或多或少还是会被这些 Full Attention 层影响。

如果把这些 Full Attention 全部换成 Sparse Attention,沿着这个方向做通,比如 DSA 混合 KDA,或者 DeepSeek 那样做一个 hybrid,我觉得会很好。

至少可以暂时彻底解决长文本问题。KV cache 的大小也会下降,inference 速度会提高很多。这样就可以 build 更多应用,做更多长文本应用和 agent task。

长文本的开销还是需要处理。

程曼祺

现在大家混合的是线性注意力和 Full Attention,而不是直接把线性注意力和 Sparse Attention 混合,原因是什么?是还没有那么容易混合,还是现阶段有其他难点?

杨松林

我觉得 architecture research 是一个缓慢的过程,不可能一步迈太大。大家一般都是慢慢来。

先保留一部分 Full Attention,验证线性注意力和 Full Attention 的 hybrid;hybrid 验证完,再去验证 Sparse Attention 也不迟。

现在 hybrid 的大规模效果还没有完全验证,先等更大规模的旗舰模型验证出来,再去验证 Sparse Attention。不能一开始就做特别 crazy 的改动。

架构 research 还是要扎实,一次动一点,把这个东西充分验证之后,再动下一个。这样才能取得比较实在的进步。

程曼祺

所以接下来,我们看这种线性注意力和 Full Attention 的混合表现好不好,一个比较明显的观察指标,就是 Qwen3.5 和 K3。它们肯定是更大规模的模型,如果真的用 KDA,就可以看一看效果怎么样。

杨松林

对。这是一个很好的观察指标。最后如果他们真的上 scale,大家可以让子弹再飞一会儿,到时候再回来观察也不迟。

程曼祺

更广泛地说,你现在比较关注大语言模型、预训练方法和强化学习接下来会有什么演进趋势?

业界有一种讨论,觉得预训练加上强化学习已经到了比较强的阶段,可能需要一些新的方法或者范式。比较热门的方向包括在线学习、持续学习、自主学习等。

杨松林

持续学习应该是大家非常关心的问题。这个领域有很多 open question,持续学习到底要怎么做,大家还没有定论。

现在大家做的持续学习,效果好像也还没有特别明显。但它确实是一个很新的、很有前景、还处于早期阶段的方向,路径还不清楚。

持续学习肯定是非常重要的。如果 AI 能持续学习外界的信息,就不需要隔一段时间重新训练一次。它也有很多商业价值,比如 personalization。

用户不停地和模型交互,模型可以记住用户的偏好和历史,从而更好地服务用户。

程曼祺

现在模型的记忆,比如 ChatGPT 的记忆能力,并不是内化在模型里面,而是通过一些工程或者外挂的方式记住用户的信息,对吗?

杨松林

对。Pre-training 是把东西压进 FFN 的 weight 里面。另一种方式是上下文工程,把信息放在 context 里,通过注意力机制或者其他机制做 in-context learning。

这是现在主要的两种方式。当然,也有很多 memory 的外挂,把它们加进来。

程曼祺

如果模型能够自己持续学习,理论上它就可以越来越懂你,或者越来越懂某一个场景和任务。

杨松林

可以这么理解。

程曼祺

那这样的话,上下文工程的空间是不是会变少?当然,这还没有实现,只是设想。

杨松林

这也是一个 open question:有些信息到底放在 weight matrix 里更好,还是放在上下文的 KV cache 里更好?我觉得还没有定论。

其实这两个问题是一个 duality。梯度下降也可以看成上下文学习的一个过程。最近大家比较关注 test-time training,这套框架相当于把每个 token 都看成一个训练样本。

把这个训练样本喂进去,经过一次 gradient descent,优化一个目标函数,然后更新 weight matrix。只不过这个 weight matrix 是快速变化的,所以也可以叫 fast weight。

Fast weight 在 RNN 里可以看成 RNN 的 hidden state。既然这两个问题存在这种 duality,那么 FFN 如何学习知识,也可以启发我们解决长文本问题。

FFN 肯定记住了 trillions of tokens,而且很多信息记得还挺牢。如果有一个长上下文问题,就可以想办法把它转换成一个问题:能不能用类似的技术,把信息存在某些 weight matrix 里面,通过 test-time training 做动态更新,从而实现持续学习。

我觉得这个路径还挺有前景。现在这些 weight matrix 在 inference 时不会更新,所以模型无法从新的 token 里学到新的信息。

Test-time training 或者 fast weight programming,会在处理完新的 token 后更新 weight matrix,有一套自己的更新规则。Weight 更新和 RNN 更新规则也是一种 duality。

如果能把这套方法做通,首先可以解决长文本问题:把信息压缩到一个更 compact 的 weight matrix 里。另一方面,也可以顺便解决持续学习的问题。

程曼祺

今天非常感谢松林做客《晚点聊》,分享 DeltaNet 和线性注意力机制的发展脉络,以及最近通义 Qwen3-Next、Kimi Linear 里使用的线性注意力机制进展,还有接下来这个领域可能出现的趋势。

我觉得特别有意思的是,你讲到自己是怎么想到让 DeltaNet 并行的方法。这个思考和做研究的过程很有意思,对很多研究员来说可能也会有启发和共鸣。

杨松林

谢谢。

程曼祺

今天节目就到这里,谢谢大家。

杨松林

拜拜。

143: 阿里、Kimi都在用的DeltaNet是什么?|与杨松琳聊线性注意力新改进 | BidClub