把一亿 token 装进模型的“记忆”里:EverMind 开源 MSA 能干什么、不能干什么,以及对银行知识库的启示
核心摘要
- MSA(Memory Sparse Attention)是一套让大模型“自带”超长记忆的开源框架:先把整个文档库离线编码成压缩后的 KV 缓存,提问时由模型内部的路由器挑出最相关的 Top-k 文档,再只在这部分记忆上生成答案(来源1、2)
- 它最醒目的数字是:在 2 张 NVIDIA A800 上支持 1 亿 token 的记忆推理,从 16K 扩展到 1 亿 token,MS MARCO 上效果衰减不到 9%(来源1、2)
- 和 RAG 的根本区别在于:RAG 的检索器和生成器是两个分开训练的系统,MSA 把“找资料”和“写答案”合进同一个可端到端训练的注意力层(来源1、2)
- 目前开源的是一个基于 Qwen3-4B 的 4B 参数模型和推理、评测代码;训练代码不在仓库中,所有对比数据都来自作者自己的评测(来源1、4)
常见问题
MSA 和 RAG 有什么区别?
RAG 由独立的检索器和生成器组成,两者分开训练;MSA 把检索和生成合进同一个稀疏注意力层,端到端训练,检索在模型内部完成(来源1、2)。
跑 1 亿 token 需要什么硬件?
论文称 2 张 NVIDIA A800 即可,路由键放在显存,内容缓存放在主机内存;1 亿 token 的压缩缓存约 169GB,因此还需要大容量主机内存(来源3)。
可以直接用 MSA 训练自己的模型吗?
目前不行。仓库开源了 MSA-4B 模型、推理和评测代码,但论文中的持续预训练和 SFT 训练流程不在仓库中(来源1)。
银行适合用 MSA 做什么?
较适合监管文件、行内制度、产品条款等体量大、相对稳定的知识库问答试点;用于客户数据前,需要先解决可追溯、权限分库和数据删除问题(本文分析)。
MSA(Memory Sparse Attention)是一套让大模型“自带”超长记忆的开源框架:先把整个文档库离线编码成压缩后的 KV 缓存,提问时由模型内部的路由器挑出最相关的 Top-k 文档,再只在这部分记忆上生成答案(来源1、2)。
它最醒目的数字是:在 2 张 NVIDIA A800 上支持 1 亿 token 的记忆推理,从 16K 扩展到 1 亿 token,MS MARCO 上效果衰减不到 9%(来源1、2)。
和 RAG 的根本区别在于:RAG 的检索器和生成器是两个分开训练的系统,MSA 把“找资料”和“写答案”合进同一个可端到端训练的注意力层(来源1、2)。
目前开源的是一个基于 Qwen3-4B 的 4B 参数模型和推理、评测代码;训练代码不在仓库中,所有对比数据都来自作者自己的评测(来源1、4)。
对银行来说,它最有价值的方向是“超大知识库问答”和“长历史智能体记忆”;但隐式记忆带来的可追溯性、访问控制和数据删除问题,必须在落地前解决(本文分析)。
素材说明:本文依据 GitHub 仓库 README 与 QUICK_START、仓库文件结构、arXiv 论文 v2(2026 年 4 月 13 日修订)和 Hugging Face 模型卡。凡来源事实标注编号;性能数据均为论文作者自报;作者的推断与银行映射标注“本文分析”。
一、项目是谁做的
| 项目 | 内容 | 来源 |
|---|---|---|
| 开发方 | EverMind,论文作者署名单位为 Evermind 与盛大集团(Shanda Group),作者名单末位为 Tianqiao Chen(陈天桥) | 来源2、3 |
| 论文 | arXiv:2603.23516,2026 年 3 月 6 日首发,4 月 13 日修订为 v2 | 来源2 |
| 仓库 | 2025 年 10 月创建,最近一次推送为 2026 年 5 月 6 日;截至本文写作约 3500 星、227 个 fork | 来源1 |
| 开源模型 | MSA-4B,基座为 Qwen3-4B-Instruct-2507,模型卡标注 MIT 许可 | 来源4 |
| 许可说明 | README 徽章标注 MIT,但仓库根目录未见独立 LICENSE 文件 | 来源1 |
二、它要解决什么问题
大模型的上下文长度受全注意力机制限制:计算量随长度平方增长,论文称主流模型的有效上下文一般在 1M token 以内(来源2)。现有三条扩展路线各有短板(来源2):
| 路线 | 代表 | 论文指出的问题 |
|---|---|---|
| 线性/混合注意力、固定状态 | RNN 类、混合线性注意力 | 长度极大时精度快速衰减 |
| 参数化记忆 | 测试时训练(如 Titans) | 容量难扩展,冲突知识下易灾难性遗忘 |
| 外部存储 | RAG、记忆智能体 | 检索与生成割裂,缺少端到端优化,流程复杂 |
MSA 的定位是第四条路:把记忆做成模型内部的稀疏潜在状态,容量可以扩到亿级,同时保持端到端可训练。论文的说法是“把记忆容量与推理能力解耦”(来源2)。
三、它是怎么做的
3.1 核心层:稀疏注意力 + 文档级位置编码
- 压缩:每个文档的 K、V 和专门的路由键 Kᵣ 按块做平均池化压缩(来源1)。
- 路由:路由投影器用余弦相似度给文档打分,选出 Top-k 文档,把它们的压缩 KV 与问题本身的 KV 拼接后再生成(来源1)。
- 分层:只有上层做路由;下层保持各文档独立处理(来源1)。
- 文档级 RoPE:每个文档的位置编码都从 0 开始,避免“短文本训练、长文本推理”时的位置漂移。论文称,这让 64K 长度训练的模型可以外推到 1 亿 token(来源1)。
3.2 三阶段推理
- 全局记忆编码(离线):对整个语料做一次前向计算,缓存压缩后的 K、V、Kᵣ。论文强调,这一步“每个记忆库版本只做一次”(来源3)。
- 在线路由与上下文拼装:问题投影后与路由键匹配,只加载被选中的文档 KV(来源1)。
- 稀疏生成:只在拼装后的稀疏上下文上自回归生成(来源1)。
3.3 Memory Parallel:怎么在两张卡上放下一亿 token
论文估算,1 亿 token 的压缩缓存约需 169GB,已经超过 2 张 A800 合计 160GB 显存(来源3)。解决办法是分层存储:
- 路由键(约 56GB)分布在多张 GPU 显存里,保证打分速度;
- 内容 KV 放在主机内存(CPU DRAM),选中后再异步搬到 GPU(来源3)。
本文分析:这意味着“2 张 A800”是显卡数量,实际部署还需要足够大的主机内存;硬件门槛低于“全注意力跑一亿 token”,但并不是普通服务器就能跑。
3.4 Memory Interleave:多跳推理
遇到需要跨多份文档推理的问题,模型先生成一串文档编号,系统取回这些文档的原文追加到问题后面,再进入下一轮,直到模型判断证据足够才开始写答案;每轮取多少文档由模型自己决定(来源3)。
本文分析:这一机制有一个容易被忽视的副产品——模型显式输出了“它用了哪些文档”。这为可追溯性留下了接口,下文第六节会展开。
四、效果怎么样(作者自报)
| 测试 | 结果 | 来源 |
|---|---|---|
| 9 个问答数据集(27.7 万–1000 万 token 记忆库,LLM 打分 0–5) | MSA 平均 3.760;比同基座标准 RAG 高 16.0%,比 RAG+重排高 11.5%,比 HippoRAG2 高 14.8% | 来源1 |
| 对比大模型 RAG(KaLMv2 + Qwen3-235B / Llama-3.3-70B) | 9 个数据集中 4 个最佳,平均分高于各最强配置 5.0%–10.7% | 来源1 |
| RULER 大海捞针(32K–1M) | 1M token 时准确率 94.84%;未改造的基座在 1M 时降到 24.69% | 来源1 |
| 16K→1 亿 token 扩展(MS MARCO) | 衰减不到 9% | 来源1、2 |
| 训练成本 | 1589.5 亿 token 持续预训练,加两阶段 SFT(8K→64K) | 来源1 |
需要注意的三点:
- 问答结果用 LLM 打分,不是精确匹配,评分模型的偏好会影响结论(来源1)。
- 在 NarrativeQA、MuSiQue、Natural Questions 等数据集上,MSA 并不是最好,作者把部分差距归因于 4B 模型参数量和推理能力有限(来源1)。
- 所有对比都由作者完成,尚未看到独立复现报告(本文分析)。
五、它能干什么,不能干什么
5.1 能干什么
- 超大语料问答:对千万到亿级 token 的文档库直接提问,替代或补强传统 RAG 的“切片—向量检索—拼接”流水线(来源1、2)。
- 长历史智能体:论文明确把“长历史智能体推理”“稳定人设的数字孪生”“大语料摘要”列为目标场景(来源2)。
- 研究与复现:仓库提供推理引擎(多 GPU 的 MSAEngine)、离线编码(prefill)、9 个问答基准的评测脚本和 LLM 打分工具,可复现论文主表(来源1)。
5.2 不能干什么(或还做不好)
- 紧耦合的跨文档推理:论文局限性一节承认,当证据分散在多个来源且高度互相依赖时,仅靠内在记忆难以保持准确的结构对齐(来源3)。
- 直接拿来训练自己的模型:仓库只有推理和评测代码,以及把基座转换为 MSA 格式的脚本;论文中的持续预训练和 SFT 流程未开源(来源1,本文据仓库文件结构判断)。
- 实时改记忆:记忆库的编码按“版本”离线完成(来源3)。由于下层按文档独立处理,新增文档理论上可以单独编码追加,但修改或删除已有内容如何高效处理,论文没有展开(本文分析)。
- 大参数推理:目前只有 4B 模型,复杂推理能力受限(来源1)。
- 持续维护的预期:仓库最近一次推送在 2026 年 5 月,之后约五个月无更新(来源1)。
六、对银行的启示(本文分析)
本节全部为本文分析。
1. 适合的场景:大而稳定的知识库
银行的监管文件库、行内制度库、产品条款库、历史审贷报告,体量大、更新频率相对可控,正好匹配 MSA“离线编码一次、反复查询”的模式。在多跳问题上(例如“这类客户适用哪条制度,该制度又引用了哪项监管要求”),Memory Interleave 的多轮取证思路比单次向量检索更贴合。
2. 可追溯性:要把“文档编号”变成审计证据
隐式记忆最大的隐患是“说不清依据”。本站在知识论视角的文章中提出,进入 AI 可依据知识库的内容必须可追溯出处,评测要看引用忠实度。MSA 的 Memory Interleave 会显式生成文档编号,银行应把这些编号连同版本号一起落日志,并核对答案是否真的来自这些文档,而不是只看最终答案对错。
3. 版本管理:记忆库就是一个需要发版的资产
既然编码按记忆库版本进行,制度修订、产品下架都意味着记忆库要“发新版”。银行需要明确:哪个版本在生产环境、何时生效、旧版本何时下线,以及过期制度是否已从记忆中剔除。否则模型会“记得”一份已废止的制度。
4. 访问控制:一个记忆库就是一个权限边界
传统 RAG 可以在检索时按用户权限过滤文档;MSA 的路由发生在模型内部,按条过滤更难。稳妥做法是按权限域拆分记忆库(例如公开制度库、内部制度库、客户数据库各自独立),而不是把所有内容编进同一个库再指望模型“不说”。
5. 数据合规:KV 缓存也是个人信息的衍生物
如果把客户交互历史编进记忆库,压缩后的 KV 缓存本身就承载了客户信息。客户要求删除数据时,银行需要能定位并删除对应缓存,甚至重新编码整个版本。在没有成熟的删除和审计方案之前,客户数据不宜作为首批试点内容。
6. 评估方式:不要只看论文分数
论文用 LLM 打分、公开英文和中文数据集。银行应使用自己的制度库和真实问题集做对比测试,至少和现有 RAG 方案比三项:答案准确率、引用忠实度、单次查询的延迟与成本。同时评估 4B 模型在金融术语和复杂条款上的理解能力是否够用。
七、结语
MSA 的意义在于证明了一条路线:记忆可以做成模型内部、可端到端训练、可扩到亿级的稀疏状态,而不必依赖一条松散拼接的 RAG 流水线。本文分析:对银行而言,它不是“马上替换 RAG”的方案,而是一个值得在受控环境里验证的方向——先用公开、稳定的制度类语料试点,把文档编号日志、记忆库版本和权限分库三件事做扎实,再考虑更敏感的数据。
事实来源
- EverMind-AI/MSA GitHub 仓库(来源1):项目简介、架构说明、推理流程、实验结果表、训练设置、仓库结构、星标与更新时间、许可徽章。
- arXiv:2603.23516 摘要页(来源2):作者、提交与修订日期、摘要所述问题、方法与目标场景。
- arXiv 论文 HTML 全文 v2(来源3):作者单位、离线编码“每个记忆库版本一次”、169GB 与 56GB 存储估算、Memory Interleave 机制、局限性。
- Hugging Face MSA-4B 模型卡(来源4):基座模型 Qwen3-4B-Instruct-2507、MIT 许可标签。
本文推论部分(非来源表述):各节“本文分析”段落、第五节中关于训练代码与记忆修改的判断、第六节全部内容、第七节结语。相关阅读:本站《“存得多”不如“证得住”》。
本文不构成投资建议、技术选型建议或合规意见。
(内容由AI生成,仅供参考)
参考文献
- EverMind-AI/MSA(GitHub 仓库) [GitHub]
- MSA: Memory Sparse Attention for Efficient End-to-End Memory Model Scaling to 100M Tokens [arXiv]
- MSA 论文 HTML 全文(v2) [arXiv]
- EverMind-AI/MSA-4B 模型卡 [Hugging Face]