← 全部论文2610.38578v1 / r1
版本与下载

Dual DeltaNet:值侧记忆重组如何改善线性注意力

论文:Dual DeltaNet: Value-Side Memory Reorganization for Linear Attention
作者:Yixiao Qian、Yaxin Zhang、Song Chen、Jiaxu Liu、Shengze Cai、Chao Xu
版本:arXiv:2610.38578v1,2026-10-28 提交;本次获取与研读日期:2026-11-13。
原文:arXiv v1 · 本地 PDF · 英文汇报 PDF · 可编辑 TeX

  • 发表:未查到正式发表信息(截至 2026-11-13);arXiv 页面 未列会议、期刊或出版 DOI,PDF 首页标为 Preprint。
  • 代码:作者官方实现 DualDeltaNet,已有 DDN 层、模型、递推/分块算子及 130M、340M、1B 配置。

论文总览

线性注意力把任意长度历史压缩到固定大小的矩阵状态,节省了逐 token 的 KV 缓存,却让不同关联竞争有限的存储空间。Kimi Delta Attention(KDA)沿当前键读取一个值,再按残差纠正这个值。Dual DeltaNet(DDN)补充另一种读取方向:用当前值的部分特征探测整个状态,找出这些特征占据的地址方向,再把这一地址响应朝当前键的地址拉近。

它的核心贡献是同一矩阵状态上的双侧更新,以及与之配套的双侧 compact WY 分块算法和秩至多为 2 的解码更新。收益最集中在合成针检索(needle-in-a-haystack, NIAH):1B 模型平均准确率为 74.52%,KDA 为 64.27%,提高 10.25 个百分点。语言建模和通用下游的提升较小;真实检索在 1B 时仍落后 GDN-2。实现层面的取舍也很清楚:固定状态大小不变,额外计算能提高算术强度,但在报告的 H200 配置下延迟仍比 KDA 高。[Sec. 3–5,PDF pp. 3–8,Tables 1–5]

结构地图

以下页码均为从 1 开始的 PDF 页码,本论文与印刷页码相同。

原文章节论证作用PDF 页码与主要证据
1. Introduction固定状态的干扰问题;值侧读取的动机pp. 1–2
2. Background线性注意力、DeltaNet、KDApp. 2–3,Eqs. (1)–(4)
3. Methodology选择器、双侧 delta rule、秩 2 形式与模块pp. 3–4,Eqs. (5)–(10),Figs. 1–2,Algorithm 1,Table 1
4. Chunkwise Computation消去衰减、双侧 WY、块边界与因果读出pp. 4–6,Eqs. (11)–(33),Algorithm 2
5. Experiments预训练、通用任务、两类检索、效率、消融pp. 6–9,Tables 2–6,Fig. 3
6. Conclusion键侧纠错与值侧重组互补p. 9
A. Compact WY Representation秩 1 转移乘积的紧凑表示及证明p. 11,Lemma A.1
B. Implementation Details衰减、状态 kernel、精度与重计算p. 11,Eqs. (38)–(39)
C. Experimental Details参数/状态配平、优化及评估协议pp. 11–12,Tables 7–8

一:动机——为什么只纠正“键对应什么值”仍不够

1.1 同一个状态有两种读取方向

设每个注意力头的状态为 $S_t\in\mathbb R^{d_k\times d_v}$,键、查询 $k_t,q_t\in\mathbb R^{d_k}$,值 $v_t\in\mathbb R^{d_v}$。最简单的线性注意力为

$$ S_t=S_{t-1}+k_tv_t^\top,\qquad o_t=S_t^\top q_t. $$

从行看,$S$ 有 $d_k$ 个地址,每行保存一个 $d_v$ 维值。键 $k$ 既参与查询时的语义匹配,也决定写入值在各地址上的分布。这些地址是向量空间中的坐标,通常是稠密的连续表示。

当 $S=\sum_jk_jv_j^\top$ 时,两种读取分别是

$$ S^\top k=\sum_jv_j(k_j^\top k),\qquad Se=\sum_jk_j(v_j^\top e). $$

