NVIDIA 这周放出了 Gated DeltaNet-2——一个线性注意力层,把 DeltaNet 的单一标量 β 拆成两个 channel-wise 门,一个负责 erase(key 轴),一个负责 write(value 轴)。更新方程就是核心:`S_t = (I − k_t (b_t ⊙ k_t)ᵀ) D_t S_{t−1} + k_t (w_t ⊙ v_t)ᵀ`。erase 门 `b_t ∈ [0,1]^d_k` 控制哪些被解码的状态元素被读取并移除;write 门 `w_t ∈ [0,1]^d_v` 控制哪些新内容被提交;`D_t = Diag(α_t)` 是从 KDA 继承的 channel-wise 衰减。两个门都退化为标量时你恢复 Gated DeltaNet;衰减也退化为标量则恢复原始 DeltaNet。对追踪 linear-attention / SSM 路线的人——Mamba-2、KDA、RWKV-v7、GDN-1——这是家族里自 gated decay 以来最干净的架构差异。

数字:1.3B 参数,100B FineWeb-Edu tokens,4K 上下文。纯递归:language modeling + reasoning 平均 **53.11** vs Mamba-3 MIMO **52.39** vs KDA **52.28**。S-NIAH-3 @2K 上下文从 KDA 的 63.2 跳到 **89.8**——经典 needle-in-haystack benchmark 上 26 点绝对增益,归因于 channel-wise erase/write 拆分让状态能在 key 轴上保留信息而不会因为标量耦合在 value 上丢失。MK-NIAH-1 @4K:**37.8** vs KDA 的 28.0。Real-world retrieval 平均 **29.88**。混合(GDN-2 + 每几层 2K 滑窗注意力)把 language+reasoning 推到 **53.97**,real-world retrieval 推到 **42.28**,印证了线性层与 softmax 层混合能买到 retrieval 上限同时保持线性吞吐下限这个仍然标准的发现。chunk-size 64 的 chunkwise 训练配融合 Triton 内核;WY 反向限制在 Hopper 上 2-4 warps 以规避 layout assertions。

生态解读:linear-attention 社区收敛在"门控衰减"是自纯 DeltaNet 以来最大的胜利——KDA 引入 channel-wise α,Mamba-2 有它的 SSD 框架,RWKV-v7 有它的 time-mix。GDN-2 的贡献是识别出*一个标量 β 同时做 erase 和 write* 是下一个该打破的耦合。一旦解耦,模型可以让一个 key pattern 跨越许多 tokens 保持稳定(不要从 key 轴擦除它)同时更新关联的 value(write through)。这正是 needle-in-haystack benchmarks 暴露的失败模式,S-NIAH-3 从 63 到 90 的跃迁是经验上的确认。4K 训练长度的注脚是真的——long-context 声明基于 RULER-retrieval,而非超出训练长度的连续生成——而且没有发布对比基线的吞吐数字。builders 在投入前应该重现这两点。

周一上午:代码在 github.com/NVlabs/GatedDeltaNet-2(PyTorch + Triton 内核,完整 pretrain.py,AdamW peak LR 4e-4,1B-token warmup)。许可是 NVIDIA Source Code License-NC——非商业,不允许再分发,不允许用它 ship 产品。如果你做架构研究、微调你自己的 SSM,或在 linear-vs-softmax 边界做消融,clone 并 benchmark。如果你 ship 生产模型且本指望换层,NC 许可挡住你;架构思想从论文可复现,门控方程就是两个 sigmoid——那是社区 fork 最可能的路径。