# HOLA：为线性注意力补充选择性精确记忆

论文：**A Hippocampus for Linear Attention: An Exact Memory for What the Recurrent State Forgets**。作者：Wanyun Cui，Shanghai University of Finance and Economics（上海财经大学）。版本：**arXiv:2607.02303v1**，提交于 2026-07-02；本次获取与研读日期：2026-09-22，修订 r1。

[arXiv 页面](https://arxiv.org/abs/2607.02303v1) · [本地原文 PDF](../source/paper.pdf) · [作者主 TeX](../source/tex/files/main.tex) · [英文汇报 PDF](slides.en.pdf) · [可编辑幻灯片](slides.en.tex)

材料与范围：已读取主 TeX 及其实际引用的 Introduction、Related Work、Method、Experiments、Conclusion and Limitations、Appendix A 和两份绘图源码，并用同版本 12 页 PDF 核验公式编号、图表、页码和数值。源码获取状态为 `available`。本笔记覆盖全部实质章节与唯一附录；参考文献用于核对比较对象的出处，未独立复现或全面核验被引论文。下文 PDF 页码从 1 开始，本论文与印刷页码一致。所有补充推导、例子和判断均明确区分于作者实验。

## 论文总览

HOLA（Hippocampal Linear Attention）保留 Gated DeltaNet（GDN）的递归矩阵状态，同时在每层加入容量固定的精确键值（KV）缓存。状态处理可压缩的历史规律，缓存保存一部分值得直接检索的具体关联。两个设计缺一不可：**按已经计算出的写入幅度 $\beta_t\lVert e_t\rVert$ 选择条目，用独立的 RMSNorm-$\gamma$ 路径读取缓存。** 前者决定保留什么，后者避免读出成为近似均匀的平均。

最可信的主证据是作者自己的同骨干比较：340M 参数、15B SlimPajama 训练 token、训练长度 2048 时，Wikitext-103 困惑度由 GDN 的 27.32 降至 22.92（相对降低 16.1%）；RULER S-NIAH-1 在 32k 长度时由 0.14 升至 0.58。相同缓存预算的 recency 对照分别是 25.04 和 0.24，支持“选择保留哪些 KV”具有额外价值。来源：Table 1，PDF p.7；Fig.1b，PDF p.1；Sec.4.4–4.5，PDF pp.8–9。

“Exact”描述被保留 KV 没有经过递归状态的有损压缩，不表示所有历史都被保留，也不表示 softmax 一定返回正确答案。主规模实验为单随机种子，论文没有给出主结果置信区间；不能把困惑度和检索收益扩大为一般推理能力或普遍速度优势。

![图1：困惑度与单针检索随长度变化](figures/fig-01-overview.png)

原 Fig.1，PDF p.1，直接裁自原文，未更改数据。左图纵轴为困惑度、越低越好，且从 20 起始，柱高差不能当作相对比例；右图横轴为 2k–32k 上下文长度、纵轴为 S-NIAH-1 recall。绿色为 HOLA，橙色为 recency，灰色为 GDN，蓝色为 Transformer++。右图体现相对长度鲁棒性，同时显示 HOLA 在 32k 仍降到 0.58。

## 结构地图

| 原文章节 | 在论证中的作用 | 已核验的 PDF 位置 |
| --- | --- | --- |
| Abstract / Fig.1 | 摘要与主结果概览 | p.1 |
| 1 Introduction | 固定状态与精确记忆之间的矛盾、贡献 | pp.1–3 |
| 2 Related Work | 递归模型、混合缓存、半参数记忆的关系 | p.3 |
| 3 Method / Fig.2 | 双记忆总体结构 | p.4 |
| 3.1 Background: the delta rule and its lossiness | Delta rule 与容量限制 | p.4，Eq.(1) |
| 3.2 Semiparametric memory as test-time regression | 两个定义与统一读出形式 | pp.4–5，Eqs.(2)–(4) |
| 3.3 What to store: the write magnitude… | 写入分数、top-$w$ 与可见集合 | pp.5–6，Eqs.(5)–(6) |
| 3.4 How to read: retrieval, not soft averaging | 缓存归一化与状态稳定性 | p.6，Eq.(7) |
| 3.5 Instantiation | GDN 实例及参数、显存成本 | p.6 |
| 4.1 Setup | 主规模训练与评测设置 | p.7 |
| 4.2 Main results: language modeling, commonsense, retrieval | 主结果与解释 | pp.7–8，Table 1 在 p.7 |
| 4.3 Consistency across scale | 46M / 170M / 340M | p.8，Table 2 |
| 4.4 Long-Context Retrieval | RULER 长度外推 | p.8，Table 3 在 p.9 |
| 4.5 Ablations | recency、淘汰分数、读取归一化 | pp.8–9；Tables 4–5 在 pp.9–10 |
| 5 Conclusion and Limitations | 结论和容量、规模限制 | p.10 |
| References / A Scale configurations | 引用与跨规模配方 | pp.10–12 / p.12，Table 6 |

## 一：动机

### 1. 固定大小状态为什么会丢掉具体事实

线性注意力把整个前缀压入一个大小不随长度增长的矩阵 $S$。这样的状态可以表达重复规律，但遇到许多需要分别保留的键值关联时，不同写入会沿重叠的 key 方向相互干扰。远处数字、名称、标识符等需要逐字恢复的内容，恰好难以容忍这种压缩。作者把状态比作新皮层，把快速记录具体事件的缓存比作海马体；这是设计启发，并非生物机制验证。来源：Secs.1、3.1，PDF pp.1–4。

原文以状态秩不超过 $d_k$ 解释容量有限。更精确地说，$\operatorname{rank}(S)\leq\min(d_k,d_v)$；能否记住多少条关联也依赖 key 相关性、value 结构与容许误差，不能把 $d_k$ 简化成任意任务的严格“事实数上限”。这是本次分析对直觉的限定。

### 2. 为什么仅加入近期窗口还不够

滑动窗口按位置保留信息，远处但重要的事实会被新 token 挤走。HOLA 的选择信号与距离无关：一个旧事实只要写入分数足够高，就可能长时间留在缓存中。它也不同于外部检索增强：缓存来自当前序列中的隐藏 KV 表示，并非跨文档知识库。来源：Sec.2，PDF p.3；Sec.3.3，PDF pp.5–6。

作者认为最接近的是 LTE：同样给 GDN 添加可淘汰 KV 缓存，但 LTE 使用额外 CNN 学习淘汰分数，并交替安排 GDN 与稀疏注意力层；HOLA 在每个递归层内部添加缓存，直接复用 delta rule 的写入信号。这里的区别按本文 Related Work 转述；本文**没有提供与 LTE 的同缓存预算实验**，不能据此断言 HOLA 优于学习式淘汰。

## 二：方法

### 1. 数据流与符号

![图2：压缩状态与精确KV缓存](figures/fig-02-method.png)

原 Fig.2，PDF p.4，直接裁切。所有 token 更新上方状态；写入分数最高的部分 KV 还被保存在下方缓存；两个读出相加。图中的脑区名称是类比，图本身没有描述详细的分块执行顺序。

| 符号 | 意义与维度/范围 |
| --- | --- |
| $q_t,k_t$ | 当前 query/key，维度 $d_k$；状态路径上单位 L2 范数 |
| $v_t,e_t$ | value 与预测残差，维度 $d_v$ |
| $S_t$ | 递归关联矩阵，$d_k\times d_v$ |
| $\beta_t$ | 残差写入强度，$[0,1]$ |
| $\alpha_t$ | GDN 衰减门，$(0,1]$ |
| $m_t$ | 插入时的写入分数，$\beta_t\lVert e_t\rVert_2$ |
| $\mathcal D_t$ | 截至位置 $t$ 的所有因果可用 KV |
| $\mathcal A_t$ | 容量 $w=64$ 的持久精确缓存 |
| $\mathcal V_t$ | 缓存读可见集合：持久缓存、当前块因果 token 与 null sink |
| $C$ | 处理块大小，默认 256；可见条目上界 $w+C+1=321$ |
| $\tilde q,\tilde k,\gamma$ | 缓存路径归一化的 Q/K 及其可学习尺度 |
| $\lambda_t$ | 框架中的缓存读混合系数；实现另报告每头 cache gate |

下面保留原文符号，但把向量统一为列向量：因此原文的 $k_t^\top S$、$q_t^\top S$ 是相应 value/readout 的行向量转置。这只修正记号方向，计算内容相同。

### 2. Delta rule：预测，然后写入残差

原 Eq.(1)（Sec.3.1，PDF p.4）在统一列向量约定下为：

$$
e_t=v_t-S_{t-1}^{\top}k_t,\qquad
S_t=S_{t-1}+\beta_t k_t e_t^{\top},\qquad
o_t^{\mathrm{state}}=S_t^{\top}q_t.
$$

先用旧状态预测当前 key 对应的 value，再只写未被预测到的部分。若已经准确预测，$e_t$ 接近零，重复写入就很小。

实际实验均使用带衰减的 GDN。Sec.3.5（PDF p.6）给出 $e_t=v_t-\alpha_t S_{t-1}^{\top}k_t$；把衰减与残差写入合并，可得以下教学展开：

$$
S_t=\alpha_t S_{t-1}+\beta_t k_t e_t^{\top}
=\alpha_t(I-\beta_t k_tk_t^{\top})S_{t-1}+\beta_t k_tv_t^{\top}.
$$

注意：在 GDN 中，$\beta_t\lVert e_t\rVert$ 是**残差修正项**的大小，并非总变化 $\lVert S_t-S_{t-1}\rVert_F$；总变化还含 $(\alpha_t-1)S_{t-1}$。原文先用不衰减的 DeltaNet 推导该分数，再说明 GDN 继续使用同一残差写入量。

### 3. 半参数测试时记忆：统一的读出视角

Sec.3.2（PDF pp.4–5，Definitions 1–2）把当前上下文的 KV 当作观测数据，把记忆读出当作从 query 到 value 的回归。这里“参数化”的参数是会随上下文更新的状态 $S_t$，不等于新增离线模型权重。

原 Eq.(3) 以列向量约定可写作：

$$
o_t=S_t^{\top}q_t+\lambda_t g_t(q_t).
$$

第一项为压缩状态预测，第二项从保留的精确 KV 计算非参数读出。GDN 只有第一项；全注意力关闭状态项并使用全部前缀 KV；HOLA 同时使用状态和有界子集。原 Eq.(4) 将 softmax 注意力写作 Nadaraya–Watson 核回归。

这个框架是组织设计的定义与解释，并未证明 $\beta\lVert e\rVert$ 最优，也没有给出统计一致性或全局召回误差界。缓存存储的是 $(k,v)$，不是 $(k,e)$；将第二项叫作“修正”不意味着它被监督拟合为状态预测误差。

### 4. 写什么：残差大小乘以写入强度

对残差更新 $\Delta_t=\beta_t k_t e_t^{\top}$，秩一外积的 Frobenius 范数分解为：

$$
m_t=\lVert\Delta_t\rVert_F
=\beta_t\lVert k_t\rVert_2\lVert e_t\rVert_2
=\beta_t\lVert e_t\rVert_2.
$$

来源：Eqs.(5)–(6)，Sec.3.3，PDF p.5；最后一步使用 $\lVert k_t\rVert_2=1$ 和 $\beta_t\geq0$。残差大表示状态预测不好；$\beta_t$ 大表示模型愿意提交这次修正。这个分数无需另外训练淘汰网络，但缓存的其他组件仍含可学习参数。

**教学例子（非实验）**：条目 A 的残差范数为 10、$\beta=0.1$，得分 1；条目 B 的残差范数为 2、$\beta=0.8$，得分 1.6。只看残差会偏好 A，HOLA 会偏好 B。分数刻画已提交的更新，不能直接等同于未来任务的重要性。

持久缓存保留历史得分最高的 $w$ 个条目。分数在写入时固定，不根据后来的遗忘、查询或距离重新估计。对固定的已计算分数，top-$w$ 可以逐条或分块合并；这**不表示**打乱输入 token 后状态与分数不变。旧的高分离群条目可能长期占用空间、早期低分但后来重要的内容可能丢失，这是该规则的自然边界，本文未系统测试。

### 5. 因果可见集合与训练/推理

实际读取不只看 64 个持久条目，还包括当前块中截至当前位置的 token，以及一个 null sink，最大可见量为 321。$w$ 表示跨块保留预算，$C$ 表示当前块处理长度；321 不是“能任意保留 321 个遥远事实”。来源：Sec.3.3，PDF p.6；Sec.5，PDF p.10；Appendix A，PDF p.12。

作者强调训练与推理使用同样的固定分数 top-$w$ 语义。由此可写出以下**概念流程，而非作者代码复现**：

1. 从当前 token 计算 Q/K/V、衰减门和写入门。
2. 以衰减后的状态预测 value，得到残差并更新状态。
3. 计算并固定 $m_t$，维护至多 $w$ 个高分历史 KV。
4. 用缓存路径的 Q/K，对持久缓存与当前块因果前缀及 sink 做 softmax 读取。
5. 将状态读出与经过 gate 调节的缓存读出组合。

完整实现仍需决定块边界缓存更新时间、当前块与持久条目的去重、并列分数处理、多头分数组织，以及 top-$w$ 操作的训练梯度路径；论文和此次 TeX 源包未给出可核验的算法代码。当前块内也必须使用因果屏蔽，不能先用未来分数选整块 top-$w$ 再让早期 query 看到未来。

### 6. 怎么读：分离归一化，避免近似均匀平均

若状态路径和缓存路径都使用单位 L2 范数 Q/K，点积为 $\cos\theta$；再除 $\sqrt d$ 后，softmax logit 容易很小。缓存即使保留了正确 KV，也可能把很多 value 平均掉。HOLA 只在缓存读路径使用：

$$
\tilde q_t=\operatorname{RMSNorm}_{\gamma}(q_t),\qquad
\tilde k_j=\operatorname{RMSNorm}_{\gamma}(k_j),
$$

$$
o_t^{\mathrm{cache}}=\sum_{j\in\mathcal V_t}
\operatorname{softmax}_j\left(\frac{\tilde q_t^{\top}\tilde k_j}{\sqrt d}\right)v_j.
$$

来源：Eq.(7)，Sec.3.4，PDF p.6。Q 和 K 有各自的可学习尺度，温度固定为 $\tau=1$。在忽略 epsilon、尺度接近 1 的直觉下，RMSNorm 后范数约为 $\sqrt d$，点积除 $\sqrt d$ 后约为 $\sqrt d\cos\theta$，更容易集中到匹配 key。学习到的逐维尺度可以改变这一近似；它不是恒等式，也不保证正确匹配一定成为最大值。

**教学计算（非实验）**：64 个条目中，一个 logit 为 0.83，其余为 0，则正确条目权重为 $e^{0.83}/(e^{0.83}+63)\approx3.51\%$。这解释了原文约 3.5% 的例子所需的背景假设；只给出 logit 范围本身并不能确定这个概率。

为何不把同样的放大用于状态更新？沿 key 方向，$I-\beta kk^{\top}$ 的特征值是 $1-\beta\lVert k\rVert^2$。单位 key 下它在 $[0,1]$；若 key 范数变成 $\sqrt d$，则变为 $1-\beta d$，**可能**失稳。例如 $d=256,\beta=0.5$ 时为 $-127$。这是条件性的线性算子分析，不应把所有 $\beta$、所有衰减条件都说成必然发散。

### 7. 参数、状态与运行成本

Sec.3.5（PDF p.6）报告，340M 配置额外可训练参数为：

$$
L(2d+2H)=24(512+8)=12{,}480,
$$

来自 Q/K RMSNorm scale、每头 sink 和 cache gate，少于模型总参数的 0.004%；另有 96 个冻结的 temperature 标量。缓存 KV 属于运行时状态，不属于这些参数。

bf16、单序列解码的 KV 开销按文中配置为：

$$
24\times320\times4\times256\times2\times2
=31{,}457{,}280\ \text{bytes},
$$

约 31.46 MB，或 30 MiB，不含少量分数。32k 与 128k 的实测峰值 GPU allocation（含权重，batch size=1）均为 HOLA 0.75 GB、GDN 0.72 GB。根据显示值计算约增加 4.2%，原文概称约 5%。**128k 仅是显存测量，不是 128k 召回质量验证。**

本次复杂度解释：固定 $w,C,d_k,d_v$ 时，单层单头运行时记忆约为 $O(d_kd_v+(w+C)(d_k+d_v))$，对序列长度 $T$ 有界；每个 query 的缓存读约为 $O((w+C)d)$，总量随 $T$ 线性增加。仍有 softmax、筛选和访存成本。论文未报告完整吞吐、延迟或训练速度表，因此不能把有界显存直接翻译成速度优势。

## 三：实验

### 1. 主规模设置与对照角色

| 项目 | 340M 主实验（Sec.4.1，PDF p.7） |
| --- | --- |
| 骨干 | GDN，24 层，$d_{model}=1024$，4 头，每头维度 256 |
| 其他架构 | `expand_v=1`、`hidden_ratio=4`、conv 4、tied embeddings |
| tokenizer / 词表 | Mistral tokenizer / 32000 |
| 数据与长度 | SlimPajama 15.0B token，context 2048，1 epoch |
| 优化 | AdamW，峰值学习率 $4\times10^{-4}$，weight decay 0.01，cosine，warmup 1000，gradient clip 1.0 |
| batch / 设备 | 约 0.5M token / $8\times$A800 |
| 缓存 | $w=64,C=256$；`evict=betae`，RMSNorm，$\tau=1$ frozen，gate init $-4$，SDPA kernel |
| 随机种子 | 主规模单种子；没有主结果方差或置信区间 |

自己的 GDN anchor 是检验整套 HOLA 的主要控制组；HOLA+recency 固定缓存容量、块大小、读取归一化、gate 和 kernel，仅改变淘汰分数，是检验选择机制最直接的控制组。其质量评测使用 full recomputation 避免实现路径混淆，不能据此比较增量解码速度（Sec.4.5 脚注，PDF p.9）。

Transformer++、GLA、GSA 行引用自 NHA 论文；DeltaNet、KDA 和另一行 GDN 引用自 Preconditioned DeltaNet 论文。作者称配方匹配，但这些不是在本文统一重训得到的全部基线。表中自己的 GDN 为 27.32，借用的 GDN 为 27.08，计算主相对改善必须选前者。

### 2. 指标与统计口径

| 评测 | 衡量什么 | 方向与限制 |
| --- | --- | --- |
| Wikitext-103 / LAMBADA PPL | token 预测困惑度 | 越低越好；不等于准确率 |
| Commonsense 六任务均值 | ARCe、ARCc、HellaSwag、PIQA、WinoGrande、LAMBADA-acc | 越高越好；ARCc/Hella 为 `acc_norm`，其他为 accuracy，表中为百分数刻度的混合指标均值 |
| 九任务 accuracy mean | 正文另述的九任务平均 | HOLA 0.446 / GDN 0.440；不能混同六任务 42.85 / 42.54 |
| FDA / SWDE / SQuAD | 上下文中的信息抽取/问答 | 越高越好；本文未完整给出每项 scorer、聚合与答案归一化规则，保留原报告分数，不擅称全为 exact match 或 F1 |
| RULER | 合成单针、多 key、多 value、多 query 检索 | accuracy / recall，0–1；Mistral tokenizer，`limit 100`，2k–32k |
| 46M passkey | 查询后 teacher-force 答案 token 的 next-token accuracy | “Far”指 4k 上下文、插入深度 0.1；不同于自由生成的 RULER 召回 |
| 46M multi-key capacity | 在指定事实数量下的关联召回表现 | 越高越好；1/2/4/8/16 是事实数，不是准确率单位或严格容量上界 |

设置部分提到 variable tracking（VT），但本文结果表没有报告 VT 数值。不能把展示的 needle 子任务扩展成完整 RULER 所有任务的结论。

## 四：结果

### 1. 主结果：语言建模改善，常识平均分接近

Table 1，PDF p.7。为控制表宽，常识保留原六任务平均，所有行均保留。

| 模型 | Wiki PPL ↓ | LAMBADA PPL ↓ | 常识均值 ↑ | FDA ↑ | SWDE ↑ |
| --- | ---: | ---: | ---: | ---: | ---: |
| Transformer++（引用，全注意力） | 26.88 | 42.15 | 42.34 | 46.1 | 25.9 |
| DeltaNet（引用） | 29.04 | 45.76 | 41.20 | 8.5 | 27.1 |
| GLA（引用） | 28.78 | 39.00 | 41.54 | 11.3 | 16.8 |
| GSA（引用） | 28.17 | 42.57 | 41.80 | 6.4 | 16.9 |
| KDA（引用） | 26.18 | 31.37 | 42.75 | 13.9 | 34.1 |
| GDN（引用） | 27.08 | 31.39 | 42.73 | 13.6 | 29.4 |
| GDN（本文 anchor） | 27.32 | 30.95 | 42.54 | 11.7 | 29.0 |
| HOLA+recency（本文） | 25.04 | 32.33 | 43.17 | 16.9 | 29.9 |
| HOLA（本文） | **22.92** | **30.26** | 42.85 | 20.1 | **35.9** |

相对自己的 GDN：Wiki 绝对降低 4.40、相对降低 16.11%；LAMBADA PPL 绝对降低 0.69、相对降低 2.23%。FDA 增加 8.4 个报告分数单位、相对提高 71.8%；SWDE 增加 6.9、相对提高 23.8%。正文另报 SQuAD 32.5→33.8（Sec.4.2，PDF p.8），未列入主表。

这里“最好”有明确边界：HOLA 的 FDA 20.1 仍远低于全注意力 46.1，而 SWDE 35.9 则高于该全注意力行的 25.9；不能说所有抽取任务都仍落后全注意力。HOLA、GDN anchor、recency 的常识均值分别为 42.85、42.54、43.17，HOLA 并非最高。作者称差异处于单种子噪声范围，但没有重复实验误差条；稳妥结论是未建立可靠的常识优势。

### 2. 跨规模一致性：各规模内部受控，规模之间配方不同

Table 2，PDF p.8；Appendix A / Table 6，PDF p.12。

| 规模 | 数据 / 训练量 / context | GDN PPL | HOLA PPL | 相对降低（本次计算） |
| --- | --- | ---: | ---: | ---: |
| 46M | FineWeb-Edu / 0.5B / 4096 | 71.0 | 59.5 | 16.20% |
| 170M | SlimPajama / 6.22B / 2048 | 35.98 | 30.51 | 15.20% |
| 340M | SlimPajama / 15.0B / 2048 | 27.32 | 22.92 | 16.11% |

46M 为 12 层、宽度 512；170M 为 12 层、宽度 1024；340M 为 24 层、宽度 1024。证据支持在三个所测规模各自匹配的配置内都有收益；数据、训练量、长度同时变化，因此这不是仅改变参数量的 scaling law，也未验证十亿参数以上模型。

### 3. 长上下文：S-NIAH-1 收益大，但并非所有检索都稳健

Fig.1b，PDF p.1；Sec.4.4，PDF p.8。下表精确值来自作者 `fig_teaser.tex` 的作图坐标，并与 PDF 曲线和正文核对。

| 模型 | 2k | 4k | 8k | 16k | 32k |
| --- | ---: | ---: | ---: | ---: | ---: |
| Transformer++ | 1.00 | 0.00 | 0.00 | 0.00 | 0.00 |
| GDN | 1.00 | 1.00 | 0.83 | 0.30 | 0.14 |
| HOLA+recency | 1.00 | 0.93 | 0.74 | 0.50 | 0.24 |
| HOLA | 1.00 | 0.99 | 0.98 | 0.94 | 0.58 |

32k 时 HOLA 相比 GDN 增加 **44 个百分点**，相比 recency 增加 **34 个百分点**；16k 相比 GDN 增加 64 个百分点。32k 是训练长度 2k 的 16 倍，不是检索率提高 16 倍。

全注意力检查点在 4k 及以后所示任务归零，作者归因为该 RoPE 检查点未作长度外推适配。它说明这一个 2k 训练检查点的外推限制，不能证明 HOLA 优于专门训练或扩窗后的全注意力。表注同时给出 max position 8192；“未超配置最大位置”和“未超训练长度”是不同概念。

Table 3（PDF p.9）的多任务结果补足主曲线的边界。下表保留三个内部对照的全部 2k–8k 结果；S1/S2/S3 为三种 single-needle，MK1/MV/MQ 分别为 multi-key、multi-value、multi-query。

| 长度 / 模型 | S1 | S2 | S3 | MK1 | MV | MQ |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| 2k / GDN | 1.00 | 0.38 | 0.26 | 0.17 | 0.17 | 0.24 |
| 2k / recency | 1.00 | 0.83 | 0.89 | 0.26 | 0.21 | 0.22 |
| 2k / HOLA | 1.00 | 1.00 | 0.96 | 0.25 | 0.28 | 0.18 |
| 4k / GDN | 1.00 | 0.52 | 0.23 | 0.17 | 0.14 | 0.19 |
| 4k / recency | 0.93 | 0.27 | 0.38 | 0.13 | 0.17 | 0.17 |
| 4k / HOLA | 0.99 | 0.89 | 0.43 | 0.30 | 0.28 | 0.26 |
| 8k / GDN | 0.83 | 0.09 | 0.07 | 0.03 | 0.07 | 0.02 |
| 8k / recency | 0.74 | 0.04 | 0.02 | 0.05 | 0.03 | 0.01 |
| 8k / HOLA | 0.98 | 0.35 | 0.05 | 0.11 | 0.16 | 0.08 |

HOLA 在多数非地板格子更好，但 2k MQ 为 0.18，低于 GDN 0.24；8k S3 为 0.05，低于 GDN 0.07，且三者绝对表现均弱。8k 的 multi-needle 也仅为 0.08–0.16。不能把 S-NIAH-1 的强结果概括为所有复杂长上下文检索已解决。

### 4. 消融一：同预算 recency 对照直接检验选择规则

340M 时，recency→HOLA 的 Wiki PPL 为 25.04→22.92，绝对下降 2.12、相对下降 8.47%；32k S-NIAH-1 为 0.24→0.58。相同骨干与缓存读机制下，仅改变淘汰信号，支持基于写入幅度的选择优于纯近期选择。它也表明 GDN→HOLA 的全部增益不能都归因于这个分数：recency 本身已把 Wiki 从 27.32 改善到 25.04。来源：Sec.4.5，PDF pp.8–9；Table 1 / Fig.1。

### 5. 消融二：46M、flat read 下检验淘汰分数

Table 4，PDF p.9。所有带缓存行使用相同骨干与缓存预算、较平坦的 cache read；Far 为 teacher-forced passkey token accuracy，不能与 340M RULER 直接比较。

| 淘汰规则 | Far ↑ | 1 key ↑ | 2 keys ↑ | 4 keys ↑ | Wiki PPL ↓ |
| --- | ---: | ---: | ---: | ---: | ---: |
| GDN，无缓存 | 0.55 | 0.78 | 0.45 | 0.41 | 70.21 |
| 累积 attention（H2O 式分数） | 0.43 | 0.97 | 0.69 | 0.55 | 71.45 |
| $\lVert e\rVert$ | 0.22 | 0.71 | 0.61 | 0.48 | 70.50 |
| $\beta\lVert v\rVert$ | 0.42 | 0.97 | 0.72 | 0.54 | 70.76 |
| $\beta\lVert e\rVert$ | **0.67** | **0.97** | **0.74** | **0.56** | **70.10** |

残差单独使用时 Far 只有 0.22；乘以写入门后为 0.67，符合“模型实际提交多少修正”比纯预测误差更有用的解释。但 flat read 下 PPL 70.21→70.10 仅小幅变化，不能用这张表证明分数本身带来了十多个 PPL 的收益。$\beta\lVert v\rVert$ 同时含 value 范数，并不是单独 $\beta$ 的消融。

### 6. 消融三：读取归一化是该诊断中最大的变化

Table 5，PDF p.10。固定 $\beta\lVert e\rVert$ 选择规则；RMSNorm 行为三种子均值，其他行复用 flat-read 锚点，未报告方差。

| 读取方式 | Wiki PPL ↓ | Far ↑ | passkey mean ↑ | 1 key ↑ | 4 keys ↑ | 8 keys ↑ | 16 keys ↑ |
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| GDN，无缓存 | 70.21 | 0.55 | 0.60 | 0.78 | 0.41 | 0.35 | 0.31 |
| 单位 L2 cache read | 70.10 | 0.67 | 0.67 | 0.97 | 0.56 | 0.41 | 0.31 |
| RMSNorm-$\gamma$ | **59.5** | **0.75** | **0.69** | **0.97** | **0.77** | **0.67** | **0.41** |

PPL 70.10→59.5，下降 10.60；8-key 0.41→0.67，而 1-key 保持 0.97，说明读得更尖锐尤其帮助区分多条关联。不过 16-key 仅 0.41，能力仍有限。作者提到“相比固定高温度更好且避免状态偷懒”，但这里没有固定高温度对照行，也没有展示注意力熵或门值诊断，因此不能把该机制解释当作已直接验证的因果结论。

## 五：结论

### 1. 可以带走的贡献

HOLA 提供了一个具体、额外参数很少的双记忆方案：GDN 负责压缩，选择性 KV 负责保留部分细节。写入残差的范数给出可解释的缓存选择信号，独立的 Q/K 归一化则解决“留住了却读不出来”的问题。本文最有力的验证是同骨干 GDN、同预算 recency 和 HOLA 的比较，以及 46M 对读写组件的拆分。来源：Secs.3–5，PDF pp.4–10。

### 2. 限制及原文内部需要保留的细节

| 问题 | 原文位置与本次判断 |
| --- | --- |
| 精确存储不等于完美召回 | Sec.5，p.10；只有 64 个持久条目，32k S-NIAH-1 为 0.58，多 needle 更困难 |
| 主实验随机性未量化 | Sec.5，p.10；主规模单种子，46M RMSNorm 行虽为三种子均值，但无方差 |
| 对学习式淘汰缺少直接对照 | Sec.2 / Sec.5，pp.3、10；没有同预算 LTE CNN 对比 |
| 速度与训练成本未建立 | Sec.3.5 只给参数与单序列解码显存；未报告完整吞吐/延迟/训练成本 |
| 归一化数值例子的维度不统一 | Sec.3.4，p.6：$6.6/\sqrt d\approx0.83$ 对应 $d\approx64$，$\sqrt d\approx11$ 对应 $d\approx121$；主配置 $d=256$，其 $\sqrt d=16$。原文未交代这些例子分别属于哪种配置，不能用其数值代入主模型；符号层面的尺度解释仍成立 |
| 46M GDN 的两组锚点不同 | Table 2 的 71.0 与 Tables 4–5 的 70.21 不一致，未解释具体评估或种子差异；分别保留，不合并计算 |
| 全注意力并非 2k 每列都最好 | Sec.4.4 / Table 3，pp.8–9；作者称其为 2k ceiling，但 S3 的 Transformer++ 为 0.79、HOLA 为 0.96。应理解为参考检查点，不是逐项严格上界 |
| 小幅报告与算术差别 | Sec.4.2，p.8；BoolQ 显示 0.548→0.584，按显示精度为 +3.6 个百分点，文字写 +3.5，可能来自未舍入值但本文未解释；不据此放大结论 |
| 实现说明不完整 | Sec.3.2 的 $\lambda_t$ 与 Sec.3.5 的每头 gate 之间未给完整参数化；分块选择、梯度与并列规则也未详细报告 |

### 3. 后续最值得验证什么（本次分析）

首先做多种子、同预算、相同增量解码路径的 GDN / recency / HOLA / 学习式淘汰对照，并同时测质量、吞吐和峰值显存。其次改变 $w$、$C$ 和 needle 密度，检验全局固定分数是否会被早期离群 token 长期占据，以及是否需要重新评分或容量分配。最后再扩大到更大模型、长上下文训练和经过适配的全注意力对照，判断收益能否迁移。

本次研读的核心判断是：**实验支持“有限精确缓存的选择与读取应共同设计”；它尚未证明固定写入幅度就是未来检索价值的最优估计。**

## 文件与复用

英文幻灯片按约 20–30 分钟组会组织，主讲与备份页分开。可编辑源文件为 `slides.en.tex`，本地构建命令为 `python3 build_slides.py slides.en.tex`；需要系统提供 `pdflatex`。图件来自原论文 PDF 的准确裁切，坐标记录在 [图件来源](figures/provenance.json)；幻灯片中的长度曲线按 `fig_teaser.tex` 数据重绘并注明来源。

本次为论文分析与材料核验，没有训练模型或复现实验。源码原包、文件哈希和下载身份分别保存在版本目录的 `source/tex/manifest.json` 与 `source/metadata.json`。
