Sparse Delta Memory:通过稀疏性扩展线性 RNN 的状态容量

  • 关联论文:2607.07386
  • 作者:flyP
  • 更新:2026-07-14

一句话结论

本文提出 Sparse Delta Memory(SDM),在 Gated DeltaNet(GDN)的基础上用 Product-Key Memory(PKM)式稀疏寻址 把"密集 K-V 外积更新"替换成"稀疏读 / 稀疏写到一个大容量显式 memory",在同等参数、同等 FLOPs 的约束下把隐状态容量扩展了三个数量级,并在长上下文召回(1M tokens)和 in-context learning 上显著超过 GDN/Mamba2,把线性 RNN 的"长上下文短板"拉到了接近 full-attention Transformer 的水平。

解决什么真问题

长上下文是当前 frontier LLM 的核心瓶颈之一:

  • Full softmax attention 的 KV cache 随序列长度线性增长,context 越长,每 token 的显存与算力都线性膨胀——这在 agent 持续推理、代码库级上下文、长视频等场景下不可持续。
  • Linear attention / Mamba2 / Gated DeltaNet(GDN) 用固定大小的循环状态(recurrent state)解决了 KV 线性膨胀问题,每 token 计算和显存是常数,但状态太小,长上下文召回能力被 Arora et al. 2025 实证证明"被状态容量天花板锁死"——这是 linear RNN 类架构"无限 context"叙事背后的真实短板。
  • 直接扩大状态 看起来是直觉解,但 GDN / Mamba2 的状态更新是密集 K-V 外积 M ← αM + βk(v − αMᵀk)ᵀ,状态变大直接等于每 token FLOPs 变大,性能被算力约束反噬

SDM 的核心主张:GDN 的更新规则可以稀疏化——不是所有 slot 都需要每次都更新,只需要命中一小组稀疏索引即可。这种"用稀疏换容量"既保住了常数 FLOPs,又把状态从 ~10³–10⁴ 拉到 ~10⁶–10⁷,是线性 RNN 长上下文能力的关键释放点。

核心方法

3.1 SDM 层的三步流程

每个 SDM 层在每个 token t 沿用 GDN 的 decay-delta 更新结构,但把"密集 K-V 外积"换成"稀疏 PKM 寻址"。设每个 head 有一个显式 memory M_t ∈ ℝ^{N × d_v},N 是 slot 数(远大于 GDN 的 head 维数):

  1. 稀疏 Key 选择(Sparse Key Selection)
    输入 x_t 通过两个独立线性投影 W_k, W_q ∈ ℝ^{d × 2√N} 得到 pre-PKM 的写 key k'_t 和读 query q'_t。把每个向量拆成两半 k'_{1,t}, k'_{2,t} ∈ ℝ^√N(query 同理),用外积和 k'_{1,t} ⊕ k'_{2,t} ∈ ℝ^{√N × √N} 得到 N 个 slot 的分数。利用 PKM 的关键恒等式
    top_k(s₁ ⊕ s₂) = top_k(top_k(s₁) ⊕ top_k(s₂))
    不用物化整张 N×N 分数表,就能选出 top-W 个写索引 I^w_t 和 top-R 个读索引 I^r_t,复杂度 O(√N · d + W² + R²),对 N = 10⁶ 量级仍然高效。

  2. Gated Delta Write(稀疏写入)
    对每个被选中的写 slot i ∈ I^w_t,执行: M̃_t[i] ← α_t · M_{t-1}[i] # forget gate M_t[i] ← M̃_t[i] + β_t · k_t^{(i)} · (v_t − M̃_t[i]) # delta + input gate 其中 α_t = exp(−A · softplus(W_a x_t + b_dt)) 是 head 级遗忘门,β_t = σ(W_b x_t) 是输入门,v_t = W_v x_t 是 value。未被选中的 slot 保持原值不动 M_t[i] = M_{t-1}[i]——这就是"稀疏写"的代价。

  3. 稀疏读(Sparse Read)
    读出是 R 个被选中 slot 的加权和: y_t = M_t^⊤ q_t = Σ_{i ∈ I^r_t} q_t^{(i)} · M_t[i] 再走 RMS-Norm → element-wise gating g ∈ ℝ^{d_v} → 输出投影 W_o 混合各 head。