前者问“与这个键相似的历史关联存了什么”;后者问“与这些值特征相似的内容占据了哪些地址方向”。$e\in\mathbb R^{d_v}$ 是值侧选择器。$Se$ 是加权地址响应,并不一般等于某个历史语义键,也不是键值映射的逆运算。[Sec. 1–2,PDF pp. 2–3,Eqs. (1)–(4)]

1.2 KDA 的纠错视野

先对状态做逐键通道遗忘:$\bar S_{t-1}=D_tS_{t-1}$,其中 $D_t=\operatorname{Diag}(\alpha_t)$、$\alpha_t\in(0,1)^{d_k}$。KDA 再写入值残差:

$$ S_t^{\mathrm{KDA}}=\bar S_{t-1} +\beta_tk_t(v_t-\bar S_{t-1}^\top k_t)^\top. $$

这里 $\beta_t\in(0,1)$ 决定纠错强度。与直接累加相比,它会减去当前键已读到的内容,减少重复写入。但这个读取只沿 $k_t$ 聚合状态,没有显式查看与当前值相关的内容散布在什么地址上。DDN 就在 KDA 更新后增加这一步。[Sec. 3,PDF p. 3,Eqs. (5)–(6)]

图 1:值侧读取与地址响应的纠正

原文 Fig. 1,PDF p. 3。左图用值特征选择器读出地址 1、3 的响应;右图将它与地址 5 的目标比较,形成地址残差。图中的搬移是机制示意,实际更新是对所有行施加连续的秩 1 校正。

二:方法——一个状态,两侧残差,两个计算形式

2.1 核心符号与数据流

符号维度作用
$S,\bar S,S^{\mathrm{KDA}}$$d_k\times d_v$历史状态、衰减后状态、键侧更新后状态
$q,k$$d_k$L2 归一化的查询与键
$v,\hat v=v/\lVert v\rVert_2$$d_v$原始值与单位值方向
$m,e$$d_v$sigmoid 通道门与单位选择器
$\beta,\gamma$标量键侧、值侧纠错强度,均在 $(0,1)$
$\tau=v^\top e,\eta$标量目标地址尺度与等价写入强度
$A,B$$d_k\times d_k$、$d_v\times d_v$左侧键擦除与右侧值特征转移

对一个 token,依次生成投影与控制门,衰减旧状态,进行 KDA 键侧纠错,进行值侧地址纠错,最后用查询读取更新后的状态。训练的分块形式与推理的递推形式实现相同更新。

2.2 选择器决定读什么,单位值方向决定写什么

DDN 从输入生成值特征门 $m_t=\operatorname{sigmoid}(s_t^m)$,并构造

$$ e_t=\frac{m_t\odot\hat v_t}{\lVert m_t\odot\hat v_t\rVert_2}, \qquad \tau_t=v_t^\top e_t. $$

$m_t$ 调整各值通道在探测中的比重;再次归一化避免探测强度随门整体缩放而变化。$\tau_t$ 保留当前值在选定方向上的尺度,因此理想单个关联 $k_tv_t^\top$ 的值侧读数恰为 $\tau_tk_t$。

随后执行

$$ \boxed{S_t=S_t^{\mathrm{KDA}}+ \gamma_t\bigl(\tau_tk_t-S_t^{\mathrm{KDA}}e_t\bigr)\hat v_t^\top.} $$

$S_t^{\mathrm{KDA}}e_t\in\mathbb R^{d_k}$ 是状态当前的地址响应;括号内是它与目标响应的差。外积右因子是 $\hat v_t$,而不是 $e_t$:读取时挑选特征,写入时沿完整当前值方向纠正。新增状态变化的秩至多为 1,不需要增加独立槽位或第二份记忆。[Sec. 3,PDF p. 3,Eqs. (7)–(8)]

一个有助于理解的本次推导:设 $c_t=\hat v_t^\top e_t$,$r=S_t^{\mathrm{KDA}}e_t$,则

$$ S_te_t=(1-\gamma_tc_t)r+\gamma_tc_t\tau_tk_t. $$

对非零值向量,由正门 $m_t$ 可得 $0

2.3 等价的双侧递推

记

$$ A_t=I-\beta_tk_tk_t^\top,\qquad B_t=I-\gamma_te_t\hat v_t^\top. $$

