本文提出了 Memory Caching (MC),一种增强循环神经网络 (RNN) 记忆能力的长序列建模技术。通过将序列分段并缓存隐藏状态快照,该方法使 RNN 的有效内存容量随序列长度增长,在 recall-intensive 任务上填补了 RNN 与 Transformer 之间的性能鸿沟,实现了 SOTA 循环模型的性能突破。
TL;DR
长期以来,循环模型(RNNs, Linear Attention, SSMs)因其恒定的推理开销被视为 Transformer 的挑战者,但它们在深度召回任务中的“健忘症”始终是硬伤。谷歌等机构提出的 Memory Caching (MC) 技术,通过在推理过程中动态缓存和检索历史内存快照,让 RNN 的内存容量能够随序列长度增长,兼顾了 Transformer 的高精度与线性模型的效率。
背景定位:徘徊在 O(L) 与 O(L^2) 之间
Transformer 的成功很大程度上归功于其 Growing Memory:随着 Context Length 增加,KV-cache 随之增长,确保模型能检索到任何历史细节。反观 RNN 变体,其将所有历史压缩进一个固定大小的 Hidden State,这无异于试图用一个瓶子装下一条河,必然导致信息溢出。
本文提出的 MC 处于学术坐标系的“中间地带”:它不追求完全的 极致压缩,也不接受 的冗余计算,而是通过可控的缓存频率,实现 的复杂度( 为缓存段数),在计算效率与记忆召回之间架起了一座桥梁。
痛点深挖:为什么 RNN 总是“记不住”?
线性注意力(Linear Attention)等架构尝试通过 实现循环更新。其本质是在进行单步在线优化。然而,当处理数万个 token 时:
- 梯度消失/衰减:旧信息的权重在不断累加中被冲淡。
- 容量饱和:固定维度的矩阵无法承载无限的信息复杂度。
- 缺乏选择性:标准 RNN 无法像 Attention 那样精确地跳回到某个特定历史节点。
核心方法论:Memory Caching 的四种姿势
作者的核心直觉是:如果一个内存不够,那就存一堆内存快照。

1. (Gated) Residual Memory (GRM)
最直观的方法是让 Query 同时作用于当下的内存块和历史缓存块,并进行求和。为了避免旧信息干扰,引入了 Context-aware Gating: 这里的 是根据当前输入与历史段落的相似度动态计算的,实现了类似 Attention 的选择性。
2. Memory Soup
受“模型汤”(Model Soups)启发,对于非线性内存模块(如 Titans 或 DLA),本文提出直接在参数空间进行插值: 这意味着每个 Token 在检索时,实际上是创建了一个融合了多段历史知识的“临时特种内存模型”。
3. Sparse Selective Caching (SSC)
为了应对超长序列,SSC 引入了 Router(路由器)。它只挑选相关度最高的 Top-k 个历史快照进行计算。这极大地降低了 GPU 的显存加载压力,是迈向“无限长上下文”的工程优化利器。

实验结果:闭合与 Transformer 的差距
在核心的 Needle-in-a-Haystack (NIAH) 测试中,传统的线性模型(如 DLA)在 16K 长度时几乎崩溃(召回率跌至个位数),而加入 MC 后的模型表现出极强的韧性:
| 架构 | 4K 召回率 | 8K 召回率 | 16K 召回率 | | :--- | :--- | :--- | :--- | | DLA (Base) | 18.2% | 8.8% | 4.0% | | DLA + GRM | 48.2% | 34.4% | 18.2% | | Titans (Base) | 74.2% | 42.8% | 21.2% | | Titans + GRM | 89.4% | 69.0% | 32.2% |
这种显著的阶跃式提升证明了,即便内存模块本身不改变,仅仅通过改变“如何组织和检索历史快照”,就能榨取出循环模型巨大的潜力。
深度洞察:另一种视角的混合模型 (Hybrid Models)
有趣的是,作者指出当 MC 的段长度设为 1 时,它在数学上等价于某种形式的 Gated Attention。这为当前的 Hybrid 架构(如 Jamba, Samba 等将简单 RNN 与 Attention 交织)提供了理论解释。MC 实际上提供了一个统一框架:
- Segment Size = 1 Transformer (全留存,零压缩)
- Segment Size = RNN (全压缩,零留存)
- Memory Caching 受控的、按需的记忆增长。
总结与局限
Memory Caching 为 RNN 阵营提供了一个强有力的武器,证明了“线性效率”与“长效记忆”并非鱼与熊掌不可兼得。
不足之处:
- 推理成本:虽然比全注意力快,但 意味着缓存段越多,KV 加载开销越大。
- 分段策略:目前采用等长分段,未来若能实现根据语义重要性动态分段,性能可能更进一步。
这篇工作对于希望在端侧(Memory-constrained devices)实现长文本处理的开发者来说,具有极高的参考价值。