与 GDN 的关系:当 N = d_qkW = R = d_qk(即全部 slot 都被选)、稀疏 key k_t^{(i)} 退化为稠密向量时,SDM 的更新公式完全退化为 GDN。SDM 是 GDN 的严格稀疏推广。

关键设计:把 SDM 的初始状态 M_0 也作为可学习参数(learned initial state),让 memory 同时承担"在线 KV cache"和"参数化知识库"两个角色——这点和 GDN 不同(GDN 状态太小,做不了 parametric memory)。

3.2 IsoFLOP 设计:严格匹配 GDN 的参数和算力

论文的核心严谨性之一是不靠算力换性能

  • 参数对齐W_q, W_k ∈ ℝ^{d × d_qk^total}W_v ∈ ℝ^{d × d_v^total} 在 GDN 和 SDM 间完全相同。其中 d_qk^total = H · d_qk^GDN = d/2d_v^total = H · d_v^GDN = d
  • 算力对齐:GDN 的每 token 成本是 O(H · d_qk^GDN · d_v^GDN);SDM 的成本是 O(H^SDM · (W + R) · d_v^SDM)与 memory size N 无关。设 W = R = d_qk^GDN 时,两边算力精确相等(PKM top-k 的额外算力不到 1%)。
  • 具体地,d_qk^GDN = 64d_v^GDN = 128

3.3 控制状态扩展的 head 数

公式 (6) 给出 SDM 单层 memory size:

M_size = (d_qk^total)² · d_v^total / (4 H²)

也就是 O(d³) 增长(比模型参数 O(d²) 还快)。Head 数 H 不影响 FLOPs,但能调节 state size——SDM 用 H 作为控制 state 膨胀的旋钮,避免在 8B 规模上 state 大到不现实。

3.4 高效训练

由于 SDM 与 GDN 共享 WY 表示(chunk-wise 并行),作者直接复用了 FLA / GDN 的训练内核,并用 memory-efficient backward 把稀疏操作的梯度开销压到合理范围(细节在 Appendix A,原文未在本节展开具体数字)。

关键实验与数据

4.1 模型与训练

所有模型采用 hybrid 架构:3:1 短:long 层比例,短层用 sliding window attention(窗口大小 128)+ grouped-query attention(group size 2)+ gated attention output;长层换成 SDM/GDN/Mamba2。1.4B 参数级模型做 ablation,8B activated 参数模型用 1T+ tokens 训练做 isoFLOP 验证。

4.2 关键结果

  • 长上下文召回(RULER 基准):SDM 在所有序列长度(最长 1M tokens)上召回准确率显著高于 GDN baseline,且 state size 越大、in-context 学习能力越强(验证了 Arora 2025 "状态容量即上限" 的论断)。
  • 1M token 上下文:SDM 在百万级 in-context learning 序列上保持可用,GDN 在该尺度上几乎退化为随机。
  • 8B isoFLOP 对比:SDM 在相同训练 token 数和参数数下,训练 loss 一致低于 GDN,并且在短上下文 accuracy 上略优于 full attention Transformer baseline——这是稀疏化 linear RNN 第一次在 isoFLOP 设定下同时击败 GDN 和 full attention。
  • Learned Initial State 的影响:把 M_0 作为可学习参数后,模型在常见知识 / 推理任务(commonsense、QA、reasoning benchmarks)上整体提升;这表明大状态不仅能做"在线 KV",还能做"参数化记忆",承载预训练学到的世界知识。
  • State size 单调有益:在 isoFLOP 下,扩大 memory size(通过调小 H 或扩 d)始终带来 in-context learning 与长召回的提升,没有观察到收益饱和——意味着"状态容量天花板"在 SDM 上被推到了更远。

(具体的 benchmark-by-benchmark 数字如 RULER 各子任务准确率、MMLU 子集分数等,原文 §5–§6 给出,本解读未逐条搬运;如需引用请直接回到论文 Table 区域核对。)