展开上式得到论文 Eqs. (9)–(10):

$$ S_t=A_tD_tS_{t-1}B_t+\eta_tk_t\hat v_t^\top, $$
$$ \eta_t=\beta_t\lVert v_t\rVert_2+\gamma_t(1-\beta_t)\tau_t. $$

左乘 $A_t$ 改变键/地址方向上的旧内容,右乘 $B_t$ 改变值特征之间的状态传播。$B_t$ 在选择器带门时一般不对称。$\eta_t$ 来自原 KDA 写入经过右侧转移,再加上值侧目标写入;漏掉 $(1-\beta_t)$ 会把等价关系写错。令 $\gamma_t=0$,更新退化为 KDA。

2.4 秩 2 解码:把两次纠错合成一次状态更新

直接按概念顺序实现,需要先构造 $S^{\mathrm{KDA}}$ 再做值侧读取。Algorithm 1 将两次依赖状态的读取都改为从衰减状态完成:

$$ \ell_t=\bar S_{t-1}^\top k_t,\quad r_t=\bar S_{t-1}e_t, \quad\tilde v_t=v_t-\ell_t, $$
$$ \tilde k_t=(\tau_t-\beta_t\tilde v_t^\top e_t)k_t-r_t. $$

这里减去的 $\beta_t\tilde v_t^\top e_t$,补偿了键侧更新对值侧读数的影响。随后

$$ \mathcal K_t=[k_t\ \tilde k_t],\qquad \mathcal V_t=\begin{bmatrix}\beta_t\tilde v_t^\top\\\gamma_t\hat v_t^\top\end{bmatrix}, \qquad S_t=\bar S_{t-1}+\mathcal K_t\mathcal V_t. $$

因此相对衰减状态的增量秩至多为 2,不代表整个记忆状态只有秩 2。实际输出为 $o_t=d_k^{-1/2}S_t^\top q_t$;背景中的简化线性注意力式省略了这个缩放,算法和分块推导使用它。[PDF p. 4,Algorithm 1]

Table 1 在输入输出每元素 2 字节、状态读写占主导的假设下,计算 KDA 的主项为 $7d_kd_v$ FLOPs,DDN 为 $11d_kd_v$ FLOPs。二者都将状态读入、写回各一次,主项流量是 $4d_kd_v$ 字节,因此算术强度分别趋于 1.75 和 2.75 FLOPs/byte。增加 57.1% 的理论算术强度意味着同一次状态流量承担了更多计算;具体速度还取决于 kernel、归约和并行度。[PDF p. 4,Table 1]

2.5 分块训练:消掉衰减,分别压缩左右转移

长度为 $C$ 的块 $n$,入口状态为 $S_{[n]}=S_{nC}$。以下省略块下标,只写块内位置 $i$。先定义累计衰减

$$ \pi^i=\alpha^i\odot\cdots\odot\alpha^1,\quad \Pi^i=\operatorname{Diag}(\pi^i),\quad \widehat S^i=(\Pi^i)^{-1}S^i. $$

令 $\bar k^i=(\Pi^i)^{-1}k^i$、$\bar u^i=\beta^i\Pi^ik^i$,可将递推化为

$$ \widehat S^i=\bar A^i\widehat S^{i-1}B^i+ \eta^i\bar k^i(\hat v^i)^\top, \quad \bar A^i=I-\bar k^i(\bar u^i)^\top. $$

因为每个 $\alpha$ 都严格为正,累计衰减在代数上可逆。实际实现对累计 log-decay、归一化和三角求解使用 FP32。[Sec. 4,PDF pp. 4–5,Eqs. (11)–(14);App. B,p. 11]

展开到块边界后,入口状态经历左右两侧转移,每次写入也经历后续两侧擦除:

$$ \widehat S^C=P_LS_{[n]}P_R+\sum_{i=1}^C\eta^ih^i(z^i)^\top, $$
$$ P_L=\bar A^C\cdots\bar A^1,\quad P_R=B^1\cdots B^C, $$
$$ h^i=(\bar A^C\cdots\bar A^{i+1})\bar k^i, \qquad (z^i)^\top=(\hat v^i)^\top(B^{i+1}\cdots B^C). $$

