arXiv 2603.23516 · 盛大 Evermind 团队 + 北京大学 · 端到端记忆模型

MSA:记忆稀疏注意力,把端到端记忆模型扩展到一亿词元

Yu Chen, Runkai Chen, Sheng Yi 等 12 人 · arXiv (preprint) · 2026 · arXiv: 2603.23516
原题:MSA: Memory Sparse Attention for Efficient End-to-End Memory Model Scaling to 100M Tokens
Open Access 新颖度 0.93

🧒 初中生也能看懂的版本

① 研究背景(为什么要做?)

你和朋友聊天时,会记得他上个月说过的话、他家猫叫什么、他不吃香菜。这种“记得住”的能力,对人是理所当然的,对人工智能却是天大的难题。

今天的大模型有一个“工作台”,叫上下文窗口。你把资料放上去,它才能看见;台子清空了,它就忘了。主流模型的工作台能放十几万到一百万字,专用长文模型也很少超过一百万字。可一个人一辈子的记忆,按认知科学的估算大约是两到三亿字——差了整整两个数量级。

为了补这个缺口,业界想了三条路。第一条是把知识写进模型参数里,像人反复练习形成肌肉记忆;可一改参数就容易“灾难性遗忘”,把旧的学会的冲掉。第二条是外挂资料库,也就是常说的检索增强:先按关键词或向量去库里捞几段,再塞给模型读。这条路能装很多,但“捞”和“读”是两套系统,捞错了后面全错,而且捞几段、怎么算相关,全靠人手调。第三条是把历史压成一个固定大小的内部状态,像把一本书浓缩成一页笔记;省地方,可笔记写满了就再也塞不进新东西,越长越糊。

这篇论文要做的,是把“捞”这一步直接做进模型的注意力机制里,让模型自己学会该看哪几段,而且能记住上亿字。

② 研究问题(要回答什么?)

作者想弄明白四件事。

第一,能不能让“挑资料”这件事变成模型自己的一部分?现在的检索系统像一个图书管理员,按规则帮你找书;作者希望模型长出一双自己的眼睛,边看边决定翻哪几页,而且这个决定能被训练、能越用越准。

第二,短时间训练能不能应付超长使用?训练时最多只能塞几十万字,使用时却要面对上亿字。如果模型只会按“第几个字”来定位,那么资料一多,位置编号就全乱了。这是长文模型最要命的一道坎。

第三,记忆变长以后,答案会不会变糊?资料里大部分是无关内容,噪音越多越容易带偏。作者要测的是:从一万六千字加到一亿字,答题质量到底掉多少。

第四,普通硬件跑不跑得动?一亿字的中间计算结果,粗算要一百多 GB,比两张显卡加起来还多。如果不能把它塞进一台机器,再好的方法也只能停在论文里。

③ 研究方法(怎么做的?)

先把“记忆”拆小。整个资料库被切成一份份文档,每份再切成六十四字一段的小块。对每一块,模型算三样东西:内容钥匙、内容货架(用来真正读取信息),以及一把专门的“索引钥匙”——这把钥匙不参与理解,只负责“这块钱不相关”。把每块的三样东西各自取平均,压成很短的代表向量,存进库里。

来一个问题时,模型先用同样方式生成一把“索引问题”,去和全库的索引钥匙比相似度,取最相似的十六份文档。然后把它们的压缩内容和问题拼在一起,正常做注意力、逐字生成答案。整个过程可以求导、可以训练——这就是它和传统检索最大的区别:传统检索那一步是“断开”的,模型学不到;这里能一路把梯度传回去。

第二招叫“每份文档单独编号”。普通做法是把所有资料首尾相接,从第一个字数到第一亿个字;训练时只见过几万字,使用时编号突然变成几千万,模型就懵了。作者改成每份文档都从零开始编号,位置的含义只跟文档内部有关,跟库有多大无关。这一改动让“短训长用”成为可能。

第三招解决“多步推理”。有些问题要连着查好几份资料:先查到甲,甲里提到乙,再去查乙。作者让模型可以多轮来回:先吐出几份文档的编号,把原文接回问题里,再查一轮,直到它觉得够了才开口回答。

最后是工程。索引钥匙小,放在显卡里随时比;内容货架大,放在内存里,选中了才搬上显卡。两台显卡各存一半索引、各自算分再汇总,一亿字的记忆就这么跑起来了。

④ 结果(发现了什么?)

先看“记性变长会不会变傻”。作者拿同一个问答数据集,把记忆从一万六千字一路加到一亿字,用另一个模型当裁判打零到五分:

本方法
一万六千字时 4.023 分,一亿字时 3.669 分,横跨四个数量级只掉 8.8%。
对照
同等规模的通用模型起步约 3.6 到 3.7 分,随长度明显下滑;未改造的基座模型在五十一万字时直接崩到 1.5 分以下。

再看“找针”测试——在上百万字的材料里藏一句话,问模型能不能找出来。本方法从三万两千字到一百万字,准确率从 98.77% 缓降到 94.84%,只掉不到四个百分点;同一个基座模型在一百万字时只剩 24.69%,二十五万字时就已跌到 48.16%。几个专门做长文的模型也不稳:有的在二十五万字跌破九成,有的一百万字只剩八成。

