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 最可能的路徑。
