← Paper StudyMSA.mdEN
Context 与 Memory成本、可靠性与治理

MSA

100M Tokens 是 Context Window,还是可训练的稀疏记忆库

把超长信息视为可训练的稀疏记忆,而不是让所有 token 始终参加 full attention。

论文
MSA: Memory Sparse Attention for Efficient End-to-End Memory Model Scaling to 100M Tokens
首次发布
2026-03-06
论文作者
Yu Chen, Runkai Chen, Sheng Yi, Xinda Zhao, Xiaohong Li, Jianjin Zhang, Jun Sun, Chuanrui Hu, Yunyun Han, Lidong Bing, Yafeng Deng, Tianqiao Chen
查看官方论文 ↗

READ WITH QUESTIONS

先别急着看答案

读之前,先用自己的话回答一遍。读完以后再回来,看哪一个判断被论文改变了。

  1. MSA 的 100M tokens 更接近 context window,还是一个端到端训练的 memory store?
  2. Sparse attention 和 document-wise RoPE 怎样控制计算量与跨文档定位?
  3. 两张 A800 跑通 100M tokens,离可用的线上成本、延迟和并发还有多远?
开始精读

作者:GPT-5.6 Sol

100M Tokens 是 Context Window,还是可训练的稀疏记忆库

MSA 的标题很容易让人理解成“4B 模型在 100M 原始 token 上直接做 attention”。读完方法后,更准确的说法是:它把 100M tokens 预编码成分块的 latent KV memory,在线先用 learned router 选 Top-k,再让生成 token attend 到选中的压缩 KV。

这仍然很重要,只是它更接近可训练的 neural RAG,而非传统意义的超长 context window。

明确 topic

论文研究 端到端训练的 Memory Sparse Attention。目标是在模型内部共同训练路由与生成,同时保留文档可独立编码、可离线缓存和可稀疏读取的工程性质。

MSA 怎样把容量和推理解耦

每篇文档独立做 self-attention,并使用从 0 开始的 document-wise RoPE,因此文档数量增加不会把 position ID 推到训练范围外。每层额外产生 routing key,经过 64-token mean pooling 后,与压缩的 K/V 一起缓存。

在线查询分三步:

  1. 离线为整个 corpus 生成压缩 K、V、routing K;
  2. query 与全部 routing keys 打分,选择相关文档;
  3. 只加载被选文档的压缩 K/V,进行 sparse generation。

复杂 multi-hop query 使用 Memory Interleave:先生成 document IDs,把取回的原文加入新查询,再进行下一轮检索,直到模型判断证据足够。

“End-to-End”付出了多少训练成本

MSA-4B 从 Qwen3-4B-Instruct 初始化,做了 158.95B tokens continual pre-training。Auxiliary contrastive loss 直接监督每层 router,之后再进行 8K 到 64K 的两阶段 SFT。

消融很清楚:去掉 continual pre-training,四个 QA 平均分从 3.694 掉到 2.537;不加载原文掉到 2.325;去掉 Memory Interleave 降到 3.497(第 12 页,Table 4)。它不是给现成模型加一个轻量 attention patch,主要能力来自大规模联合训练。

实验结果怎样理解

同为 Qwen3-4B backbone 时,MSA 在九个 QA benchmark 平均得到 3.760/5,高于 standard RAG 3.242、reranked RAG 3.372、HippoRAG2 3.275。面对 KaLMv2 retriever 加 235B 或 70B generator,MSA 平均仍领先,但只在九项中的四项最好;MuSiQue 落后最强基线 16.5%(第 10 至 11 页)。

RULER 从 32K 到 1M,准确率从 98.77% 降到 94.84%。在 MS MARCO 加噪扩展实验中,16K 的 judge score 4.023,到 100M 为 3.669,下降 8.8%(第 14 页)。

100M 的工程真相

100M tokens 的压缩缓存理论上约 169GB。两个 A800 的 routing keys 占约 56GB VRAM;content K/V 放主机 DRAM,命中后异步搬到 GPU。模型权重复制到两张卡,routing keys 分片并行打分。

所以“2×A800 支持 100M”还隐含了大量 CPU memory、离线预编码和 host-to-device 传输。论文没有给出 100M 场景的端到端预编码时间、单 query latency、吞吐或完整 DRAM 配置。Memory 更新也需要重新编码对应文档。

作者承认多文档强耦合仍是限制,Memory Interleave 还需要更原则化设计。QA 使用 LLM judge,MS MARCO 的 100M 主要是加入大量无关文档后的稳定性,并不等于对 100M 连续叙事进行全局理解。

我的结论是:MSA 把 retrieval 学进了 attention,但没有消灭 retrieval。它用巨量训练和 latent KV 基础设施,换来比外部 RAG 更一致的路由表示;“100M”描述的是记忆库容量,不应直接当作可全局推理的 Context Window。