MEMO:让大模型「解冻」知识的不是微调,而是另一台小模型
大模型预训练完,知识就被「冻」住了。面对新信息,业界主流两条路:
RAG——把文档塞进上下文,让模型边读边答。文档一多就噪音爆炸,跨文档关系更别想。 微调——直接改模型权重。算力刺客不说,还会触发「灾难性遗忘」,旧知识跟着新信息一起乱。
MEMO(Memory as a Model)走了第三条路:不碰大模型,给它配一台专属「记忆芯片」。
---
核心架构:双模型分工
| 组件 | 职责 | 规模 | 状态 |
|---|---|---|---|
| EXECUTIVE | 推理与回答 | 32B(如 Qwen2.5-32B) | 冻结 |
| MEMORY | 知识存储与检索 | 1.5B–14B(如 Qwen2.5-14B) | 训练得到 |
关键设计:MEMORY 的响应长度与语料库大小无关。无论背后是一千篇文档还是一万篇,MEMORY 输出的都是精炼过的知识片段。这跟 RAG 直接把原始文档塞上下文有本质区别。
---
数据炼金术:五步骤把文档变成「反思」
MEMORY 模型不是直接读原始文档,而是读一套经过提炼的「反思 QA 对」。数据合成管道分五步:
| 步骤 | 名称 | 核心操作 |
|---|---|---|
| 1 | 事实提取 | 直接提取显式事实 + 间接提取推理/合成信息 |
| 2 | 整合 | 识别共享上下文的 QA 对,合并为多事实问题 |
| 3 | 验证重写 | 检查自包含性——无指代消解、无隐式引用 |
| 4 | 实体浮现 | 生成「实体-属性-关系」QA 对,答案揭示实体身份 |
| 5 | 跨文档合成 | 在主题相关文档组中识别汇聚线索、平行属性 |
一个铁律:生成的 QA 对绝不嵌入文档标识符或水印,防止 MEMORY 模型走捷径——比如通过文档 ID 猜答案,而不是真正理解内容。
---
训练目标:只背答案,不背原文
MEMORY 模型的训练 loss 只算答案 token:
$$ \mathcal{L}(\phi) = -\sum_{(q_i, a_i)} \sum_{t=1}^{|a_i|} \log M_\phi\left(a_i^{(t)} \mid q_i, a_i^{(<t)}\right) $$
关键约束:条件只依赖于问题和前文答案 token,从不条件于源文档。这强制 MEMORY 把知识参数化内化,而不是训练成「从上下文复制原文」的模式。
训练配置很标准:AdamW、lr=2e-5、3 个 epoch、BF16、Flash Attention 2。没什么花哨,说明方法的核心价值在架构设计而非训练技巧。
---
推理:三阶段多轮协议
不是一次性问答,而是分阶段迭代:
Stage 1:Grounding 把用户查询分解为原子线索探测子问题,MEMORY 独立回答每个子问题。
Stage 2:实体识别 利用 Stage 1 的响应迭代缩小候选实体集,直到收敛到目标实体或预算耗尽。
Stage 3:答案综合 基于确认的实体查询额外支持事实,综合所有响应生成最终答案。
各阶段不同 prompt、不同温度、不同预算。所有交互通过输入-输出接口完成,EXECUTIVE 可以视为黑盒——这意味着 MEMO 兼容专有 API,不限于开源模型。
---
实验结果:对检索噪声免疫
主实验在三个基准上测试:
| 方法 | BrowseComp-Plus | NarrativeQA | MuSiQue |
|---|---|---|---|
| Perfect Retrieval(上限) | 79.67% | 51.42% | 62.83% |
| BM25 | 1.11% | 10.24% | 20.00% |
| NV-Embed-V2 | 50.67% | 20.59% | 37.47% |
| HippoRAG2 | 56.11% | 21.39% | 42.17% |
| MEMO (14B) | 54.22% | 26.85% | 48.30% |
但 BrowseComp-Plus 上 MEMO 略输 HippoRAG2(54.22% vs 56.11%)。论文分析原因:这个基准的答案完全不在 EXECUTIVE 的参数知识中,原始文档的直接访问价值最大——这正是 RAG 的强项场景。MEMO 的优势在于「理解后的知识压缩」,当答案需要跨文档综合推理时胜出;当答案就在某段原文里时,RAG 更直接。
---
最硬核的结果:检索噪声鲁棒性
RAG 的最大痛点是检索质量不稳定——检索器偶尔塞进来无关文档,模型就跟着跑偏。论文做了噪声实验:
| 方法 | BrowseComp-Plus 无噪声 | 标准噪声 | 波动 |
|---|---|---|---|
| NV-Embed-V2 | 56.89% | 50.67% | ↓6.22 |
| HippoRAG2 | 62.33% | 56.11% | ↓6.22 |
| MEMO | 53.67% | 54.22% | ↑0.55 |
---
MEMORY 要多大?1.5B 就能用,14B 效果更好
| MEMORY 规模 | BrowseComp-Plus | NarrativeQA | MuSiQue |
|---|---|---|---|
| 1.5B | 44.11% | 24.00% | 42.90% |
| 14B | 54.22% | 26.85% | 48.30% |
| 增益 | +10.11% | +2.85% | +5.40% |
---
持续更新:模型合并省 33% 算力
新语料库来了怎么办?传统做法是在全部数据上重训,计算量随语料库数量平方增长。MEMO 支持模型合并:
各语料库独立训练,得到任务向量 τᵢ = φᵢ − φ₀,然后用 TIES 合并。计算量从 Θ(K²) 降到 Θ(K)。两个语料库时省 33%(48h vs 72h),十个语料库时省 5.5×(1320h vs 240h)。
但代价是精度:合并后 NarrativeQA 从 26.85% 掉到 15.81%(↓11.04%)。论文认为这是可接受的 trade-off——如果你需要频繁更新,用合并;如果你追求极致精度,用完全重训练。
---
MEMO 不是银弹
论文很诚实地说出了局限:
1. BrowseComp-Plus 上的劣势 当答案完全依赖原始文档中的具体信息(如特定网页的精确内容),RAG 的直接访问仍然更优。MEMO 的价值在「理解-压缩-综合」,不在「原文复制」。
2. 模型合并的精度损失 持续更新省算力,但精度明显下降。需要更好的合并算法来缩小这个 gap。
3. 数据合成成本 五步骤管道需要大量计算来生成反思 QA 对。对于 NarrativeQA,生成了约 160 万对。这个前置成本是否值得,取决于应用场景的更新频率。
4. EXECUTIVE 的依赖 MEMORY 的知识质量受 EXECUTIVE 推理能力影响。更强的 EXECUTIVE(Gemini-3-Flash vs Qwen2.5-32B)能更好地利用 MEMORY 的输出,增益在 NarrativeQA 上高达 +26.73%。
---
为什么 MEMO 值得关注
它有五个属性,现有方案最多满足两三个:
| 属性 | 非参数(RAG) | 参数(微调) | 潜在记忆 | MEMO |
|---|---|---|---|---|
| 冻结基础 LLM | ✓ | ✗ | ✓ | ✓ |
| 无需检索索引 | ✗ | ✓ | ✓ | ✓ |
| 兼容黑盒模型 | ✓ | ✗ | ✗ | ✓ |
| 无灾难性遗忘 | ✓ | ✗ | ✓ | ✓ |
| 恒定大小记忆 | ✗ | ✓ | ✗ | ✓ |
| 跨 LLM 可迁移 | ✓ | ✗ | ✗ | ✓ |
对实际部署来说,这意味着:
- 不需要算力重训大模型
- 不需要维护检索索引
- 不受上下文长度限制
- 新知识不会冲掉旧知识
- 兼容 Claude/GPT-4 等专有 API
一句话总结
MEMO 的思路不是「让大模型学得更多」,而是「让大模型有一个会学习的小跟班」。大模型负责推理,小模型负责记忆,两者通过精心设计的协议协作。这个架构的价值不在于单项指标刷榜,而在于它把「知识更新」从一个破坏性的问题(微调会遗忘、RAG 会噪音爆炸)变成了一个可增量维护的工程问题。
---
参考
- Chang et al. (2025). MEMO: Memory as a Model. arXiv:2605.15156
- GitHub: https://github.com/microsoft/MEMO
🌟 智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
🎁 领取 2000万 Tokens