亮点与局限

亮点

  • 理念正确且简洁:GDN 更新稀疏化是显然但被忽视的杠杆,SDM 把这一杠杆做到了工程上可行。
  • IsoFLOP 严谨:所有性能增益都是在"同等参数、同等算力"下取得的,等价于"用更少更新频次换更大状态",这是 linear RNN 一直想做但没做到的事。
  • 三阶容量提升:state size 从 GDN 的 ~10³–10⁴ 拉到 10⁶–10⁷,三阶跃迁对应长召回的质变。
  • Learnable M_0:让 memory 同时承担在线 KV + 参数化知识库两职,是一举两得的设计,且推理时不增加 FLOPs。
  • Hybrid 验证:作者没有声称"纯 SDM 能取代 Transformer",而是用 hybrid(短层 SWA + 长层 SDM)做出实用模型,工程路径清晰。
  • 规模验证:8B × 1T tokens 的训练结果比 ablation 更可信。

局限

  • 稀疏读写的不可逆性:未被命中的 slot 不能被反向更新信息,长期偏移下可能产生"陈旧 slot 积累",论文未深入讨论该现象及其对极长 context 的影响。
  • PKM 寻址的训练稳定性:outer-sum top-k 在极端分布下可能 collapse 到同一组 slot(即"寻址坍缩"),需要监控训练过程中的 slot 利用率。
  • H 的设置需要 tuning:state size 随 H 单调变化,H 太小会让 memory 太大而浪费参数;H 太大又压回 GDN 的容量区间。这个 trade-off 在大模型上的系统扫描结果未在本节充分展开。
  • 稀疏化的硬件利用率:PKM 索引与稀疏 read/write 的内存访问模式不规则,对 GPU / TPU 的访存局部性不如 dense linear RNN;吞吐数字未在正文给出明确对比。
  • 与 Fast-Weight PKM(Zhao & Jones, 2026)的差异:作者明确承认两者动机接近,但 SDM 走的是"GDN 稀疏化"路线,且没有跑 iso-FLOP 公平对照,因此与最相近工作的 head-to-head 仍待统一基准下的实验。
  • 没有针对 multimodal 长视频做端到端验证:虽然 Introduction 提到 video / robotics 受益于长状态,但正文实验仍以语言 in-context learning 为主。

对工程落地的启发

  1. Agent 长上下文方案:当前 agent 系统大多靠 full attention + KV cache 撑长上下文,开销巨大。SDM 的 hybrid(短 SWA + 长 SDM)是一个可落地的替代:常数 FLOPs + 大状态,匹配"无限 context"叙事。
  2. 开源大模型架构迭代:Mamba2 / GDN 类架构在 7B–70B 规模上是 Transformer 的实用品替代,SDM 把长上下文短板补齐后,会成为下一代 open LLM(类似 Falcon / LLaMA 替代品)的有力候选。
  3. 状态-参数耦合的新范式:learned M_0 把"在线 KV"与"参数化记忆"合并,让"模型权重"和"工作记忆"界限模糊——这是未来 agentic memory 设计的重要参考。
  4. 稀疏寻址的工程抽象:PKM + delta rule 这套组合可以抽象成一个独立的 SparseAssociativeMemory 模块,复用到非语言任务(推荐系统、长视频、world model)。
  5. 检索增强的隐式化:稀疏 read 本身就是"按 query 检索最相关的 K 个记忆槽",SDM 可以被理解成"内化到模型权重中的 RAG"——在端到端推理里隐式做 retrieval,无需外挂向量库。
  6. 评测方法启示:长上下文评测不能只看 RULER 等合成任务,要纳入 agent 实际任务(代码库阅读、多轮工具调用、长链 reasoning),SDM 的真正价值要在这些场景下量化。

