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 维数):
-
稀疏 Key 选择(Sparse Key Selection)
输入x_t通过两个独立线性投影W_k, W_q ∈ ℝ^{d × 2√N}得到 pre-PKM 的写 keyk'_t和读 queryq'_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⁶ 量级仍然高效。 -
Gated Delta Write(稀疏写入)
对每个被选中的写 sloti ∈ 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]——这就是"稀疏写"的代价。 -
稀疏读(Sparse Read)
读出是 R 个被选中 slot 的加权和:y_t = M_t^⊤ q_t = Σ_{i ∈ I^r_t} q_t^{(i)} · M_t[i]再走 RMS-Norm → element-wise gatingg ∈ ℝ^{d_v}→ 输出投影W_o混合各 head。
与 GDN 的关系:当 N = d_qk、W = 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/2,d_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 = 64,d_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 为主。
对工程落地的启发
- Agent 长上下文方案:当前 agent 系统大多靠 full attention + KV cache 撑长上下文,开销巨大。SDM 的 hybrid(短 SWA + 长 SDM)是一个可落地的替代:常数 FLOPs + 大状态,匹配"无限 context"叙事。
- 开源大模型架构迭代:Mamba2 / GDN 类架构在 7B–70B 规模上是 Transformer 的实用品替代,SDM 把长上下文短板补齐后,会成为下一代 open LLM(类似 Falcon / LLaMA 替代品)的有力候选。
- 状态-参数耦合的新范式:learned
M_0把"在线 KV"与"参数化记忆"合并,让"模型权重"和"工作记忆"界限模糊——这是未来 agentic memory 设计的重要参考。 - 稀疏寻址的工程抽象:PKM + delta rule 这套组合可以抽象成一个独立的
SparseAssociativeMemory模块,复用到非语言任务(推荐系统、长视频、world model)。 - 检索增强的隐式化:稀疏 read 本身就是"按 query 检索最相关的 K 个记忆槽",SDM 可以被理解成"内化到模型权重中的 RAG"——在端到端推理里隐式做 retrieval,无需外挂向量库。
- 评测方法启示:长上下文评测不能只看 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 核数字 |
可读性精修建议
- 原文 §3.1 稀疏 Key 选择 中 "k'{1,t} ⊕ k'{2,t} ∈ ℝ^{√N × √N}" 的符号 ⊕ 首次出现未说明是 element-wise product(外积),应补注以免混淆。
- "head 级遗忘门" 的描述与 GDN 原文对照:GDN 实际上是 channel-wise decay,非严格 head 级,建议统一措辞。
- "Activated parameters" 在全文未严格定义,建议转述时用"前向激活参数量"或直接保留英文。
- 原文 §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 可能更省工程资源。