# LoLA: Low-Rank Linear Attention With Sparse Caching｜中文精读笔记

- **作者**：Luke McDermott、Robert W. Heath Jr.、Rahul Parhi（University of California, San Diego）。
- **版本**：arXiv:2505.23666v3，2026-06-13 修订；PDF 标注发表于 TMLR，06/2026。
- **本次获取与研读**：2026-09-24，修订 r1。
- **原文**：[arXiv v3](https://arxiv.org/abs/2505.23666v3) · [本地 PDF](../source/paper.pdf) · [作者主 TeX](../source/tex/files/main.tex) · [源码清单](../source/tex/manifest.json)。
- **配套成品**：[英文组会幻灯片 PDF](slides.en.pdf) · [可编辑 TeX](slides.en.tex)。

本次以同版本作者 `main.tex` 及其引用的符号定义、表格和图件为主要材料，结合 29 页最终 PDF 核对公式、数值和图表。覆盖正文第 1–5 节及附录 A–I；参考文献用于定位相关工作的角色，未逐篇研读。本文是分析笔记，不是全文翻译；没有复现模型训练或推理实验。以下 PDF 页码从 1 开始，与本版印刷页码一致。

## 论文总览

**LoLA 将“难以被当前线性状态表达的 KV 对”留在一个有限的全局缓存中，让近期信息走滑窗、一般历史走线性状态；这是一种对已训练混合线性注意力模型的免额外训练推理增强。** 核心创新是按自召回误差（Self-Recall Error，SRE）进行记忆分配，而非单纯增加缓存容量。

最有说服力的证据来自同一模型权重、相同名义显式 KV 槽位预算的对照。在 4K 的 S-NIAH-1 检索任务中，扩大滑窗的 LoLCATs `(η,λ)=(512,0)` 为 **8.8%**，LoLA `(256,256)` 为 **97.4%**，增加 **88.6 个百分点**。摘要的 **0.6%→97.4%** 比较的是原始小窗口 `(64,0)` 与 LoLA，额外包含了扩大显式缓存的效应，不能把它当作等预算消融。（Sec. 4.1，PDF pp. 7–8，Table 1）

| 核验问题 | 原文证据 | 合理结论 |
| --- | --- | --- |
| 是否只是扩大局部窗口？ | 4K S-NIAH-1：等名义 512 槽位，8.8%→97.4% | 如何分配 KV 很重要 |
| 更难的长上下文任务是否有效？ | RULER 十任务平均：LoLCATs+ 6.7、LoLA 45.2、Llama 91.7 | 显著改善，但距完整注意力仍远 |
| 能否迁移到自然语言长文？ | LongBench 七任务平均：LoLCATs+ 9.0、LoLA 27.8、Mamba2 36.1 | 有迁移收益，未全面胜过其他递归模型 |
| SRE 是否有作用？ | 512-token S-NIAH-1：SRE 99.0%，替代评分 10.6%–52.0% | 在该消融设置下，SRE 优势很大 |
| 是否已解决无限长记忆？ | 大缓存版本：8K 92.2%，16K 13.6% | 固定状态可持续运行，不等于保持任意长精确召回 |

上述证据依次来自 Tables 1、2、11、4、10（PDF pp. 7、7、21、10、21）。

## 结构地图

| 原文章节 | 作用 | PDF 页码与主要证据 |
| --- | --- | --- |
| 1 Introduction | 长期关联记忆与缓存增长的矛盾 | pp. 1–2 |
| 2.1 Softmax Attention as a Nonparametric, Online Learner | 将注意力解释为在线 key→value 映射 | pp. 2–3，Eqs. (1)–(2) |
| 2.2 Linear Attention | 核近似、递归状态与碰撞 | p. 3，Eqs. (3)–(5) |
| 2.3 Efficient Training of Linear Attention | LoLCATs 特征映射蒸馏与 LoRA | pp. 3–4，Eqs. (6)–(7) |
| 2.4 Disadvantages of Previous Approaches | 低秩近似与纯滑窗的不足 | p. 4 |
| 3 Mitigating Memory Collisions with Sparse Caching | SRE、三种记忆、分块推理 | pp. 4–6，Eqs. (8)–(15)，Figs. 1–2 |
| 4 Experiments & Results / 4.1 Associative Recall | 基础训练设置、RULER | pp. 6–8，Tables 1–2 |
| 4.2 Commonsense Reasoning | 7–9B 语言任务 | pp. 8–9，Table 3 |
| 4.3 Understanding Memory Collisions | 可视化状态中记忆的干扰 | p. 9，Fig. 3 |
| 4.4 Scoring Method Ablation | 对比缓存评分规则 | pp. 9–10，Table 4 |
| 5 Conclusion | 结论、适用模型与限制 | p. 10 |
| A Extended Language Modeling Results | 1B 结果与相对教师平均分 | pp. 15–17，Tables 5–6 |
| B Efficiency Analysis | TTFT、层延迟、解码、VRAM、容量 | pp. 16–20，Tables 7–8，Figs. 4–7 |
| C Extended Long Context Tasks | 更大预算、更长序列、LongBench | pp. 20–21，Tables 9–11 |
| D Related Work | 与 TTT、门控、混合注意力的关系 | pp. 22–24 |
| E Linear Attention is a Bad Low-Rank Approximation | SVD 下界与合成核谱分析 | pp. 24–25，Eq. (21)，Figs. 8–9 |
| F Scoring Ablation Extension | 替代评分的具体累计规则 | p. 26，Eqs. (22)–(25) |
| G Extended Memory Collision Visualization | 相对初次写入的误差增量 | pp. 26–27，Fig. 10，Eq. (26) |
| H Algorithm Pseudo-Code | 解码与分块缓存伪代码 | pp. 27–28 |
| I Sparse Cache & Linear Attention Ablation | 分离“保存”与“被 query 读取” | pp. 28–29，Table 12 |

## 一：动机

### 1.1 线性注意力省掉了什么，又损失了什么

完整 softmax 注意力保存全部历史 KV，之后的 query 可以重新为每个历史 key 计算权重。随上下文增长，单步读取量与 KV 状态大小都会增长。线性注意力则把历史外积加到固定大小的矩阵中，得到可递归更新的关联记忆；它节省的是历史表示及访问成本，但压缩后的不同关联可能相互干扰。

这里的“碰撞”不是哈希表冲突，也不是必须出现完全相同的 key。只要特征空间中的 key 不够可分，一次新写入就可能改变旧 key 对应的读出。短滑窗能保住最近的细节，却不能解决重要内容离开窗口后的问题。（Sec. 2，PDF pp. 2–4）

### 1.2 作者改变的是哪些内容进入线性状态

已有基于特征映射的方法主要提高有限维核对指数点积的近似质量。LoLA 换了分工方式：既然一部分 KV 很难由当前线性函数表达，就为它们保留原始 KV，让线性状态主要承载较容易拟合的部分。这样同时有两个潜在收益：难记的内容可以直接检索；这些内容也不再写入状态去干扰其他关联。

这与普通稀疏 KV 删除不同：LoLA 中未被选入显式全局缓存的旧 KV，通常会进入压缩状态，不是直接从上下文表示中消失。文中的 low-rank 指核/状态表示，并非新增低秩权重微调；LoRA 只是基础模型训练流程的一部分。

## 二：方法

### 2.1 符号、输入和输出

以下以单个注意力头为单位，用列向量统一书写；原文部分公式用输出行向量，其转置不改变运算。

| 符号 | 含义与维度 |
| --- | --- |
| $\mathbf q_t,\mathbf k_t$ | 当前 query、key，$\mathbb R^{d_k}$ |
| $\mathbf v_t,\mathbf y_t$ | value 与注意力输出，$\mathbb R^{d_v}$ |
| $\phi$ | 已学习特征映射，$\mathbb R^{d_k}\to\mathbb R^D$ |
| $\mathbf H_t$ | 线性记忆矩阵，$\mathbb R^{D\times d_v}$ |
| $\mathbf s_t$ | 归一化累积向量，$\mathbb R^D$ |
| $W_t,\eta$ | 局部滑窗及其名义最大 KV 数 |
| $G_t,\lambda$ | 稀疏全局缓存及其最大 KV 数 |
| $\mathcal E_t$ | 本次参与评分的候选集合 |
| $\mathcal S_t$ | 本次从候选集中选出、写入线性状态的 KV |
| $C$ | 分块推理的 chunk 长度；与窗口的关系需看实现约定 |

层的输入投影、特征映射与基础模型权重保持既有训练结果。LoLA 接收每步或每块的 Q/K/V，更新三种记忆，再给出该层注意力输出；它不在推理阶段重新学习模型的投影参数。

### 2.2 从核近似到可递归的关联映射

线性注意力用有限维内积近似 softmax 的未归一化核：

$$
\exp(\mathbf q^\top\mathbf k/\sqrt{d_k})\approx\phi(\mathbf q)^\top\phi(\mathbf k).
$$

对于纯线性注意力，

$$
\mathbf H_t=\mathbf H_{t-1}+\phi(\mathbf k_t)\mathbf v_t^\top,\qquad
\mathbf s_t=\mathbf s_{t-1}+\phi(\mathbf k_t),
$$

$$
m_t(\mathbf q)=\frac{\mathbf H_t^\top\phi(\mathbf q)}{\phi(\mathbf q)^\top\mathbf s_t}.
$$

$\mathbf H$ 累计特征 key 与 value 的外积，$\mathbf s$ 累计对应的归一化质量。对 LoLA，这两个状态只接收实际分配到线性记忆的 KV，不能再机械地把所有历史 KV 都加进去，否则会造成重复计数并破坏论文的分配机制。（Sec. 2.2，PDF p. 3，Eqs. (3)–(5)）

### 2.3 SRE：让 key 查询自己的 value

论文用理想条件 $m_t(\mathbf k_i)=\mathbf v_i$ 来表达自召回，再定义：

$$
\operatorname{SRE}(\mathbf k,\mathbf v\mid\mathbf H,\mathbf s)
=\left\|\frac{\mathbf H^\top\phi(\mathbf k)}{\phi(\mathbf k)^\top\mathbf s}-\mathbf v\right\|_2.
$$

这是 **value 空间中的欧氏距离**，没有准确率单位，也不是误差平方。大误差说明该 KV 与当前压缩映射不协调。SRE 不需要未来 query，是 query-agnostic 的选择规则；真正读取缓存时仍由当前 query 决定注意力权重。（Sec. 3，PDF p. 4，Eq. (10)）

必须区分三个层次：

1. **测量量**：当前状态在该 key 上重建 value 的误差。
2. **作者解释**：较大误差对应难以储存、容易引发干扰的关联。
3. **证据边界**：它不是未来 query 重要性的证明，也不保证选入缓存的就是语言任务中最重要的 token。候选尚未写入状态时，更准确地说是在测量其与当前映射的一致性。

另外，softmax 本身也不必严格满足自召回等式，例如多个 key 很相近时仍会混合 value。原文 Eq. (8) 是理想记忆性质，不能理解成所有 Transformer 的严格恒等式。

### 2.4 三种记忆怎样协作

![LoLA 的三种记忆](figures/fig-01-memory.png)

原图 Fig. 1，PDF p. 5，来自作者矢量图。由左向右读：新 KV 先进入蓝色滑窗；离开窗口时，连同红色全局缓存中的 KV 一起评分；高 SRE 留在全局缓存，低 SRE 写入灰色线性状态。图中的线性记忆“容量无限”只表示可继续吸收 token，不表示能无损区分无限多个关联。

一次单 token 更新的核心过程如下：

1. 新 KV 进入滑窗。窗口满后，最旧 KV 成为候选。
2. 候选集为 $\mathcal E_t=G_{t-1}\cup\{(\mathbf k_{t-\eta},\mathbf v_{t-\eta})\}$。
3. 按当前线性状态给候选重算 SRE，保留最大的 $\lambda$ 个构成 $G_t$。
4. 剩余集合 $\mathcal S_t=\mathcal E_t\setminus G_t$ 写入 $\mathbf H,\mathbf s$，原始 KV 随后不再显式保存。

$$
G_t=\operatorname{Top}_{\lambda}\{\operatorname{SRE}(\mathbf k,\mathbf v\mid\mathbf H_{\rm before},\mathbf s_{\rm before}):(\mathbf k,\mathbf v)\in\mathcal E_t\},
$$

$$
\mathbf H_{\rm after}=\mathbf H_{\rm before}+
\sum_{(\mathbf k,\mathbf v)\in\mathcal S_t}\phi(\mathbf k)\mathbf v^\top,
\qquad
\mathbf s_{\rm after}=\mathbf s_{\rm before}+
\sum_{(\mathbf k,\mathbf v)\in\mathcal S_t}\phi(\mathbf k).
$$

这里 $\operatorname{Top}_{\lambda}$ 返回得分最高的 KV 对集合；候选不足 $\lambda$ 时全部保留。用 `before/after` 澄清执行顺序，是对原文 Eqs. (11)–(13) 的教学改写：Eq. (12) 与 Eq. (13) 都用了下标 $t$，但附录 H 明确先根据已有状态评分、再更新状态，并非求解隐式联立最优解。（PDF pp. 5、27–28）

**重新评分是必要的**：状态变化后，以前难记的 KV 可能变得容易拟合，因此可以让出稀疏缓存位置。不过，已经被吸收入状态、丢掉原始表示的旧 KV 不在候选集中，不能被重新抢救。这是一种贪心、单向的分配，不是每一步对全部历史进行全局最优 Top-k。

**教学例子**：设两个不同原始 key 的特征表示非常接近，而 value 分别是 $+1$ 与 $-1$。把两者都写入同一线性状态时，读出可能接近 0，两者都会有误差。若将难以兼容的一对保留为原始 KV，状态就不必同时拟合相反关联。该例说明分配的动机；如果原始 key 本身也无法区分，稀疏 softmax 同样不能凭空恢复区分能力。

### 2.5 输出是共同归一化的混合注意力

令 $a_{ti}=\exp(\mathbf q_t^\top\mathbf k_i/\sqrt{d_k})$，则将原文 Eq. (14) 统一为列向量后：

$$
\mathbf y_t=
\frac{\mathbf H_t^\top\phi(\mathbf q_t)+\sum_{i\in G_t}a_{ti}\mathbf v_i+\sum_{j\in W_t}a_{tj}\mathbf v_j}
{\phi(\mathbf q_t)^\top\mathbf s_t+\sum_{i\in G_t}a_{ti}+\sum_{j\in W_t}a_{tj}}.
$$

三部分分别提供压缩的全局历史、显式的稀疏历史、显式的近期历史。它们在**同一个分母**中归一化，不是把三个各自归一化的输出直接相加。这也意味着实现 FlashAttention 分支时需要保留/正确组合归一化量。（Sec. 3，PDF pp. 5–6）

### 2.6 分块推理与实现细节

![逐 token 与分块注意力分配](figures/fig-02-routing.png)

原图 Fig. 2，PDF p. 6。横向是历史 key，纵向是 query 时间；蓝色为窗口、红色为稀疏缓存、灰色为线性状态。右图中一块内分配结构保持不变，体现状态更新粒度从单 token 变成 chunk。

预填充时，作者将输入切为长度 $C$ 的块，同一块 query 共享已有线性状态。局部 KV 与稀疏 KV 拼接，用一次 FlashAttention 计算显式分支；块完成后，对最旧的窗口块与全局缓存一起评分。候选规模约为 $C+\lambda$，再保留 Top-$\lambda$，其余批量写入状态。这样降低串行更新次数，但不能像纯加法线性注意力那样把所有块完全并行，因为分配依赖前面得到的状态。（Sec. 3，Eq. (15)，PDF p. 6）

**原文记号需要小心**：正文使用 $C$ 描述 chunk、$\eta$ 描述窗口，提及两块局部 KV；附录 B 又把 $\eta$ 称作 chunk size，附录 H 每次替换窗口的一半。复现时必须明确“表中的 $\eta$、实际保留 token 数、chunk 长度”之间的映射，不能不加核对地设成同一个量。

附录 H 是解释用伪代码。它省略或简化了滑窗转移、未满缓存、零状态分母、因果掩码、数值稳定和并列 Top-k 等边界处理。例如 $\mathbf H=0,\mathbf s=0$ 时不能直接做 SRE 除法；附录 B 说明短序列阶段尚不建立线性状态或计算 SRE。阈值式 Top-k 遇到同分也可能多留元素，真正实现应限制精确容量。笔记不把该伪代码视为可直接运行的实现。（PDF pp. 19–20、27–28）

### 2.7 成本：固定预算下的状态有界

按附录 B 的单头元素计数：

$$
M_{\rm full}(t)=t(d_k+d_v),
$$

$$
M_{\rm LoLA}(t)=\min\left\{t(d_k+d_v),\;(\eta+\lambda)(d_k+d_v)+Dd_v+D\right\}.
$$

前两项是显式 KV，后两项分别是 $\mathbf H$ 与 $\mathbf s$。固定这些超参数后，持久注意力状态与上下文长度无关。按上述运算作量级估算，每块候选评分需要约 $O((C+\lambda)Dd_v)$ 的工作；这是本次分析，不是原文实测时间公式。固定状态并不会消除评分、排序和串行分块的开销。

![缓存大小随上下文增长](figures/fig-07-cache.png)

原图 Fig. 7，PDF p. 20。横轴是上下文长度，纵轴是每个注意力头缓存的**元素数**；灰色完整注意力随长度增长，红/蓝 LoLA 曲线达到预算后饱和。它不是整机显存曲线，也不是速度曲线。全模型还需考虑权重、激活、精度与跨头共享方式。

**4.6× 口径核查**：摘要、Sec. 4.1 与 Table 9 报告 `(256,256)` 在 4K 的缓存缩减为 4.6×。若按上面的单头公式，并取文中 8B 的 $d_k=128$、$D=256$，在另加 $d_v=128$ 的假设下直接计算，则为

$$
\frac{4096\times256}{512\times256+256\times128+256}=6.39\times.
$$

这项条件性复算不能复现 4.6×；分块窗口记号、跨头存储等实际计数口径未在这些位置解释完整。因此本笔记将 **4.6× 标成作者报告值，不当作独立核实的精确全模型节省倍数**。无论哪个口径，都不能由它推出整机 VRAM 下降 4.6 倍。

## 三：实验设计与指标

### 3.1 “免训练”针对 LoLA 增强，不针对基础模型

基础模型由 Llama-3.1-8B / Llama-3.2-1B 经 LoLCATs 流程得到：把注意力改成同头内的滑窗加线性注意力，训练滑窗 $\eta=64$，特征维度 $D=2d_k$。先冻结其余参数，对特征映射 $\phi$ 在 Alpaca 上蒸馏两轮；再对全模型做两轮 LoRA 微调。作者合计报告 **40M tokens、序列长度 1024**。LoLA 随后只改变推理时缓存管理，不再为这一步训练权重。（Sec. 2.3、Sec. 4，PDF pp. 3–4、6–7）

40M 是迁移/微调预算；基础教师已消耗大规模预训练数据。不能把“40M 的 LoLA”与“3.5T 从头训练的 Mamba2”理解成完全从零开始的训练成本比较。

### 3.2 各组实验的配置不能混用

| 实验 | LoLA 配置 | 对照及问题 | 指标与方向 |
| --- | --- | --- | --- |
| Table 1：S-NIAH | `(64,64)`、`(256,256)`、`(512,512)` | 同权重、扩大窗口的 LoLCATs+；完整 Llama 作参考 | 召回准确率，越高越好 |
| Table 2：4K RULER 十任务 | `(128,768)` | LoLCATs+ `(896,0)`、Mamba2-8B、Llama | 各任务分数及十任务平均，越高越好 |
| Table 3：8B 常识/语言任务 | `(64,64)` | 多种 7–9B 固定记忆模型 | accuracy；ARC-c/HellaSwag 用 acc_norm；MMLU 为 5-shot |
| Table 4：评分消融 | 512-token 输入，`(64,64)` | 只替换评分；另有 128-token 纯窗口 | S-NIAH-1 准确率 |
| Table 11：LongBench | `(512,1024)` | LoLCATs+ `(1536,0)`、原模型、Mamba2 | 各数据集 benchmark 分数，越高越好 |
| Table 12：读取消融 | `(512,512)` | 不改存储更新，只屏蔽 query 读取分支 | 四种 S-NIAH 设置准确率 |
| 附录 B：效率 | 多组 $\eta,\lambda$ | 4K 预填充、1K 后解码 | TTFT/层延迟/VRAM 越低越好；tok/s 越高越好 |

`acc_norm` 是候选答案长度归一化评分下的选择准确率，不要与普通 accuracy 混用。MMLU 明确为 **5-shot**，所以作者标题中的“zero-shot commonsense”不能不加限定地覆盖所有列。

### 3.3 数据与统计口径

S-NIAH-1 的背景是重复/随机短句，S-NIAH-2/3 的背景是文章。前两者的针是词与 7 位数字的关联，第三类为 32 位 UUID，需要记住更多 token。RULER 其余任务还包括多 key、多 query、多 value、变量追踪、常见/高频词提取以及问答。（附录 C，PDF pp. 20–21）

Table 10 明确除 16K 用 250 个样本外，其余长度用 500 个；Table 2 特别说明 Llama 每任务 50 个样本；Table 12 的消融运行每项 50 个样本。不能把某一表的样本数默认套用到所有实验。主要表未给出多随机种子方差、置信区间或显著性检验。

LongBench 涵盖单文档 QA、多文档 QA、少样本分类/问答。v3 没有完整列出每个任务的评测函数、截断长度、生成配置等，因此这里只按原表报告为“分数”，不把其平均值泛称为准确率。Table 5 的 1B 实验也没有像 Table 3 一样独立明确写出缓存参数。

## 四：结果与解释

### 4.1 关联召回：等预算对照比摘要更有解释力

以下保留 Table 1 中最能比较预算的结果；数值均为准确率百分数。

| 模型 | $(\eta,\lambda)$ | S-NIAH-1 4K | S-NIAH-2 2K | S-NIAH-3 2K |
| --- | --- | ---: | ---: | ---: |
| Llama-3.1-8B | 全历史 | 100.0 | 100.0 | 100.0 |
| LoLCATs-8B | `(64,0)` | 0.6 | 2.0 | 0.6 |
| LoLCATs+ | `(128,0)` | 1.4 | 7.2 | 3.2 |
| LoLA | `(64,64)` | 69.4 | 3.0 | 1.6 |
| LoLCATs+ | `(512,0)` | 8.8 | 21.6 | 10.6 |
| LoLA | `(256,256)` | 97.4 | 85.4 | 27.2 |
| LoLCATs+ | `(1024,0)` | 30.4 | 60.0 | 27.6 |
| LoLA | `(512,512)` | 100.0 | 100.0 | 100.0 |

来源：Sec. 4.1，PDF p. 7，Table 1。可见 LoLA 并非在每个预算、每个任务都胜过同槽位纯滑窗：小预算时，S-NIAH-2/3 的 2K 结果反而更差。更复杂的关联需要足够的稀疏容量，不能从简单 passkey 的高分推出通用长文本能力。

### 4.2 更难的 RULER：平均改善很大，仍远低于 Transformer

固定 4K。LoLA 使用 `(128,768)`，LoLCATs+ 使用 `(896,0)`。

| 任务 | LoLCATs+ | LoLA | Mamba2-8B | Llama-3.1-8B |
| --- | ---: | ---: | ---: | ---: |
| 多 key MK1 | 12.8 | 39.4 | 40.3 | 100.0 |
| 多 key MK2 | 1.4 | 11.6 | 13.8 | 100.0 |
| 多 key MK3 | 0.4 | 7.6 | 5.5 | 98.0 |
| 多 query MQ | 3.3 | 67.6 | 49.1 | 90.5 |
| 多 value MV | 3.6 | 65.0 | 35.0 | 98.5 |
| 变量追踪 VT | 0.7 | 85.2 | 76.5 | 99.6 |
| 常见词 CWE | 3.0 | 45.9 | 32.9 | 95.2 |
| 高频词 FWE | 13.6 | 51.3 | 76.6 | 91.7 |
| HotpotQA | 14.2 | 24.2 | 31.8 | 62.0 |
| SQuAD QA | 14.0 | 53.9 | 35.5 | 81.5 |
| **平均** | **6.7** | **45.2** | **39.7** | **91.7** |

来源：Table 2，PDF p. 7。LoLA 相对 LoLCATs+ 增加 **38.5 分**，相对 Mamba2 增加 **5.5 分**，但比 Llama 低 **46.5 分**。它在 MQ、MV、VT 等任务的提升支持“改善状态中的关联信息保存”这一解释；MK1/2、FWE、HotpotQA 则没有胜过 Mamba2。模型训练来源也不同，这不是所有架构因素均受控的比较。

### 4.3 常识与语言建模：Lambada 收益突出，MMLU 仍有缺口

| 8B 指标 | LoLCATs | LoLA `(64,64)` | Llama-3.1 |
| --- | ---: | ---: | ---: |
| PIQA acc | 81.0 | 81.6 | 81.1 |
| ARC-e acc | 82.4 | 82.5 | 81.7 |
| ARC-c acc_norm | 54.4 | 55.4 | 55.1 |
| HellaSwag acc_norm | 79.1 | 79.8 | 79.3 |
| WinoGrande acc | 73.6 | 73.6 | 73.9 |
| MMLU 5-shot | 54.9 | 57.6 | 68.0 |
| Lambada acc | 67.6 | 74.9 | 73.0 |

来源：Table 3，PDF p. 8。Lambada 增加 **7.3 个百分点**，MMLU 增加 **2.7 个百分点**，WinoGrande 不变。作者将后者解释为短上下文主要依赖局部信息，将 MMLU 缺口部分归因于蒸馏数据和流程；这些是解释，不是单独验证过的因果结论。LoLA 也不是 Table 3 每列第一：例如 RecurrentGemma-9B 的 ARC-c 57.1、HellaSwag 80.1 都更高。

附录 A 的 1B 结果如下：

| 指标 | LoLCATs-Llama-1B | LoLA-1B | Llama-3.2-1B |
| --- | ---: | ---: | ---: |
| PIQA acc | 74.6 | 76.2 | 74.4 |
| ARC-e acc | 63.0 | 66.2 | 65.5 |
| ARC-c acc_norm | 35.1 | 36.9 | 35.8 |
| HellaSwag acc_norm | 63.7 | 64.1 | 63.7 |
| WinoGrande acc | 61.5 | 60.9 | 60.5 |
| Lambada acc | 53.4 | 61.9 | 60.1 |
| Lambada ppl，越低越好 | 9.3 | 5.3 | 未报告 |

来源：Table 5，PDF p. 16。Lambada 增加 **8.5 个百分点**，困惑度下降；WinoGrande 表面上下降 0.6 点，但作者说明 LoLCATs 的 61.5 来自先前论文，自己的复现值为 60.9，所以这不是严格同次复现结果的下降。

Table 6（PDF p. 17）给出的六任务平均中，LoLA 约为 61.0（1B）和 74.6（8B），教师约为 60.0 和 74.0；相对教师平均比值分别报告为 1.017× 与 1.009×。**这六项不包括 MMLU**，不能据此说所有任务平均已超过教师。跨教师表还存在列错配，详见后文核查记录，不使用它推导全面排名。

### 4.4 碰撞可视化：滑窗延迟问题，稀疏分配减轻问题

![状态中 KV 的自召回误差](figures/fig-03-sre.png)

原图 Fig. 3，PDF p. 9。横轴为 KV 的位置，纵轴为使用的状态时间；颜色越亮 SRE 越大。三个面板分别是纯线性注意力、滑窗加线性注意力、LoLA。亮竖列表示某些关联在多个后续时刻都难以回忆。增加滑窗可延迟其进入状态，而 LoLA 在被展示序列中让整体误差更低。

稀疏/局部缓存中尚未进入状态的 KV 不应与状态内实际重建误差混为一谈；作者用零列展示被保留的难例，**不能把这些零列当作线性状态对该 KV 的精确重建**。这也是读热图时必须保留的限定。

![相对初次写入的自召回误差变化](figures/fig-10-relative-sre.png)

原图 Fig. 10，PDF p. 26；定义见 Eq. (26)，PDF p. 27。这里“relative”是**当前 SRE 减去初次写入时 SRE**，不是百分比、比值或除以 value 范数。它展示早期写入时误差很小的记忆，之后仍可能被新写入破坏。可视化支持机制解释，但不是对全部层、全部输入的统计保证。

### 4.5 评分消融：重建关联比拟合局部权重更有效

| 保留 KV 的评分规则 | S-NIAH-1，512 tokens |
| --- | ---: |
| **SRE：value 重建的 L2 误差** | **99.0%** |
| 指数核与特征核的平方误差 | 11.4% |
| 指数核与特征核的绝对误差 | 20.0% |
| 特征核/指数核比值，偏好被线性核高估的 key | 52.0% |
| 局部 query 对 key 的指数点积累计 | 10.6% |
| 不设稀疏缓存，纯窗口扩大到 128 | 29.4% |

来源：Table 4，PDF p. 10；具体公式在附录 F，PDF p. 26。除最后一行外采用 `(η,λ)=(64,64)`。替代的 query-dependent 评分在 key 处于滑窗的期间累计，并非用未来全序列 query 做全知选择。

该实验说明：在混合记忆系统中，优先精确保留“线性状态表达不好的 KV”，比优先保留“局部注意力权重大的 KV”更合适。但消融只在一个 512-token 合成设置下报告，不能扩张为所有稀疏注意力规则在所有任务上都不如 SRE。

### 4.6 效率：预填充开销与生成速度应分开看

实验硬件为 **NVIDIA RTX 4090**。端到端 TTFT 在 4K 上测量，数据已放在 VRAM 中，平均 100 次；这不包含数据加载时间。单层测试则用序列长 4096、嵌入维度 4096、32 头、batch=2，平均 250 次。（附录 B，PDF pp. 16–18）

![TTFT 与缓存设置](figures/fig-04-ttft.png)

原图 Fig. 4，PDF p. 17。横轴是稀疏容量 $\lambda$，纵轴是窗口参数 $\eta$，格子数值单位为秒；越低越好。较大 $\eta$ 降低串行更新频率，因而可以抵消部分稀疏评分开销。

| 范围 | 设置/比较 | 原文数值 | 解读 |
| --- | --- | --- | --- |
| 端到端 TTFT | $\eta=512$，$\lambda:0\to512$ | 0.57→0.63 秒 | 增加约 10.5% |
| 端到端 TTFT | $\eta=64$，$\lambda:0\to512$ | 0.99→1.46 秒 | 增加约 47.5% |
| 单层前向 | $\eta=512$，$\lambda:0\to512$ | 4.2→9.7 ms | 约 2.31×；不能用整机 10% 掩盖该开销 |
| 单层前向 | $\eta=64$，$\lambda:0\to512$ | 18.3→35.5 ms | 约 1.94× |
| 端到端解码 | 1K 预填充后，多组缓存参数 | 27.9–28.2 tok/s | 所测范围参数影响小；非相对 Llama 的加速比 |

来源：Fig. 4、Tables 7–8，PDF pp. 17–18。作者还给出纯 PyTorch 线性注意力 TTFT 约 0.55–0.57 秒、VRAM 18.0 GB；LoLA 没有使用完整的专用低层融合实现，进一步 CUDA/Triton 优化属于未来工作。

![不同缓存参数的峰值显存](figures/fig-05-vram.png)

原图 Fig. 5，PDF p. 19，轴与 Fig. 4 相同，单位 GB，包含模型权重、数据和在线激活。所测格点约 18.1–19.0 GB：例如固定 $\eta=512$，$\lambda:0\to512$ 时从 18.5→19.0 GB。这是总 VRAM，不是仅 KV 缓存大小。

![缓存分配与变量追踪准确率](figures/fig-06-vt.png)

原图 Fig. 6，PDF p. 19，颜色/格子为 4K VT 准确率，越高越好。同样的稀疏预算并不意味着扩大局部窗口总会更准：$\lambda=512$ 时，$\eta=64,256,512$ 分别为 78.3%、86.9%、72.2%。增加 $\lambda$ 在这些格点上收益明显，但性能、时间和显存需要共同取舍，不能宣称所有参数越大越好。

作者报告其 Llama-3.1-8B 实验设置在 4K 遇到 OOM；未完整给出足以泛化到其他部署方式的配置。不能据此说所有 4090 上的 Llama-8B 都无法运行 4K。

### 4.7 更长序列与自然语言长文

Table 9 在等分窗口与稀疏缓存的基础上扩展预算：LoLA 在 4K S-NIAH-1 的成绩随更大名义预算为 69.4、89.6、97.4、99.0。最后一项与 Table 1 的 100.0 存在差异，不合并成一个值。

Table 10 的 `LoLA-8B 4+` 是附录定义的大缓存版本：

| 上下文 | 0.5K | 1K | 2K | 4K | 8K | 16K |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| S-NIAH-1 准确率 | 100% | 100% | 100% | 99.0% | 92.2% | 13.6% |
| 原文报告压缩比 | 1× | 1× | 1.2× | 2.4× | 4.9× | 9.8× |

来源：Tables 9–10，PDF p. 21。压缩比随长度增加，并不代表准确率能维持。此表对“lifelong in-context learning”的定位很清楚：论文为这条方向提供记忆机制，并没有实现无限长可靠记忆。

LongBench 结果如下，LoLA 与 LoLCATs+ 都使用名义 1536 个显式 KV 槽位：

| 数据集 | LoLCATs+ `(1536,0)` | LoLA `(512,1024)` | Mamba2-8B |
| --- | ---: | ---: | ---: |
| QasperQA | 1.8 | 23.1 | 25.7 |
| MultiFieldQA | 6.1 | 30.8 | 29.3 |
| HotpotQA | 4.4 | 11.8 | 30.0 |
| 2WikiMQA | 5.6 | 17.7 | 24.6 |
| MuSiQue | 1.5 | 3.4 | 11.1 |
| TREC | 37.5 | 57.5 | 54.0 |
| TriviaQA | 5.8 | 50.2 | 77.77 |
| **平均** | **9.0** | **27.8** | **36.1** |

来源：Table 11，PDF p. 21。LoLA 相对等名义预算 LoLCATs+ 增加 18.8 分，但低于 Mamba2 8.3 分，尤其多文档 QA 仍弱。Table 11 的原始 LoLCATs 平均仅 2.4；该大幅提升说明稀疏分配很有用，却不能说明基础蒸馏的所有能力缺口已被补上。

### 4.8 模块读取消融：稀疏缓存不是独自完成检索

附录 I 的设计容易误读：**缓存照常更新，只限制 query 能读取哪些部分**。隐藏稀疏分支后，那些 KV 仍留在稀疏缓存，没有被转移回线性状态；因此它不同于去掉 LoLA、恢复 LoLCATs。

| 可读取分支，均固定 LoLA `(512,512)` | SN-1 2K | SN-1 4K | SN-2 2K | SN-3 2K |
| --- | ---: | ---: | ---: | ---: |
| 状态 + 稀疏 + 滑窗 | 100 | 100 | 100 | 100 |
| 稀疏 + 滑窗，隐藏状态 | 14 | 6 | 2 | 0 |
| 状态 + 滑窗，隐藏稀疏 | 26 | 14 | 24 | 10 |
| 仅滑窗 | 18 | 8 | 0 | 0 |

来源：Table 12，PDF p. 29；消融运行每项 50 个样本。单独读任一全局记忆都远不如完整模型。隐藏稀疏分支的 4K SN-1 得分 14，还高于普通 512 窗口 LoLCATs 的 8.8，支持“将某些难例隔离在状态之外，有时能保护其余记忆”的解释。

不过差值较小、样本有限且未给误差条；SN-3 的 10 还略低于对应 LoLCATs 的 10.6，所以不能说保护效应在每项都成立。该消融也没有真正移除滑窗，不能据此单独证明滑窗这一模块不可替代。附录最后一句“只在滑窗内计算 SRE”与 Sec. 3 对全局缓存重新评分的描述不完全一致，算法应以明确的候选集合和伪代码为准。

### 4.9 低秩理论与相关工作：为什么这个分工合理

附录 E 构造指数核 Gram 矩阵 $\mathbf G_{ij}=\exp(\mathbf x_i^\top\mathbf x_j)$。有限特征映射产生的 $\widehat{\mathbf G}$ 秩至多为 $D$，由截断 SVD 的最优性得到：

$$
\|\mathbf G-\widehat{\mathbf G}\|_F^2
\geq\sum_{i=D+1}^{\operatorname{rank}(\mathbf G)}\sigma_i^2.
$$

若谱尾质量很大，任何秩至多 $D$ 的矩阵都无法很好逼近这个**未归一化核矩阵**。作者用缩放高斯输入，考察 $d_k=64$ 下 $n=512,1024,2048$，以及 $n=2048$ 下 $d_k=64,128,256$。（PDF pp. 24–25，Eq. (21)，Figs. 8–9）

![指数核的谱与截断误差](figures/fig-08-svd.png)

原图 Fig. 8，PDF p. 25，裁切保留六个面板。上排横轴为谱索引，纵轴为奇异值平方；下排横轴为截断秩，纵轴为平方 Frobenius 误差，纵轴均为对数尺度。红色为指数核，蓝色为未取指数的 QK；随样本增加，指数核的谱尾仍很重。Fig. 9 固定样本数、增加维度，展示类似问题。

**证明范围**：SVD 下界是严格的，但高斯样本上的谱形态是实验观察；它不是所有语言数据上的统一下界，更不是归一化注意力输出或任务准确率的直接误差界。因此不能写成“证明一切线性注意力必然不行”。

附录 D 将 LoLA 放在测试时回归/训练（test-time regression/training）的视角：内层状态拟合关联，外层选择哪些关联值得交给该参数化状态。SRE 类似关联回归残差，但 LoLA 用它进行路由，不是直接以 DeltaNet 的平方误差梯度替换状态更新。作者提出的双层优化只是概念性解释，实际采用贪心选择，没有全局最优保证。（PDF pp. 22–24）

与其他混合方法的区别在于 **同一个 head 内分配 token**：不是简单把不同 head/layer 的独立输出做集成。门控通过衰减旧信息腾出状态容量，LoLA 则将部分困难信息保留为显式 KV。向更复杂的非线性 TTT 模型推广是作者展望，本文实验只覆盖两种 LoLCATs 基础模型。

## 五：结论、边界与复现关注点

### 5.1 最可靠的贡献

LoLA 的贡献可以归结为：**稀疏缓存应当替压缩记忆保存它难以表达的关联，而不仅仅保存最近或当前最受关注的 token。** 相同模型权重和名义槽位下的检索对照、评分消融及读取分支消融共同支持这个判断。

它适合已经具有同头内“滑窗 + 线性注意力”的模型，且任务确实受远距离关联保存限制的场景。训练期改造完整 Transformer 为基础混合模型，仍然是必要前提之一；不能把 LoLA 理解为对任意已训练 Transformer 的零成本开关。

### 5.2 不能越过的证据边界

- **无限流可运行与无限流可靠记忆不同**：固定预算下状态有界，但 16K 的召回下降已经展示容量限制。
- **选择是贪心且不可逆的**：状态中的旧 KV 不会再次以原始形式进入候选池。
- **效率有条件**：较大窗口缓解预填充开销；专用层的额外开销可能显著；没有端到端“对所有 Transformer 都更快”的证据。
- **常识任务接近教师不等于全面保持能力**：MMLU 仍有 10.4 点缺口，LongBench 也落后于 Mamba2。
- **泛化架构未充分验证**：只测试 LoLCATs-Llama-1B/8B；在 DeltaNet、非线性 TTT 等上的效果仍是待验证方向。
- **统计报告有限**：主表多为单点分数，跨模型结果来源混合；小幅领先不自动代表显著优势。

### 5.3 原文口径与数值核查记录

| 位置 | 发现 | 本次处理 |
| --- | --- | --- |
| Table 3，p. 8 | 正文称 zero-shot，但 MMLU 表注明 5-shot | 明确标注 MMLU 例外 |
| Tables 1 与 9–10，pp. 7、21 | 对应大预算的 4K SN-1 分别报告 100.0 与 99.0；未说明差异原因 | 按各表原值呈现，不平均、不猜测随机种子 |
| Table 6，p. 17 | Llama-3.2 / LoLA 行改称 1.3B，与正文和 Table 5 的 1B 命名不一致 | 依正文称 1B，并记录表中差异 |
| Tables 3 与 6，pp. 8、17 | Mamba2-Llama3 的 43.2 在 Table 3 为 MMLU，Table 6 却列入 LB；Table 3 的 LB 未报告 | 不使用这一行做有效的六任务跨教师比较 |
| 摘要、Sec. 4.1、附录 B | 报告 4.6×；单头公式在说明的假设下得 6.39×；窗口/chunk 记号有混用 | 保留报告值并说明无法按文中信息完全复算 |
| Eq. (12) 与附录 H | 状态下标写法存在时间顺序歧义 | 按“先评分、后写入”解释 |
| 附录 H，pp. 27–28 | 伪代码省略初始化、数值稳定等细节 | 作为机制说明，不声称可直接运行 |
| 附录 I，p. 29 | “SRE 只在滑窗内算”与全局缓存重评分描述不一致 | 依据 Sec. 3 与 H 的候选集合解释 |

### 5.4 值得进一步验证的三个问题

1. 在更强的基础递归记忆上，SRE 能否用更小的稀疏缓存得到同等收益？这能区分“补偿较弱蒸馏模型”与普遍有效的容量分配。
2. SRE 的 value 范数、不同 head 的尺度以及写入后状态变化会怎样影响选择？当前误差大不一定等于长期有用，可以在严格等预算下检验改进规则。
3. 在更长自然语言、重复查询和专用融合内核下，质量—状态容量—实际延迟是否仍有优势？应分别报告预填充、解码与总显存，不能只展示理论复杂度。

## 材料与使用说明

所有实验数值来自指定的 v3；图件来自同一版本作者 PDF 或论文 PDF 裁切，[图件来源清单](figures/manifest.json) 记录原图号及页码。笔记中的差值、倍率和缓存量代入为本次复算，已与原文报告值区分。原文附录 H 提供了作者的 [最小实现链接](https://github.com/lukemcdermotttt/LoLA-release)，本次未审计该仓库或运行模型实验。

英文幻灯片使用本机 `pdflatex` 与随附的 `build_slides.py` 编译；在本目录执行 `python3 build_slides.py slides.en.tex` 可重建。分享 Markdown 或 TeX 时请一并携带 `figures/`；单独分享 PDF 不需要附带图件目录。