与同方向工作的关系

  • Linear RNN 主线:Mamba2(Dao & Gu 2024)、Gated DeltaNet(Yang 2025)、RWKV 系列、RetNet 等都共享"固定状态、O(1) 每 token"的优势,但都被状态容量天花板限制。SDM 是这条线上的最新一次容量跃迁
  • Sparse Associative Memory:Product-Key Memory(Lample 2019)是 SDM 的寻址基础;Fast-Weight PKM(Zhao & Jones 2026)是"最近的近亲",目标都是把 TTT(Test-Time Training,Sun 2025、Zhang 2025)稀疏化,差异在于 SDM 走的是 GDN 路径,并给出 isoFLOP 与 8B 规模验证。
  • Memory-augmented Transformer:Memorizing Transformer、Landmark Attention 等把外部 memory 嫁接到 attention 上,但每 token 仍要 O(L) attention 计算;SDM 走的是"用稀疏写读替代 attention"路线,更彻底。
  • State Space Models:S4 / S5 / Mamba 等在序列建模上有同样的"常数复杂度"诉求,但 SDM 把"delta rule + 稀疏寻址"作为基底,比纯 S4 风格更贴近 attention 的语义检索行为。
  • Full attention 长上下文优化:MQA / GQA / FlashAttention / Ring Attention / Sliding Window 等都在优化 full attention 的 cost,SDM 提供了一条根本不同的路径——不是把 attention 做便宜,而是用稀疏 RNN 取代 attention。

适合谁读

  • LLM 架构研究者:关心 linear RNN / state-space model / hybrid attention 设计的工程师和研究人员。
  • 长上下文 / agent 系统架构师:正在设计 / 选型长上下文方案,纠结 full attention vs linear vs hybrid 的工程团队。
  • 高效推理 (efficient inference) 工程师:对常数 FLOPs decode、KV-free 模型感兴趣的从业者。
  • 稀疏寻址 / memory-augmented 网络研究者:研究 product-key memory、fast weights、test-time training 的人。
  • Open-source 大模型训练团队:计划在 7B–70B 规模上探索非 Transformer 架构的团队,可直接借鉴 SDM 的 hybrid 配置。
  • 不太适合只关心 prompt engineering / 应用层产品的从业者;也不太适合纯理论读者——本文偏重架构与实验,理论分析(如稀疏化的逼近误差)着墨不多。

来源与不确定项

主要来源

  • 论文 abstract(arxiv abs 页)
  • 论文 HTML 版 §1–§3 正文(含公式 1–6、稀疏寻址描述、isoFLOP 设计)
  • /shared/research-kb/organized/paper_cards/331-2607-07386.md(项目内论文卡)

不确定项(标注「原文未明确」):

  • 各 RULER 子任务的具体准确率数字(如 NIAH 各变体的百分比),原文 §5 给出但本解读未逐条搬运。
  • 8B 模型训练的具体 token 数(原文说 "more than 1 trillion tokens",未给精确数字)。
  • 稀疏读写硬件吞吐(GPU / TPU 上的 token/s、稀疏操作的访存开销),正文未直接给出。
  • 与 Fast-Weight PKM(Zhao & Jones 2026)head-to-head 的统一基准结果,原文明确未做。
  • 寻址坍缩(addressing collapse)的监控指标和训练中的实际发生频率,原文未深入讨论。
  • multimodal 长视频 / 机器人场景下的端到端验证,原文只在 Introduction 中提及,正文未给实验数据。

工程落地与核查(Jay)

事实核查摘要

断言 核查结论 备注
"GDN 更新公式完全退化为 SDM"(当 N = d_qk, W=R=d_qk) 基本成立,数学推导一致 需注意 key_t^{(i)} 从稀疏向量退化为稠密向量是额外约束,原文描述略简化
PKM top-k 复杂度 O(√N·d + W² + R²) 成立,与 Lample 2019 PKM 原论文一致
State size O(d³) 增长 成立,由公式 (6) 直接推出 与模型参数 O(d²) 的增速差意味着大模型 state 扩展更划算
"8B activated 参数" 需注意措辞,原文用 "activated parameters" 应指 forward-pass 激活参数,非总参数量 当前社区有混用风险,转述时建议加注
稀疏读写 FLOPs 与 N 无关 成立,是 SDM 的核心 claim 实际 hardware 以 batch 形式运行时,索引操作可能带来 overhead
1M token 上 "GDN 几乎退化为随机" 可信,对应 RULER 实验 如引用需回原文 Table 核数字