关键是保留左右乘积相反的时间顺序。将 $\bar k^i,\bar u^i,e^i,\hat v^i$ 分别按行堆成 $\bar K,\bar U,E,\hat V$;令 $\Gamma=\operatorname{Diag}(\gamma^i)$、$N=\operatorname{Diag}(\eta^i)$,得到

$$ T_L=\operatorname{tril}(\bar U\bar K^\top,-1),\quad T_R=\operatorname{tril}(\Gamma E\hat V^\top,-1), $$
$$ M_L=(I+T_L)^{-1},\quad M_R=(I+T_R)^{-1}, \quad H=\bar K^\top M_L,\quad Z=M_R^\top\hat V. $$

这里 $H\in\mathbb R^{d_k\times C}$,$Z\in\mathbb R^{C\times d_v}$。两个三角系统分别编码键方向、值方向经过后续 token 之后剩余的写入方向。于是 $P_L=I-H\bar U$、$P_R=I-E^\top\Gamma Z$,不需要显式逐 token 相乘巨大的转移矩阵。[PDF p. 5,Eqs. (15)–(22)]

为方便 kernel 计算,论文进一步整理为

$$ F_R=M_R\Gamma E,\quad R=S_{[n]}-S_{[n]}F_R^\top\hat V,\quad \Psi=NZ-\bar U R, $$
$$ \boxed{S_{[n+1]}=\Pi^C(R+H\Psi).} $$

这把块内部的大量运算变成三角求解和矩阵乘法;块边界的状态仍按序传递。[PDF p. 5,Eqs. (23)–(25)]

2.6 因果读出:不能直接用块末状态回答块内查询

查询 $j$ 只能看到前缀 $1\ldots j$。按行构造 $Q_\pi$,第 $j$ 行为 $d_k^{-1/2}(\pi^j\odot q^j)^\top$,然后

$$ G_L=\operatorname{tril}(Q_\pi\bar K^\top)M_L, \quad Q_{\mathrm{eff}}=Q_\pi-G_L\bar U, \quad O_{\mathrm{base}}=Q_{\mathrm{eff}}S_{[n]}, $$
$$ \Phi=G_LNM_R^\top,\quad G_R=\operatorname{tril}(\Phi-O_{\mathrm{base}}F_R^\top), \qquad O=O_{\mathrm{base}}+G_R\hat V. $$

$\operatorname{tril}$ 在这里包括对角线,严格下三角的三角系数则使用参数 $-1$。$O_{\mathrm{base}}$ 是入口状态经过键侧前缀转移后的贡献;$G_R\hat V$ 合并新写入和入口状态的值侧擦除。下三角掩码屏蔽未来 token,使输出与递推形式一致。[PDF pp. 5–6,Eqs. (26)–(33),Algorithm 2]

2.7 Compact WY 的证明抓手

附录 A 对任意秩 1 转移 $Q_i=I-u_iw_i^\top$,定义 $U=[u_1,\ldots,u_m]$、$W=[w_1,\ldots,w_m]$,证明

$$ Q_m\cdots Q_1=I-U(I+T)^{-1}W^\top, \qquad T=\operatorname{tril}(W^\top U,-1). $$

证明把乘积与单位阵之差写成望远镜求和。令 $f_i=Q_m\cdots Q_{i+1}u_i$,则

$$ f_i=u_i-\sum_{j>i}f_j(w_j^\top u_i), \quad F(I+T)=U. $$

由于 $I+T$ 是单位下三角矩阵,它始终可逆,无需向量正交假设。DDN 对左右两侧分别应用这个恒等式,是其分块算法的代数基础。[App. A,PDF p. 11,Lemma A.1,Eqs. (34)–(37)]

2.8 模块与实现为何影响效率

图 2:DDN 模块

原文 Fig. 2,PDF p. 4。$q,k,v$ 分支经线性投影、短因果卷积与 SiLU,$q,k$ 再做 L2 归一化。控制分支生成 $\alpha,\beta,m,\gamma$;图中上方为归一化、输出门与投影。

