跳转到内容
输入关键词后按 Enter 打开第一个结果。

线性注意力机制:从标准注意力到 Gated DeltaNet-2

一次搞懂 Transformer 的计算瓶颈、线性注意力的核心思想,以及 2026 年最优雅的改进——解耦擦除与写入。


Transformer 的核心是注意力机制:对序列中的每个 token,计算它和所有其他 token 的相关性(注意力分数),然后加权汇总信息。

具体来说:

Attention(Q, K, V) = softmax(QK^T / √d) · V

这里 Q、K、V 都是 n×d 的矩阵(n 是序列长度,d 是维度)。关键瓶颈在 QK^T——这是一个 n×n 的矩阵,计算量是 O(n²)

类比:想象你在读一本 1000 页的书,每读一页都要回头看所有之前读过的页,判断哪些和当前页最相关。页数翻倍,每页的”回头工作量”也翻倍,总工作量就是四倍。这就是二次增长。

后果:当上下文从 4K 扩展到 128K token,注意力计算的内存和算力需求增长 1024 倍。这是长上下文模型最大的工程障碍。


2. 线性注意力的核心思想:Kernel Trick

Section titled “2. 线性注意力的核心思想:Kernel Trick”

线性注意力的突破口是一个观察:softmax 不是必须的。

我们可以把注意力写成更一般的形式:

Attention = sim(Q, K) · V

其中 sim 是任意相似度函数。如果 sim 能分解为两个函数的乘积——即 sim(q, k) = φ(q)·φ(k),那么:

sim(Q, K) · V = φ(Q) · (φ(K)^T · V)

先算 φ(K)^T · V(d×d 矩阵,和 n 无关),再乘 φ(Q)。复杂度从 O(n²d) 降到 O(nd²)

类比:回到读书的例子。与其每页都回头看所有页(O(n²)),不如每读一页时,把关键信息压缩存入一个”笔记本”(d×d 的累积状态),新页只需查笔记本。笔记本大小固定,不随页数增长。

这就是线性注意力的本质:用一个固定大小的”外部记忆”替代逐步增长的注意力矩阵。


3. 记忆更新的问题:擦除与写入的耦合

Section titled “3. 记忆更新的问题:擦除与写入的耦合”

线性注意力解决了计算效率问题,但引入了新麻烦:记忆怎么更新?

标准注意力每次都完整重算,不存在”更新”问题。但线性注意力维护的是一个持续变化的记忆状态(类似 RNN 的隐藏状态)。当新信息到来时,旧记忆需要被更新——有些要擦除,有些要写入。

早期线性注意力(如 Linear Transformer)的做法很粗暴:直接累加。新信息叠加上去,旧信息永远不会被擦除。

记忆 += φ(k_t) · v_t^T # 只加不减

类比:你的笔记本只有”往上写”的笔,没有橡皮。写满了怎么办?信息越来越模糊。

为了解决这个问题,人们引入了门控机制——一个标量来控制”保留多少旧记忆 vs 接受多少新信息”。

记忆 = β_t · 记忆 + α_t · φ(k_t) · v_t^T

一个标量同时控制了擦除(β 越小擦越多)和写入(α 越大写越多)。

问题在于:擦除和写入是耦合的。 用同一个旋钮调两件事,就像用同一个音量键同时控制左右声道——你想要左声道响一点、右声道轻一点,做不到。

具体来说:

  • 想擦除某个旧知识点但不想写入新内容 → 不行,α 和 β 是联动的
  • 想写入新内容但不想擦除相关知识 → 也不行
  • 想选择性擦除某些通道(channel)的信息 → 更不行,标量是全局的

这在长上下文场景下尤其致命:随着序列变长,记忆容量有限,必须精准地”忘记该忘的,记住该记的”。


4. Gated DeltaNet-2:解耦擦除与写入

Section titled “4. Gated DeltaNet-2:解耦擦除与写入”

2026 年 5 月,NVIDIA 的研究团队提出了 Gated DeltaNet-2,核心改进极其简洁:把一个标量门拆成两个独立的 channel-wise 门

记忆 = (1 - e_t ⊙ 记忆) + w_t ⊙ (φ(k_t) · v_t^T)

其中:

  • e_t擦除门(erase gate),维度是 d,控制每个通道擦除多少
  • w_t写入门(write gate),维度是 d,控制每个通道写入多少
  • 是逐元素乘法

类比:终于有了橡皮和铅笔两件独立的工具。你可以精准擦掉某一行旧笔记,同时在另一行写下新内容。左右声道终于有了独立的音量旋钮。

为什么是 channel-wise 而不是 token-wise?

Section titled “为什么是 channel-wise 而不是 token-wise?”

因为不同的语义通道存储不同类型的信息。比如:

  • 通道 1-64 存语法信息
  • 通道 65-128 存实体信息
  • 通道 129-256 存情感信息

当新 token 是个人名时,你应该写入实体通道,但不一定要擦除语法通道。channel-wise 的门控提供了这种精准度。

Gated DeltaNet-2 不仅仅是一个新方法,它统一了两个先前工作:

方法擦除控制写入控制
Linear Transformer无(只加不减)累加
Gated DeltaNet单标量 β单标量 α
KDA (Kimi)单标量channel-wise
Gated DeltaNet-2channel-wisechannel-wise

Gated DeltaNet-2 是前三者的超集——通过约束可以退化到任何一个。


在 RULER 的 needle-in-a-haystack 测试中(在长文本中找特定信息),Gated DeltaNet-2 显著超越所有线性注意力基线。原因很直觉:当你能在 128K token 的序列中精准擦除过时信息、写入新信息,你的”记忆笔记本”就不会被垃圾信息淹没。

复杂度仍然是 O(nd²),和线性注意力一样。两个 channel-wise 门只增加了 2d 个参数,几乎可以忽略。

在 1.3B 参数、100B tokens 的规模上,Gated DeltaNet-2 在语言建模、常识推理上的表现接近甚至超过标准 Transformer,同时拥有线性的推理效率。

随着上下文窗口继续扩大(500K、1M、甚至无限上下文),“如何管理记忆”将成为最核心的问题。Gated DeltaNet-2 给出了一个优雅的方向:不是更大的记忆,而是更精准的遗忘


标准注意力早期线性注意力Gated DeltaNetGated DeltaNet-2
复杂度O(n²d)O(nd²)O(nd²)O(nd²)
记忆管理不需要无(只加)标量门(耦合)双门(解耦)
长上下文受限中等
性能最强中等接近标准

从”没有记忆管理”到”标量门控”到”解耦双门”,每一步都是对”如何遗忘”这个问题的更深理解。而 Gated DeltaNet-2 的答案最简洁:给擦除和写入各自一个独立的旋钮,问题就解决了。


基于 arXiv 论文 Gated DeltaNet-2: Decoupling Erase and Write in Linear Attention (NV Labs, 2026-05) 撰写