答题比拼上,九个数据集平均:本方法 3.760 分;同一基座配传统检索是 3.242,加重新排序 3.372,知识图谱增强的检索是 3.275——分别高出 16.0%、11.5%、14.8%。更狠的是,对手换成用两千三百五十亿参数的大模型来读资料,平均也只有 3.506 到 3.580;本方法用四十亿参数的骨架,反而高出 5.0% 到 7.2%。

拆件测试也说明每一块都不能少:去掉多轮检索,平均掉 5.3%(多跳题掉 19.2%);去掉预训练,掉 31.3%;去掉“拿到编号后再读原文”,掉 37.1%。

⑤ 讨论(这些发现说明什么?)

这组结果里最反直觉的一点是:一个四十亿参数的模型,靠着更好的记忆方式,在长文问答上打赢了两千三百五十亿参数的模型配顶级检索。作者的解释是,胜负不在于谁更聪明,而在于信息在传递过程中丢了多少。传统检索是“把原文交给模型”,但检索那一步是离散的、不可训练的,捞错了模型再强也救不回来;MSA 把选择和阅读放进同一个可训练的过程,选择标准会随着任务一起优化。

第二个值得说的是“短训长用”。这是长文模型里最贵的一环——想把训练长度从六万字加到一亿字,算力要涨上千倍。逐文档编号这个看似简单的改动,把“位置”从一个全局计数变成了局部坐标,于是训练长度和使用长度解耦了。消融里“课程学习”从八千年提到六万四千字就带来 7.6% 的提升,而在七百多万字的资料集上提升高达 29.5%,正说明“见过更长的上下文”仍然重要,只是不再需要见到最终长度。

第三个是“读完编号还要读原文”这个发现。去掉这一步,性能掉得最狠(37.1%),说明编号只能定位、不能替代内容。这也提醒读者:这不是把记忆压缩成抽象向量就完事,精确的事实细节仍然要靠原始文本。

作者也列了局限:当证据分散在多份高度互相关联的文档里、需要很强的结构对齐时,仅靠内部记忆仍会吃力;多轮检索是有希望的方向,但还需要更讲原理的设计。

⑥ 结论(最终结论 + 启示)

一句话总结:把“该看哪几段”变成模型自己能学的一件事,记忆就能从几十万字一路撑到一亿字,而且几乎不掉分。

这件事的意义不只是“上下文更长”。它把两个原本绑在一起的东西拆开了:记忆容量负责装多少,推理能力负责想多深。拆开之后,装记忆变成一件便宜的事——一次离线预处理,之后每个问题只付线性的检索成本;两台普通显卡就能服务一亿字的资料库。

对普通人来说,这意味着“记得你三年前说过什么”的助手、长期保持人设的数字分身、能翻完一整个公司文档的问答系统,第一次有了可落地的成本结构。当然,它离“真正像人一样记事”还有距离:怎么处理互相矛盾的旧记忆、怎么主动忘掉该忘的、怎么在多份文档之间建立结构,都是下一步要回答的问题。

🎓 专业 IRMaD 结构解读

I. Introduction(引言)

长时记忆是当前大模型最明确的能力缺口之一。按认知科学对人类记忆功能容量的估计(约 10^9 bit,按每 token 3–5 bit 语义密度折算约 2–3 亿 token),现有模型 128K–1M 的有效上下文相差两个数量级,即便专为长文设计的架构在严格训练后也很少突破 1M。已有的三条路线各有硬伤:参数化记忆(LoRA、持续预训练、Titans 式测试时训练)语义整合深但容量不可扩展、冲突知识下易灾难性遗忘;外部存储记忆(RAG、MemAgent)可扩展到终身规模但检索与生成解耦、不可端到端求导,精度天花板受限于离散语义匹配;潜状态记忆则分裂为两支——KV 中心方法(DSA、MemGen)精度高但代价随长度爆炸,线性注意力(RWKV、DeltaNet)以固定状态换 O(L) 复杂度却在极长记忆下必然有损。

MSA 的切入点是取消“检索—再读”的两段式,把文档级选择直接做进注意力层。三项设计互为支撑:(1) 可微的路由键(Router Key/Query Projector)+ 分块均值池化,使 Top-k 选择与内容注意力在同一前向中完成并接受辅助对比损失监督;(2) document-wise RoPE,每份文档从 0 独立编号,把位置语义与记忆总规模解耦,实现“train-on-short, infer-on-long”;(3) KV 缓存压缩 + Memory Parallel 分级存储,使 1 亿 token 推理落在单台 2×A800 节点上。配合 Memory Interleave 的多轮证据扩展,MSA 在 MS MARCO 上从 16K 到 100M 仅退化 8.8%,在 RULER NIAH 1M 规模保持 94.84%,并以 4B 骨架在九项 QA 上平均 3.760(LLM judge,0–5),超过 KaLMv2 + Qwen3-235B 的最佳配置 3.580。