衰减沿用 KDA:$\alpha_t=\exp(g_t)$,$g_t=-\exp(a_{\mathrm{decay}})\odot\Delta_t$,$\Delta_t=\operatorname{softplus}(W_\Delta x_t+b_\Delta)$,从而 $0<\alpha_t<1$。$m$ 和衰减的 logits 使用分开的低秩投影,瓶颈宽度 $d_v$。初始化 $m=0.5$、$\gamma=0.05$,初始 $e=\hat v$,先从较弱的值侧纠错开始。[App. B–C,PDF pp. 11–12]

实现上的主要代价来自 $Se$ 要沿 $d_v$ 做归约。KDA/GDN-2 能把状态列切成独立 value tiles;DDN 的值侧读取耦合了这些列。作者使用 TileLang,每个序列、每个头分配一个 program,整份状态驻留共享内存,program 内顺序处理各块。因此小 batch 时独立 program 数量只有 batch × heads,可能无法充分利用 GPU。主要矩阵和携带状态存 BF16,矩阵乘累加用 FP32;缓存两侧三角逆和因果查询键交互,其余中间量在反向重算。[App. B,PDF p. 11]

三:实验——比较条件和指标分别说明什么

3.1 训练预算与比较角色

规模数据量(约)层数每层状态元素数训练步数峰值学习率
130M5B tokens1298,3049,500$6\times10^{-4}$
340M15B tokens24131,07230,000$4\times10^{-4}$
1B50B tokens24229,37695,000$4\times10^{-4}$

所有模型在 FineWeb-Edu 上训练,batch 为 256 条序列、每条 2,048 tokens,共用 32,000 词表的 LLaMA tokenizer。AdamW 使用 $(\beta_1,\beta_2)=(0.9,0.95)$、$\epsilon=10^{-8}$、weight decay 0.01,梯度裁剪 1.0,余弦学习率降至峰值的 10%;warmup 为 512/1,024/1,024 步。[Sec. 5,PDF p. 6;App. C,p. 12,Tables 7–8]

KDA 是直接母模型,用于衡量增添值侧机制后的收益;GDN-2 改进擦除与写入的解耦;Mamba-3 包括 SISO 和 rank-4 MIMO,是另一类状态动力学与计算强度的对照。线性注意力的 $d_k=d_v=128$,Mamba-3 的状态/头维度均为 64,使用更多头以配平每层 $n_{\mathrm{head}}d_kd_v$。每个规模也通过调整模型与 MLP 宽度匹配总参数。

因此这是同 token 预算、近似等总参数、等每层状态大小的比较。各结构宽度并不相同:例如 1B KDA 的模型/MLP 宽度为 1,760/4,864,DDN 为 1,744/4,848。结果应理解为匹配容量下的完整架构比较,不能全部归因于单独一个算子。论文表格给出点估计,没有提供多次独立训练的方差;这对 0.01 量级的困惑度差异尤其相关。

3.2 任务与统计口径

实验组检验问题指标与协议
语言建模新机制是否损害一般预测能力FW-Edu 训练 ppl:末 500 步每 10 步记录 loss,均值取指数;WT2 为 word-level ppl;另测 LAMBADA ppl,均越低越好
七项通用下游通用能力是否受益LAMBADA、PIQA、WinoGrande、ARC-E/C、OpenBookQA 用 raw accuracy;HellaSwag 用长度归一化 accuracy;表中均值越高越好
合成 NIAH固定状态能否精确保留关联RULER 四变体 × 1,024/2,048/4,096 三长度,各格 500 例;accuracy 越高越好,Avg. 是 12 格均值
六项真实检索能否迁移到真实文本召回SWDE、SQuAD Completion、FDA、TriviaQA/NQ/DROP Cloze;输入最多 2,048 tokens;contains accuracy:输出含任一可接受答案即正确
效率额外运算的实际成本H200、1B、BF16 训练吞吐/峰值 allocated memory;推理 batch 64,生成长度等于输入长度,秒数越低越好