可读性精修建议

  1. 原文 §3.1 稀疏 Key 选择 中 "k'{1,t} ⊕ k'{2,t} ∈ ℝ^{√N × √N}" 的符号 ⊕ 首次出现未说明是 element-wise product(外积),应补注以免混淆。
  2. "head 级遗忘门" 的描述与 GDN 原文对照:GDN 实际上是 channel-wise decay,非严格 head 级,建议统一措辞。
  3. "Activated parameters" 在全文未严格定义,建议转述时用"前向激活参数量"或直接保留英文。
  4. 原文 §3.2 的 FLOPs 对齐推导略跳跃,补充说明 W = R = d_qk^GDN 时两项算力如何精确相等会有助于读者理解。

工程落地关键点

1. 实际系统怎么用

SDM 的工程路线是 hybrid 架构(短层 SWA + 长层 SDM),而非替换整个模型。建议的集成路径:

Token 输入
  → 前 3/4 层: Sliding Window Attention (128) + GQA
  → 后 1/4 层: SDM (H=head数, N=10^6~10^7)
  → 输出投影

H 是关键超参:H 越大 → state size 越小(可用更小 N);H 越小 → state size 越大但 memory 膨胀。需要对具体硬件 budget 做 profiling 后选择。

2. 主要坑

  • 稀疏索引的 kernel 支持:PKM 的 top-k 需要在 N=10^6 量级做 sparse indexing,当前 CUDA/Triton 社区尚无开箱即用的高效 kernel,需自研或基于 FasterTransformer / FlashAttention 的稀疏接口扩展。这是最落地的工程瓶颈。
  • 动态稀疏度与 batch 并行:不同 token 命中的 slot 可能不同,打破了标准 batch GEMM 的规律访存,对 Tensor Core 利用率不友好。建议按最大 W 补零到固定形状,或用 vLLM 的 paged attention 类似思路管理 slot table。
  • 训练稳定性监控:需跟踪各 slot 的更新频率直方图,若出现"少数 slot 吸收了 90% 更新"(即寻址坍缩),应及时调整 key/query 投影的初始化或增加 key entropy 辅助损失。
  • State 大小的精度选择:N=10^7 时,每个 head 的 M_t 占用 10^7 × 128 × 2 bytes ≈ 2.56 GB(float16),8 层 SDM 合计 ~20 GB——已经很大,需配合量化(int8/fp8)才能在单卡部署。
  • 与现有 inference engine 的兼容:SDM 的 state 是 N × d_v 矩阵,需修改 KV cache 管理层(如 vLLM 的 BlockManager、DeepSpeed Inference 的 attention kernel)。建议从 TGI(Text Generation Inference)或 vLLM 的自定义 attention 插件接口入手,而非从头写 inference stack。

3. 可行性评估

  • 短期(1–3 月):在 1.4B 量级复现 hybrid SDM 模型,技术风险低,论文已开源 ablation 细节。
  • 中期(3–6 月):迁移到 7B+ 量级,需要解决 sparse kernel 和 inference engine 集成,是主要工程瓶颈。
  • 长期(6–12 月):在 agent 系统中做端到端验证(代码库阅读、多轮工具调用),需要配套 benchmark,当前没有标准评测集。
  • 预期收益:相比 full attention,同等 FLOPs 下长上下文召回从 "随机水平" 提升到 "接近 full attention",且 decode 阶段 KV cache 增长被压制到常数级,对长序列 agent 场景有实质意义。

4. 与竞品的工程取舍

方案 FLOPs/decode KV cache 长召回 工程复杂度
Full attention O(L·d) O(L) 低(成熟)
Mamba2 / GDN O(1) O(1) 差(天花板)
SDM (本文) O(1) O(N), N<<L 接近 full 高(需 sparse kernel)
Hybrid (SWA+SDM) ~O(1) ~O(N) 显著提升

结论:如果团队已有成熟的 linear RNN inference pipeline,SDM 是值得尝试的升级路径;如果团队没有 linear RNN 积累,直接上 full attention + Ring Attention/MQA 可能更省工程资源。