I. Theoretical Framework & Hypotheses(理论框架与假设)

三类记忆范式的取舍。论文用一张对照表把问题形式化:参数化记忆胜在架构兼容与语义深度,输在容量与遗忘;外部存储胜在容量与抗遗忘,输在不可微与精度天花板;潜状态记忆胜在语义保真,却在“容量—效率”之间被迫二选一。MSA 的定位是潜状态记忆的第三条分支:保留 KV 级别的语义保真,同时用稀疏路由把每次注意力的代价压到与记忆总量无关。

核心命题:记忆容量与推理能力可解耦。设记忆库 D = {d_1,…,d_N},查询长度 M ≪ L,文档平均长度 G,池化块 P=64,选出 k=16 份。若路由与生成都只依赖固定的 k·G/P 个压缩块,则注意力的计算量与 L 无关,仅路由打分随 L 线性增长——这正是“容量可扩、推理不变”的形式化表述。

可外推性的来源。标准全局位置编码在拼接序列上单调递增,文档数增加即导致位置索引漂移,推理长度一旦超出训练视界便急剧退化。逐文档独立编号把“第几个 token”变为“文档内第几个 token”,位置语义与 N 解耦;活跃上下文(查询 + 生成)再叠加 Global RoPE 并以 k 为偏移,使生成被视作检索背景的逻辑延续。

训练信号。仅用生成损失 L_LLM 无法直接约束中间路由,故引入逐层路由的对比辅助损失 L_aux,在潜空间显式拉开正负文档块;两阶段调度先以 L = 0.1L_LLM + L_aux(lr 1e-4)预热路由器,再切到 L = L_LLM + 0.1L_aux(lr 6e-6)主训练。

编号研究问题对应设计 / 判据
RQ1端到端可微的稀疏记忆能否替代解耦式检索与同骨架 RAG、RAG+rerank、HippoRAG2 在 9 个 QA 上对比(LLM judge 0–5)
RQ2短上下文训练能否外推到 100M 记忆SFT 8K → 64K 课程;MS MARCO 16K–100M 得分曲线
RQ3极长上下文下的检索保真度RULER NIAH 8 子任务,32K–1M 平均准确率
RQ4各组件贡献几何MSA-S2 / S1 / w-o interleave / w-o CPT / w-o original text 五配置消融
RQ5能否在常规硬件上服务 100M 记忆2×A800 单节点;分级存储 + Memory Parallel;复杂度分析

M. Materials & Methods(材料与方法)

R. Results(结果)

模型32K128K256K1M关键 delta
MSA(Qwen3-4B 骨架)98.77%——94.84%32K→1M 仅 −3.93 pp
Qwen3-4B-Instruct(原骨架)——48.16%24.69%1M 时相对 MSA −70.15 pp
Qwen2.5-14B-1M——89.97%—256K 已跌破 90%
Qwen3-30B-A3B—79.13%——128K 即严重退化
Qwen3-Next-80B-A3B—≈100%—80.78%256K 后显著衰减
RL-MemoryAgent-14B98.42%——92.66%32K→1M −5.76 pp,衰减更陡
配置平均分相对 MSA-S1HotpotQA说明
MSA-S2(完整,64K 课程)3.976+7.6%4.061MS MARCO 上较 S1 提升 29.5%
MSA-S1(完整,8K)3.694—4.020仅第一阶段 SFT
w/o memory interleave3.497−5.3%3.250多跳题掉 19.2%,证据链断裂
w/o continual pre-training2.537−31.3%2.289HotpotQA 掉 43.1%,路由精度崩塌
w/o original text2.325−37.1%2.297DuReader 掉 46.2%,仅编号无法替代内容

a / D. Discussion & Conclusion(讨论与结论)

🧠 IRMaD 思维导图

I 引言 R 研究问题/假设 M 方法 R 结果 a 讨论 D 结论
mindmap
  root((亿级记忆稀疏注意力))
    I 引言
      人脑记忆两亿字
      模型窗口仅百万
      参数记忆会遗忘
      外挂检索不可训
      固定状态必失真
    R 问题
      挑选能否学出来
      短训能否长用
      记忆变长会变糊吗
      普通硬件跑得动吗
    M 方法
      文档切块均值压缩
      路由键做文档级选择
      只读最相关十六份
      每份文档独立编号
      对比损失监督路由
      一千五百九十亿词元
      十亿词元课程到六万四
      索引显存内容放内存
      多轮插值补多跳
    R 结果
      一亿字只掉八点八
      找针一亿字九十四点八
      九数据集均分三点七六
      超过两千三百五十亿模型
      去掉预训练掉三成一
      去掉原文掉三成七
    a 讨论
      检索从管线变成层
      参数不是胜负关键
      定位不能替代阅读
      多跳误差会累积
      跨文档结构仍吃力
    D 结论
      容量与推理解耦
      两台显卡跑一亿字
      可作通用记忆组件
      数字分身成本可行

图:本研究的 IRMaD 思维导图。蓝色 I 引言;橙色 R 研究问题;绿色 M 方法; 橙色 R 结果;紫色 a 讨论;红色 D 结论。