下游和检索采用 zero-shot 的 lm-evaluation-harness;生成用 greedy decoding,真实检索最多 48 个新 token、NIAH 最多 128 个。NIAH 的 Single-1 是重复文本中的词→数字,Single-2 是文章中的词→数字,Single-3 是文章中的词→UUID,MultiKey-1 是文章中四个词→数字关联的检索。[App. C,PDF p. 12]

四:结果——主要优势在记忆召回,收益有任务差异

4.1 语言建模与通用下游

规模模型FW-Edu ppl ↓WT2 ppl ↓LAMBADA ppl ↓七任务均值 % ↑
130MKDA14.7942.5369.9137.38
130MDDN14.7842.3660.9338.03
340MKDA10.9328.1329.0942.40
340MDDN10.8827.4328.4143.44
1BKDA8.2319.0713.8650.37
1BDDN8.2219.0013.5650.59

来源:Table 2,PDF p. 7。加粗的 DDN 下游均值在各规模也是五种模型中的最高值。

DDN 对 KDA 的三类 ppl 都下降,但幅度差异很大:130M 的 LAMBADA 从 69.91 降到 60.93,下降 8.98、相对下降约 12.85%;130M 和 1B 的训练 ppl 都只下降 0.01。七任务均值分别增加 0.65、1.04、0.22 个百分点。1B 最接近的对手是 Mamba-3 MIMO,均值 50.48%,与 DDN 相差 0.11 个百分点。

平均最优不意味着逐项最优。例如 1B DDN 在 WinoGrande 上为 54.46%,低于 KDA 的 56.12%;ARC-C 为 32.85%,低于 KDA 的 33.28%。Mamba-3 MIMO 在 340M/1B 的训练 ppl 也优于 DDN。结果支持值侧更新能与一般建模能力共存,并带来小幅综合收益。

4.2 合成 NIAH:最强平均提升与明显反例并存

规模Mamba-3 SISOMamba-3 MIMOGDN-2KDADDNDDN−KDA(百分点)
130M12.9511.6526.8838.1040.57+2.47
340M35.0241.5348.5751.2053.87+2.67
1B47.2560.7369.4064.2774.52+10.25

来源:Table 3,PDF p. 7;每格为四种任务、三种长度的平均 accuracy(%)。

在 1B 下,DDN 的 Single-1 三长度全部 100%,Single-2 在 4,096 tokens 达到 80.8%,KDA 为 54.2%,GDN-2 为 56.6%;Single-3 在 1,024/2,048/4,096 tokens 分别为 97.0/83.6/36.0%,KDA 为 59.4/67.2/19.0%。这些结果与“改善有限状态中的关联保留”的解释一致。4,096 长度超过 2,048 的训练长度,但其证据范围仍是 4K 的合成检索。

需要同时读具体失败项:

任务、规模长度KDA %DDN %差值(百分点)
Single-2,340M2,04895.667.2−28.4
Single-2,340M4,09640.614.4−26.2
MultiKey-1,1B1,02434.437.6+3.2

340M 的平均提升主要由 Single-1 与 Single-3 抵消了 Single-2 的下降;MultiKey-1 的三长度也都低于 KDA。1B 的 MultiKey-1 在短长度仍弱于 Mamba-3 MIMO(1,024 tokens 为 53.2%)。论文没有解释 340M Single-2 退步的来源,不能从平均提升推出值侧重组对所有记忆冲突都更好。

4.3 真实检索:中小规模收益更明显

规模Mamba-3 SISOMamba-3 MIMOGDN-2KDADDN
130M12.8112.9815.5315.1816.18
340M20.5621.4521.5421.3123.22
1B27.6329.4531.8030.9031.20

来源:Table 4,PDF p. 8;六任务平均 contains accuracy(%)。

对 KDA,DDN 分别提高 1.00、1.91、0.30 个百分点。340M 的 FDA 为 8.71%,KDA 为 3.81%,这一单项提升较突出。到 1B,GDN-2 的 FDA 达 17.42%,DDN 仅 12.89%;GDN-2 在 SQuAD 和 TriviaQA 也更好,因而总均值领先 DDN 0.60 个百分点。

DDN 在 1B 的 NQ 最好(17.45%),却在 SWDE 上低于 KDA(32.58% 对 35.46%)。合成关联收益并未等幅迁移至每个真实检索任务,说明内容类型和查询形式会改变两类状态更新的相对优势。

