# DeltaProduct：通过 Householder 乘积增强线性 RNN 的状态追踪

**论文**：DeltaProduct: Improving State-Tracking in Linear RNNs via Householder Products  
**作者**：Julien Siems、Timur Carstensen、Arber Zela、Frank Hutter、Massimiliano Pontil、Riccardo Grazzi  
**版本**：arXiv:2502.10297v7，2025-10-22 修订，NeurIPS 2025  
**研读与获取日期**：2026-10-20  
**链接**：[arXiv](https://arxiv.org/abs/2502.10297v7) · [原文 PDF](../source/paper.pdf) · [作者实验代码](https://github.com/automl/DeltaProduct) · [英文幻灯片](slides.en.pdf)

## 论文总览

DeltaProduct 将 DeltaNet 的“每个 token 做一次 Delta 更新”扩展为“每个 token 生成多组 key/value，并顺序做 $n_h$ 次更新”。这使单个 token 对记忆的作用从一个广义 Householder 变换，变为多个这类变换的乘积：它能表达旋转、更多置换和更丰富的遗忘，同时保留状态转移谱范数不超过 1 的结构保证。

最值得把握的三个结论是：

1. **增加每个 token 的更新步数，改变的是单步状态转移的结构。** 模型仍然对旧状态线性，推理仍只需保留固定大小的矩阵记忆；当维度不变时，递归计算量随 $n_h$ 增长。
2. **表达能力、可学习性和长度外推是三个不同层次。** 作者给出单层 $n_h=n-1$ 求解 $S_n$ 群词问题的构造，也证明更小 $n_h$ 配合有限层数可以完成任务，但后者可能需要极大的查表 MLP。实验中增加 $n_h$ 比单纯堆深更有效，长序列末端仍可能失败。
3. **语言建模收益有匹配参数的证据，收益并非随 $n_h$ 单调增长。** 例如 805M 参数、55B FineWeb token、4096 训练上下文、按 head dimension 匹配时，DeltaProduct$_3$ 的 LAMBADA 困惑度从 DeltaNet 的 20.57 降至 15.56，六项平均准确率从 48.55 升至 49.95；392M 设置下则是 $n_h=2$ 的平均分更高。（Table 3，PDF p.32）

## 结构地图

下文页码均为从 1 开始的 PDF 页码，与本版本正文印刷页码一致。

| 原文章节 | 在论证中的作用 | PDF 页码 / 关键证据 |
| --- | --- | --- |
| 1 Introduction | 效率与转移矩阵表达能力之间的矛盾 | pp.1–2，Fig.1 |
| 2 Background | 线性 RNN、DeltaNet、群词问题 | pp.2–3，Eq.(1)–(2) |
| 3 Related Work | 与 DeltaNet、RWKV-7、深度递归的关系 | pp.3–4 |
| 4 DeltaProduct | 多步更新、矩阵乘积、门控与几何 | pp.4–6，Eq.(3)，Fig.2–3 |
| 4.1 State-Tracking Capabilities | 层数与 $n_h$ 的理论关系 | pp.5–6，Theorem 1–2，Table 1 |
| 5.1 Implementation | 扩展递归序列、内核复用与吞吐 | pp.6–7，Fig.4 |
| 5.2 State-Tracking | 群任务、增加步数与增加层数、旋转分析 | pp.7–8，Fig.5–7 |
| 5.3 Language Modeling | 长度外推、有效秩、规模扩展 | pp.8–10，Fig.8–10 |
| 6 Conclusion and Future Work | 计算成本与后续方向 | p.10 |
| Appendix A | 相同 key、正交 key 与复特征值条件 | pp.17–18，Proposition 1，Fig.11 |
| Appendix B.1–B.6 | 理论假设、群与自动机构造、稳定性 | pp.19–28 |
| Appendix C.1–C.2 | 状态追踪协议、形式语言结果 | pp.28–31，Fig.12–13，Table 2 |
| Appendix C.3 | 训练配置、完整语言基准、32K 外推 | pp.31–39，Table 3–6，Fig.14–21 |

## 一：动机——固定大小的记忆，能执行多复杂的状态变化？

线性循环神经网络（linear RNN）的一层可写为

$$
H_i=A(x_i)H_{i-1}+B(x_i),\qquad
\hat y_i=\operatorname{dec}(H_i,x_i).
$$

这里“线性”指对旧状态 $H_{i-1}$ 的递推关系；$A$、$B$ 可以是输入的非线性函数，层间也有非线性。矩阵状态将历史压缩为固定大小的记忆，仿射递推的可结合结构又允许训练时沿序列做并行扫描或分块计算。（Sec.2，PDF pp.2–3，Eq.(1)）

关键问题在 $A(x_i)$。对角矩阵只按坐标缩放旧记忆，计算便宜，但难以实现复杂的坐标间转换。一般稠密矩阵的表达能力强，却难以兼顾训练效率与稳定性。DeltaNet 使用

$$
A_i=I-\beta_i k_i k_i^\top,
$$

已经能让记忆坐标交互，但每个 token 只改变一个方向。DeltaProduct 询问：**能否让一个 token 在记忆中执行一串受控的线性操作，并用操作数量调节能力与成本？**

状态追踪（state tracking）为这一问题提供了直接测试。给定一串操作 $x_1,\ldots,x_t$，模型要输出累计结果

$$
y_i=x_i\cdot x_{i-1}\cdots x_1.
$$

群词问题（group word problem）中的“词”是群元素组成的序列。以置换群 $S_n$ 为例，输入不断重排 $n$ 个对象，模型必须持续跟踪最终排列。操作顺序通常不能交换；仅记住出现过哪些操作无法完成任务。本文讨论的群表达能力以有限群为背景。（Sec.2，PDF p.3）

与相关工作的关系也要分清：允许 DeltaNet 的 $\beta$ 超过 1、从而出现负特征值，是作者明确承接的既有工作；本文进一步系统化多步 Householder 乘积、给出更细的深度构造，并提供状态追踪和语言建模实验。（Sec.3，PDF pp.3–4）

## 二：方法——一次写入变成一串有顺序的记忆修正

### 2.1 符号与一次 Delta 更新

| 符号 | 含义与维度 |
| --- | --- |
| $x_i\in\mathbb R^\ell$ | 当前层第 $i$ 个 token 的输入 |
| $H_i\in\mathbb R^{n\times d}$ | 该 head 的矩阵记忆 |
| $k_{i,j}\in\mathbb R^n$ | 第 $j$ 步的单位范数 key |
| $v_{i,j}\in\mathbb R^d$ | 第 $j$ 步的 value |
| $\beta_{i,j}$ | 第 $j$ 步的更新强度，范围为 $[0,1]$ 或 $[0,2]$ |
| $n_h$ | 每个 token 内 Householder 因子的数量，**不是 head 数** |
| $q_i\in\mathbb R^n$ | 用于读出最终记忆的 query |
| $g_i\in[0,1]$ | Gated 版本的每 token 遗忘门 |

DeltaNet 把记忆看成一个从 key 到 value 的线性映射，对关联回忆损失执行一步在线梯度下降：

$$
\mathcal L_i(H)=\frac12\|H^\top k_i-v_i\|_2^2,
$$

$$
H_i=H_{i-1}+\beta_i k_i
\bigl(v_i-H_{i-1}^\top k_i\bigr)^\top.
$$

括号内是当前记忆对该 key 的预测误差。更新先沿 key 方向删除部分旧预测，再写入目标 value；其余正交方向保持不变。由于 key 已归一化，当 $\beta=1$ 时，这一次更新会使新记忆在该 key 上精确输出 $v_i$。（Sec.2，PDF p.3，Eq.(2) 及其后的推导）

### 2.2 一个 token 产生多组不同的监督对

对同一个输入 $x_i$，DeltaProduct 生成

$$
k_{i,j}=\frac{\psi(W_jx_i)}{\|\psi(W_jx_i)\|_2},\quad
v_{i,j}=V_jx_i,\quad
\beta_{i,j}=\phi(U_jx_i),
$$

其中 $\psi$ 取 SiLU，$\phi$ 取 sigmoid 或 $2\,\mathrm{sigmoid}$，不同 $j$ 有各自的投影参数。然后顺序执行

$$
H_{i,j}=
\underbrace{(I-\beta_{i,j}k_{i,j}k_{i,j}^\top)}_{F_{i,j}}
H_{i,j-1}
+\underbrace{\beta_{i,j}k_{i,j}v_{i,j}^\top}_{C_{i,j}},
$$

$$
H_{i,0}=H_{i-1},\qquad H_i=H_{i,n_h}.
$$

这对应对不同损失 $\mathcal L_{i,j}$ 逐步下降。增加步数时增加了可学习的 key/value 视角；把完全相同的 key 重复使用，会丢失关键的结构收益。（Sec.4，PDF p.4）

这一“梯度下降”是网络前向中的快速记忆更新。模型的投影参数仍由外层训练学习；推理时不需要为这些参数运行一次通用优化器。

### 2.3 展开乘积时，顺序和写入项都重要

将原文 Eq.(3) 的乘积按实际执行顺序明确写开：

$$
A_i=F_{i,n_h}\cdots F_{i,2}F_{i,1},
$$

$$
B_i=\sum_{j=1}^{n_h}
F_{i,n_h}\cdots F_{i,j+1}\,C_{i,j},
$$

其中空乘积为 $I$。早执行的矩阵位于右侧，早写入的内容还会受到后续操作影响。

例如 $n_h=2$：

$$
H_i=F_{i,2}F_{i,1}H_{i-1}+F_{i,2}C_{i,1}+C_{i,2},
$$

$$
\begin{aligned}
A_i={}&I-\beta_{i,1}k_{i,1}k_{i,1}^\top
-\beta_{i,2}k_{i,2}k_{i,2}^\top\\
&+\beta_{i,1}\beta_{i,2}
(k_{i,2}^\top k_{i,1})k_{i,2}k_{i,1}^\top.
\end{aligned}
$$

最后的交叉项体现了更新顺序，通常使矩阵不对称。直接把多个 rank-1 更新相加，会遗漏这一项以及早期写入被后续步骤变换的效果。

准确的秩结论是

$$
\operatorname{rank}(A_i-I)\le n_h,
$$

而非 $\operatorname{rank}(A_i)=n_h$。即使只有一个因子，$A_i$ 也通常是满秩矩阵。增加 $n_h$ 扩大的是**相对恒等变换能够改变的子空间**。（Sec.4，PDF pp.4–5）

### 2.4 为什么乘积可以表达旋转？

单位 key 对应的单个因子 $F=I-\beta kk^\top$ 有两类特征值：

$$
Fk=(1-\beta)k,\qquad Fu=u\quad\text{若 }u^\top k=0.
$$

因此 $\beta=0$ 是恒等变换，$\beta=1$ 是投影，$\beta=2$ 是关于超平面的反射。两个不同方向的反射可以组成旋转，而单个实对称因子无法产生非实特征值。

**教学例子：用两步更新实现模 3 计数。** 令 $B_i=0$，两个 key 分别为

$$
k_1=(1,0)^\top,\qquad k_2=(1/2,\sqrt3/2)^\top,\qquad
\beta_1=\beta_2=2.
$$

则

$$
F_2F_1=
\begin{pmatrix}
-1/2&-\sqrt3/2\\
\sqrt3/2&-1/2
\end{pmatrix},
$$

即每步旋转 $120^\circ$。状态从 $(1,0)^\top$ 出发，经历三个位置后回到初始状态向量，可以用三种方向表示计数余数。这是对论文几何机制的教学推导。（原理见 Fig.3，PDF p.5；模计数构造见 Appendix B.2，p.22）

两类退化情况解释了为什么需要不同的 key：

- **所有 key 相同**：乘积仍等效于单个因子，$\beta_{\mathrm{eff}}=1-\prod_j(1-\beta_j)$。
- **key 两两正交**：因子可交换，$A=I-\sum_j\beta_jk_jk_j^\top$，仍然对称。

要得到一般旋转，两个 key 应既不平行也不正交，并满足系数与夹角条件。令 $c=k_1^\top k_2$，在两者张成的平面内，

$$
\tau=2-\beta_1-\beta_2+\beta_1\beta_2c^2,\qquad
\delta=(1-\beta_1)(1-\beta_2),
$$

复特征值的精确条件为 $\tau^2-4\delta<0$。$\beta_1,\beta_2>1$ 是必要条件，单独使用它还不充分；原文 Appendix A 结尾的 “if and only if” 表述需要保留前面推导中的夹角条件。（PDF pp.17–18）

因此，论文模型后缀 $[-1,1]$ 应理解为**单个 Householder 因子的特征值范围**。多个因子的乘积可能有复特征值，其模不超过 1，不能把它们一概说成落在实区间 $[-1,1]$。

### 2.5 稳定性的保证具体是什么？

当 $\|k\|_2=1$、$\beta\in[0,2]$ 时，

$$
\|F\|_2\le1,\qquad
\|A_i\|_2\le\prod_{j=1}^{n_h}\|F_{i,j}\|_2\le1.
$$

因而对任意长度，

$$
\|A_tA_{t-1}\cdots A_1\|_2\le1.
$$

这保证历史状态及其扰动不会被**这条线性递归乘积**放大。它没有要求整个神经网络的梯度都不增长，也不单独保证带任意持续写入 $B_i$ 的状态范数有统一上界。例如 $A_i=I$、每步加入相同非零 $B$ 时，状态仍可线性增长。（Sec.4，PDF p.5；Appendix B.6，pp.27–28）

这也说明乘积优于直接相加的一项结构性质：若两个 key 相同且 $\beta_1=\beta_2=2$，乘积是 $I$；直接相加得到 $I-4kk^\top$，沿 $k$ 的特征值为 $-3$，会放大状态。

### 2.6 Gated DeltaProduct：先整体遗忘，再执行多步修正

Gated 版本将旧状态先乘以一个标量门：

$$
H_{i,0}=g_iH_{i-1},\qquad
A_i=g_iF_{i,n_h}\cdots F_{i,1}.
$$

$B_i$ 保持不变，仍满足 $\|A_i\|_2\le1$，且 $\operatorname{rank}(A_i-g_iI)\le n_h$。门可以一次消除所有旧方向的影响，而每步 Delta 更新只沿一个方向作用。这两种遗忘机制可以互补。

可按以下概念伪代码理解一层的递归；实际训练使用并行内核：

```text
for token i:
    从 x_i 生成 q_i 和 n_h 组 (k_ij, v_ij, beta_ij)
    H = g_i * H                      # 非门控模型取 g_i = 1
    for j in 1..n_h:
        error = v_ij - transpose(H) @ k_ij
        H = H + beta_ij * outer(k_ij, error)
    output_i = decoder(transpose(H) @ q_i, x_i)
```

输入投影、读出、归一化和 MLP 继承 Gated DeltaNet 的宏观结构；$n_h$ 次内部更新期间只有一个共享的矩阵状态。（Sec.4、5.1；Appendix B.1）

## 三：理论分析与实验设计

### 3.1 群词问题：用更新步数换取层数或查表规模

Theorem 1 给出的充分配置为：

| 要解决的问题 | 层数 | 每 token 的 $n_h$ | 关键代价 |
| --- | --- | --- | --- |
| 任意给定 $S_n$ 群词问题 | 1 | $n-1$ | 一次 token 更新直接完成该置换 |
| 同上 | 3 | 任意 $n_h>1$ | 中间 MLP 要实现大规模查表 |
| 同上 | 4 | $n_h=1$ | 查表通常更大 |

第一种构造很直观。取 $H_0=(1,\ldots,n)^\top$，$B_i=0$，把群元素映射为置换矩阵。一对坐标的交换可用

$$
k=(e_a-e_b)/\sqrt2,\qquad\beta=2
$$

实现。任意 $n$ 元置换最多需要 $n-1$ 次交换，因此最多 $n-1$ 个反射足够。这是一个通用上界；特定群的低维表示可能更省。

当 $n_h$ 较小时，作者将输入分成长度

$$
m=\left\lceil\frac{n-1}{n_h}\right\rceil
$$

的块。前面的层计算位置模 $2m$，保存最近 $2m$ 个 token，再查表把上一个块的整体置换拆成后续 $m$ 步能处理的小变换。最后一层的递归因此落后于输入；decoder 补上尚未完成的变换以及当前块内的操作。（Appendix B.2，PDF pp.21–22）

关键代价是查表大小

$$
\mathrm{LS}=2m(n!)^{2m}.
$$

以 $S_5$ 为例，$n_h=2$ 时已有 $4\cdot120^4=829{,}440{,}000$ 种查表组合；$n_h=1$ 时为 $8\cdot120^8\approx3.44\times10^{17}$。这些是按原文公式计算的组合数，不是论文训练模型的实际参数量。它们解释了为何“4 层存在一个解”和“训练一个普通 4 层网络能学会”之间有很大距离。

理论还假设：各层能访问之前各层输出；初始状态可按任务设定且秩不超过 $n_h$，或由 BOS 写入；参数生成函数与 decoder 有足够容量在有限输入集合上实现所需函数。原文将其称为有限精度构造，所需可区分状态数依任务而定；这不直接给出常规浮点训练网络在任意长度上的数值误差界。（Appendix B.1，PDF pp.19–20）

### 3.2 旋转表示解释了特定群为何只需要两步

Theorem 4 表明，若有限群同构于 $\mathrm O(n_h)$ 的子群，或在偶数 $n_h$ 时同构于 $\mathrm{SO}(n_h+1)$ 的子群，则可利用这些正交表示求解群词问题。（Appendix B.2，PDF p.22）

当 $n_h=2$ 时：

- $S_3$ 可通过等边三角形的二维旋转与反射表示，即 $D_3$。
- $S_4$ 同构于立方体的三维旋转群，旋转会置换四条空间对角线。
- $A_5$ 同构于正十二面体的三维旋转群。

三维旋转可由两个平面反射组成，所以 $S_4$、$A_5$ 不必采用直接置换矩阵所需的通用反射数。Appendix B.5 进一步构造了仅用 $n_h=1$ 的两层 DeltaNet 求解二面体群：第一层保存旋转与反射的奇偶性，第二层据此选择反射和解码规则。（Theorem 7，PDF pp.25–27）

**原文的一处实质错误**：Appendix C.1（PDF p.29）把正十二面体的完整对称群写成 $S_5$。它实际为 $A_5\times C_2$。可以直接用中心反演检验：完整对称群包含与所有变换可交换的非恒等反演，而 $S_5$ 的中心平凡，所以二者不同构。这不影响 $S_4$、$A_5$ 的上述旋转解释，也不影响 $S_5$ 用四个交换因子的通用构造。

### 3.3 从群推广到正则语言：遗忘门承担 reset

Theorem 2：对任意 $n_h\ge1$ 和任意给定正则语言，存在有限层的 Gated DeltaProduct 能识别它；**层数依赖于语言**。（Sec.4.1，PDF p.5）

证明用 Krohn–Rhodes 分解把有限状态自动机拆成多个 permutation-reset 自动机的级联。每个子自动机只需完成两类行为：置换已有状态，或将所有旧状态重置为一个状态。Householder 乘积实现置换；$g_i=0$ 配合 $B_i$ 写入指定状态，实现 reset。随后将各子自动机级联。（Appendix B.3，PDF pp.23–24）

RWKV-7 的非对称 rank-1 结构还可表示复制型转移；这类矩阵可能有大于 1 的谱范数。本文证明，把多个 RWKV-7 矩阵相乘，可在一个层内表示任意 $n$ 状态自动机的转移，充分条件是 $n_h=n$、使用其 $c=2$ 设置。这是结构上的理论扩展，语言实验实际研究的是 Householder 版本。（Remark 1，PDF p.6；Theorem 6，p.24）

### 3.4 实验分为四组，比较预算不能混用

| 实验 | 要回答的问题 | 设置与指标 |
| --- | --- | --- |
| 群状态追踪 | 增加更新步数是否优于加深网络？ | $S_3,S_4,A_5,S_5$；训练长度 128，测试至 512；按位置统计准确率，越高越好 |
| 形式语言 | 能否推广到更长的算法序列？ | 训练长度 3–40，测试 40–256；scaled accuracy，0 表示随机猜测、1 表示完美 |
| 语言建模 | 同等参数下，多步更新是否有效？ | FineWeb；213M/392M/805M 对应 19B/35B/55B token；训练上下文 4096 |
| 系统与长度外推 | 成本与训练长度外的行为如何？ | 1.3B 参数模型在 H100 上测训练吞吐；长文评估覆盖 16K 与附录 32,768 token |

群实验采样 200 万训练序列、50 万测试序列，单层对照使用 12 heads、head dimension 32，训练 100 epochs，AdamW 学习率 $10^{-3}$，没有长度课程。（Appendix C.1，PDF p.29）

语言模型的有效 batch 为 524,288 token，学习率 $3\times10^{-4}$，AdamW weight decay 0.01，512 步 warm-up 后余弦退火。平均准确率汇总 LAMBADA、PIQA、HellaSwag、Winogrande、ARC-easy、ARC-challenge 六项；HellaSwag、ARC-challenge 使用表中标记的归一化准确率 `acc_n`，其余用 `acc`。Wiki 与 LAMBADA 的困惑度越低越好，不计入准确率平均。（Appendix C.3，PDF pp.31–32）

“按 head dimension 匹配参数”与“按 head 数匹配参数”是两套独立训练结果；同一预算档可比较不同 $n_h$，不同预算档同时改变了参数和训练 token 数。

## 四：结果——结构收益明确，实际增益依赖任务与预算

### 4.1 实现与吞吐：递归变长，整个模型不一定等比例变慢

实现把每个 token 的 $n_h$ 组 key/value 展开成更长的内部序列：

$$
(k_{1,1},\ldots,k_{1,n_h},k_{2,1},\ldots,k_{2,n_h},\ldots).
$$

遗忘门展开为 $(g_1,1,\ldots,1,g_2,1,\ldots,1,\ldots)$，每个原 token 只应用一次门；运行 DeltaNet 式分块内核后，仅保留每组最后一步输出。这样可以复用已有高效实现。（Sec.5.1，PDF pp.6–7）

固定 head 形状时，每步对矩阵状态的更新为 $O(nd)$，全序列递归工作量约为 $O(Tn_hnd)$，推理状态仍为 $O(nd)$。这是根据更新式得到的复杂度；额外投影参数和计算也随 $n_h$ 增加。原文强调递归部分训练及 prefill 成本随 $n_h$ 线性增长，而固定 embedding 维度时后续 MLP 的成本不变。

![原文图4：匹配参数后的训练吞吐](figures/fig-04-throughput.png)

原文 Fig.4，PDF p.7。横轴是训练序列长度 × batch size，每组总 token 数相同；纵轴是 token/s。上排通过 head 数匹配参数，下排通过 head dimension 匹配，颜色对应 $n_h=1,2,3$。

图中 head 数匹配的吞吐损失相对温和；head dimension 匹配在 $n_h=2$ 时更不利，作者归因于非二次幂维度被内核 padding。Appendix Fig.14（p.31）改为缩小 SwiGLU 宽度时，随 $n_h$ 增加的吞吐下降更明显。参数匹配方式同时改变计算形状，因此不能只用 $n_h$ 推算端到端速度。

正文还报告特定优化内核相对 DeltaNet 内核的 forward pass 快 20%。该数字不能直接当成完整 DeltaProduct 模型的训练或自回归生成提速；Fig.4 展示的是完整训练吞吐的实际比较。

### 4.2 群状态追踪：多步更新改善学习和外推，但曲线仍会衰减

![原文图5：增加更新步数与增加网络层数](figures/fig-05-state-tracking.png)

原文 Fig.5，PDF p.7。四列依次为 $S_3,S_4,A_5,S_5$；横轴是序列位置，纵轴为准确率。上排固定一层、改变 $n_h$；下排固定 $n_h=1$、改变层数。竖虚线为训练长度 128。

上排显示，多次更新使模型能在单层中学习更复杂的操作：$S_3$ 的 $n_h=2$ 明显优于 $n_h=1$；$S_5$ 需要实验中的 $n_h=4$ 才取得较好的训练范围表现和向外延伸。$S_4$ 与 $A_5$ 在 $n_h=2$ 时已经出现明显收益，与三维旋转表示的解释相符。

**应按曲线理解外推程度。** $S_4$、$A_5$ 的 $n_h=2$ 曲线到较长位置仍显著下降；$S_5$ 的 $n_h=4$ 曲线在接近 512 时也降至很低。正文使用“robustly extrapolate”描述部分情况，但 Fig.5 更具体地支持“延后失败、扩大有效长度范围”，没有显示所有任务在 512 位置都维持完美准确率。

下排说明增加深度的实践效果较弱。正文报告，拟合训练范围时 $S_3$ 需要 3 层、$S_4$ 需要 6 层、$A_5$ 需要 3 层；$S_5$ 即使用 10 层也不足。这与理论的宽 MLP 构造并不矛盾。

将 $\beta$ 限制在 $[0,1]$ 时，Fig.12 的单层模型很快退化，通常无法在训练长度处维持表现；多层曲线中存在局部例外，不能说每个配置都在 128 之前完全失败。Fig.12 图注末尾关于“$S_3$ 单层两步学会”的句子与该图曲线不符，应以曲线及其负向对照的目的为准。（PDF p.29）

### 4.3 机制探针：一个 head 学到了接近三维旋转的表示

![原文图7左：两次更新的beta](figures/fig-07-beta.png)

![原文图7右：key的PCA解释方差](figures/fig-07-pca.png)

原文 Fig.7，PDF p.8。左图按 $S_4$ 的 24 个置换排列，展示选中 head 的两组 $\beta$；两者均接近 2，意味着两步都接近反射。右图横轴是 PCA 成分数，纵轴是累计解释方差，前三个成分超过 95%。

两项观察支持该 head 利用“两个反射组成三维旋转”的机制。Appendix Fig.13（p.30）显示，12 个 head 中只有 head 6 呈现这组清晰模式；因此这是对特定 head 的机制证据，不能解释成所有 head 都采用相同算法。PCA 和 $\beta$ 分析也没有逐项验证全部群乘法关系。

### 4.4 语言基准：同参数下有收益，中等规模下两步可能更优

以下选取原文 Table 3 的核心列，所有模型均为 $[-1,1]$ 设置，训练上下文 4096，以 head dimension 调整实现每档参数匹配。

| 参数 / 训练 token | 模型 | Wiki PPL ↓ | LAMBADA PPL ↓ | LAMBADA acc ↑ | 六项平均 ↑ |
| --- | --- | ---: | ---: | ---: | ---: |
| 213M / 19B | DeltaNet | 32.39 | 107.41 | 20.4 | 40.23 |
| 213M / 19B | DeltaProduct$_2$ | 31.46 | 78.98 | 23.9 | 40.88 |
| 213M / 19B | DeltaProduct$_3$ | 30.94 | 70.50 | 24.6 | 41.01 |
| 392M / 35B | DeltaNet | 25.50 | 40.32 | 30.2 | 43.70 |
| 392M / 35B | DeltaProduct$_2$ | 24.82 | 34.31 | 33.3 | **45.08** |
| 392M / 35B | DeltaProduct$_3$ | 24.81 | 37.13 | 31.1 | 44.10 |
| 805M / 55B | DeltaNet | 20.81 | 20.57 | 37.8 | 48.55 |
| 805M / 55B | DeltaProduct$_2$ | 20.54 | 19.56 | 38.3 | 49.00 |
| 805M / 55B | DeltaProduct$_3$ | 20.01 | 15.56 | **42.9** | **49.95** |

来源：Table 3，PDF p.32。准确率列按原文百分数尺度呈现。

805M 下，三步相对一步的 LAMBADA PPL 下降约 **24.36%**，LAMBADA 准确率提高 **5.1 个百分点**，六项平均提高 **1.40 个百分点**。392M 下，两步的平均分提高 **1.38 个百分点**，且优于三步。原表还显示个别任务下降，例如 805M 的 Winogrande 从 55.6 降到 53.0，收益不是每个任务都一致。

改用 head 数匹配时，Table 4 的六项平均如下：

| 参数 / token | DeltaNet | DeltaProduct$_2$ | DeltaProduct$_3$ |
| --- | ---: | ---: | ---: |
| 213M / 19B | 40.17 | 40.35 | **41.02** |
| 392M / 35B | 43.83 | **44.98** | 44.15 |
| 805M / 55B | 48.22 | 49.13 | **49.40** |

来源：Table 4，PDF p.32。两种匹配方式都支持平均收益，同时都显示 392M 时两步优于三步。Fig.10、21 则展示 FineWeb 困惑度随规模下降的趋势；匹配参数并不意味着匹配 FLOPs、训练时长或状态容量。

Table 5 另列训练上下文为 2048 的结果。相同 35B FineWeb token、392M 参数时，12-head DeltaNet 的平均分为 44.3，8-head DeltaProduct$_2$ 为 45.5。Gated DeltaNet 的 45.9 与 Gated DeltaProduct$_2$ 的 46.4 对应 340M 与 393M，含参数增量。表上半部 Transformer++、Mamba、GLA 等使用 15B SlimPajama，不能把与下半部的差值全部归因于架构。（PDF p.32）

### 4.5 长度外推：训练范围外的损失上升被显著抑制

![原文图8：语言模型的长度外推](figures/fig-08-length.png)

原文 Fig.8，PDF p.9。三列依次为 CodeParrot、TriviaQA、OpenThoughts-114k-Math；横轴是序列位置，纵轴是 next-token loss，越低越好；竖线为训练上下文 4096。曲线使用 501-token 移动平均。紫色表示 DeltaNet，蓝色两步，绿色三步；虚线/点线区分增加 head 数的 DeltaNet 对照。

CodeParrot 和数学数据上，一步模型在超过训练长度后损失继续上升，两步显著减轻，三步更平稳。TriviaQA 的收益较小且有局部起伏。关键控制是：392M、8-head DeltaProduct$_2$ 与 392M、12-head DeltaNet 参数相同，外推优势仍存在。

这里的指标是这些语料上的 token 预测损失；TriviaQA 曲线不是直接的问答准确率，OpenThoughts 曲线也不是数学解题成功率。

附录扩展到 32,768 token：Fig.16 比较普通和门控版本，固定其余配置时增加 $n_h$ 也会增加参数；Fig.17–18 再按三个规模匹配参数，避免仅依赖这一变化。其中门控进一步改善部分设置，说明更多方向的 Delta 遗忘不能完全替代整体遗忘门。（PDF pp.33–36）

### 4.6 有效秩：为“更好遗忘”提供线索

作者用矩阵状态的有效秩（effective rank）考察奇异值分布：

$$
\operatorname{erank}(H)=
\exp\!\left(-\sum_k p_k\log p_k\right),\qquad
p_k=\frac{\sigma_k}{\sum_j\sigma_j},
$$

其中 $\sigma_k$ 为奇异值。对非零 $H$，有

$$
1\le\operatorname{erank}(H)\le\operatorname{rank}(H).
$$

奇异值越均匀分布在多个方向上，有效秩越高；集中于少数方向时越低。

![原文图9：不同模型的记忆有效秩](figures/fig-09-effective-rank.png)

原文 Fig.9，PDF p.9。四列依次为 DeltaProduct$_3$、DeltaNet、Gated DeltaProduct$_3$、Gated DeltaNet；展示第 20/24 层、8 个 heads 中的 4 个。彩线表示 head，细实竖线标记新问答序列，虚竖线为训练长度。

普通 DeltaNet 的有效秩在训练长度之外继续明显上升；DeltaProduct 的部分 heads 更能随片段边界调整，门控模型的边界响应尤其明显。作者据此提出：一步更新来不及清理越来越多旧方向，导致测试时状态分布偏离训练；多步更新改善这一过程。Fig.19–20 展示更多层及 CodeParrot 上的状态动态。（PDF pp.37–38）

其结构直觉是：若要通过 $\beta=1$ 的投影清除一般 $n$ 维旧状态，需覆盖 $n$ 个独立方向；一步模型至少需要 $n$ 次这样的更新，多步模型可将其压缩至约 $\lceil n/n_h\rceil$ 个 token。这个推导说明可用的遗忘能力，不表示学到的 key 一定恰好形成清零基。

**有效秩应理解为谱形状指标。** 对非零缩放，$\operatorname{erank}(cH)=\operatorname{erank}(H)$，它不直接衡量存储内容是否有用或状态大小。正文说有效秩“接近零”与其给出的下界不符，应读成降到低值；零矩阵时上述归一化公式本身未定义。因此该分析支持遗忘机制的解释，尚未隔离出因果关系。

### 4.7 形式语言：带括号算术改善，平均分并不统一提高

下表摘自 Table 2，保留扩展范围模型。所有结果均为 **3 次训练中选择最佳一次**，分数为 scaled accuracy，训练长度 3–40、测试长度 40–256。baseline 来自作者引用的先前研究。

| 模型 | Parity | 无括号模算术 | 有括号模算术 | 平均 |
| --- | ---: | ---: | ---: | ---: |
| DeltaNet | 0.982 | **0.915** | 0.281 | 0.726 |
| DeltaProduct$_2$ | 0.896 | 0.887 | 0.329 | 0.704 |
| DeltaProduct$_3$ | 0.932 | 0.736 | 0.330 | 0.666 |
| DeltaProduct$_4$ | **0.982** | 0.893 | **0.342** | **0.739** |

来源：Appendix C.2，Table 2，PDF pp.29–31。

最稳定的正向现象是带括号模算术从 0.281 提高到 0.329–0.342；该任务需要处理嵌套结构。两步和三步在其他任务上的下降使平均分低于 DeltaNet，仅四步的平均分更高。正文附录中“$n_h\ge2$ 的平均准确率更高”的概括与该表不一致。

在 $[0,1]$ 设置下，平均分确实从 DeltaNet 的 0.263 提高到 0.305、0.325、0.317，但仍明显低于扩展范围的主要结果。形式语言实验因此同时说明了更新步数与反射能力的重要性，也展示了任务之间的取舍。

## 五：结论——应把更新步数视为一种结构容量

DeltaProduct 提供的设计视角是：除了增加隐藏维度、head 数和网络深度，还可以增加**一个 token 对同一记忆执行的有序线性操作数**。每次操作仍然简单，组合后却能形成单次更新无法表达的几何变换；这种结构既服务于群操作，也可能改善记忆清理。

从本文证据出发，较有支撑的判断是：在所测规模，$n_h=2$ 或 3 能改善多项语言建模结果与长度外推，复杂群任务则可能需要更高步数。选择步数时要结合任务、参数分配和内核形状，不能假定越多越好。主要预算代价是额外投影和更长的内部递归，而非必然扩大每个 head 的缓存矩阵。

理论的核心优势是可以明确控制转移乘积的范数，同时扩大可表达的变换集合。这里还需修正 Appendix B.6 的一个表述：原文把“所有前缀乘积有有界范数”与“这些乘积的谱半径都不超过 1”写成等价，后者对一般矩阵并不充分。反例为

$$
J=\begin{pmatrix}1&1\\0&1\end{pmatrix},\qquad
\rho(J^t)=1,\quad
J^t=\begin{pmatrix}1&t\\0&1\end{pmatrix},
$$

其范数随 $t$ 增长。DeltaProduct 的有效保证来自更强的 $\|A_i\|_2\le1$，不依赖这一错误等价。

同一附录对 RWKV-7 给出了一组允许参数对应的矩阵，单个矩阵的特征值受控，但交替乘积的谱半径约为 1.2303，因而可指数增长。推导中 $k,k'$ 的前置定义与随后矩阵式对调；以明确列出的矩阵为准，反例成立。它说明该参数化没有对所有输入和参数提供同样的稳定保证，不能据此断言实际训练的所有 RWKV-7 都会失稳。（PDF pp.27–28）

后续最直接的问题是：能否按 token 自适应选择 $n_h$，在需要复杂状态变化时增加计算；能否用参数共享或低秩投影降低额外成本；以及能否通过控制遗忘门、key 方向和状态动态的干预实验，进一步区分长度外推收益的来源。本文把这些方向留作未来工作。