4.4 效率:更高算术强度如何兑现

图 3:训练吞吐与峰值分配显存

原文 Fig. 3,PDF p. 8,来自作者原始矢量图。横轴为序列长度 × batch size,总 token 数约固定;上图越高越好、下图越低越好。蓝/橙/绿/紫/红分别为 Mamba-3 SISO、MIMO、GDN-2、KDA、DDN。

DDN 的吞吐低于 KDA/GDN-2,高于 Mamba-3 MIMO;显存稍高于 KDA,接近 GDN-2。Mamba-3 SISO 吞吐最高,也使用更多显存,因为默认保留更多前向中间量。这里各实现保留自己的默认重计算策略,比较的是当前完整实现的速度—内存取舍。到 $8K\times4$,DDN 吞吐下降,符合附录 B 对小 batch 并行度不足的分析;图中没有可直接引用的精确数据表,因此不把目测曲线值当精确吞吐数字。

1B 模型Prefill,4K (s) ↓Prefill+Decode,4K (s) ↓Prefill,8K (s) ↓Prefill+Decode,8K (s) ↓
Mamba-3 SISO1.3514.662.6927.44
Mamba-3 MIMO1.6416.703.3533.46
GDN-21.5816.533.1633.11
KDA1.3914.662.8129.34
DDN1.5716.683.1533.37

来源:Table 5,PDF p. 8。H200,batch 64,生成长度等于输入长度。

在 4K 下,DDN 相对 KDA 的 prefill 延迟增加约 12.95%,prefill+decode 增加约 13.78%;8K 下分别增加约 12.10%、13.74%。这些是对应总延迟的相对增幅。DDN 的实际成本接近 GDN-2 和 Mamba-3 MIMO,保留固定状态的优点,但没有在此设置中超过 KDA 的速度。

4.5 选择器消融:学会挑选特征有收益,但不处处占优

规模变体下游均值 %真实检索均值 %NIAH 均值 %
130MKDA37.3815.1838.10
130MDDN,$e=\hat v$37.4115.8739.45
130MDDN,带门38.0316.1840.57
340MKDA42.4021.3051.20
340MDDN,$e=\hat v$42.1623.4852.42
340MDDN,带门43.4423.2253.87

来源:Table 6,PDF p. 9。原文主结果 Table 4 的 340M KDA 检索均值是 21.31,而消融表写 21.30;此处保留各表原值,这一 0.01 差异不影响排序。

两种 DDN 都保留值侧更新,只改变选择器是否使用可学习通道门。对无门 DDN,带门版本的 NIAH 提高 1.12/1.45 个百分点,下游提高 0.62/1.28 个百分点;但 340M 真实检索反而下降 0.26 个百分点。直接证据是门控改善若干综合指标。若要进一步区分“值侧校正本身”与新增投影/宽度分配的贡献,可做固定 $\gamma=0$、保留参数路径的匹配消融;论文未提供这一控制。

五:结论——固定状态的改进来自更丰富的读写关系

DDN 把有限矩阵记忆的维护扩展到两个方向:键侧残差纠正“当前键应读出什么”,值侧残差纠正“当前值特征应从哪些地址读出”。这没有扩大状态,却让一次更新利用到更广的状态信息。代价是两侧耦合增加计算,也使原本可独立处理的 value tiles 需要归约。

最有说服力的结果是同参数、同每层状态、同 token 预算下的合成召回提升,尤其 1B 的 NIAH 平均 +10.25 个百分点;最重要的适用条件是任务与规模:340M 的 Single-2 有大幅退步,1B 真实检索未超过 GDN-2,通用语言建模的部分差异很小。这使它更适合被看作一个有明确代数实现、值得进一步研究的记忆更新机制。

对后续研究,优先的问题是解释 Single-2 的反例并检验值侧纠正何时会误伤其他关联;在保持架构与预算匹配的控制中测量该项的贡献;以及解决列耦合造成的小 batch kernel 并行度问题。前两项关系到机制理解,后一项决定这种更新在实际推理与训练预算中的吸引力。