如果大模型需要知识,最常见的做法是外挂 RAG。
但这篇论文问了一个反直觉的问题:能不能让模型在训练时学会“像检索器一样想”,推理时却不再检索?
RAG 的老问题
过去两年,RAG 几乎成了大模型落地的标准配件。
模型不知道最新知识,就去查文档;模型容易编,就把证据塞进上下文;企业知识库不想重训模型,也可以通过检索增强生成来接入。
这条路线很实用,但它也有几个绕不开的问题。
第一,推理变慢。每次回答都要先做向量检索,再把召回文档拼进上下文,尤其在大语料库和长上下文场景下,首 token 延迟会明显增加。
第二,检索和生成是分开的。检索器在模型计算图外面工作,LLM 只是被动读到一段额外文本。文档找到了,不代表模型一定用对;文档里有干扰信息,模型还可能被带偏。
第三,微调也不是万能替代品。继续预训练(CPT)和 LoRA 可以把知识写进参数,但会带来灾难性遗忘风险:某些知识任务变好,通用能力反而掉了。
上海交大 LUMIA Lab、上海 AI Lab 和清华的这篇论文MLP Memory: A Retriever-Pretrained Memory for Large Language Models,试图把这三件事重新组合起来。
它不让模型每次都去检索文档,也不直接改动主模型参数,而是训练一个外置的MLP Memory:训练时模仿 kNN 检索器,推理时像一个参数化记忆模块一样输出 next-token 概率,再和原 LLM 的输出做插值。
一句话概括:把 RAG 的“查资料能力”,压缩成一个可前向计算的 MLP 记忆。
它到底在记什么
理解这篇论文,最好先把 RAG、kNN-LM 和 MLP Memory 放在一条线上看。
RAG 的做法是:用户提问后,系统从外部知识库里找文档,把文档放进 prompt,再让 LLM 作答。
kNN-LM 更贴近语言模型内部。它会先把训练语料中的每个上下文表示存成 key,把对应的下一个 token 存成 value。推理时,当前上下文也会变成一个 query,到这个巨大 datastore 里找近邻,然后根据近邻 token 形成一个概率分布。
这相当于给语言模型旁边放了一本巨大的“索引词典”。需要续写时,不只看模型自己算出的概率,还会查一查训练语料里类似上下文后面通常跟什么。
问题是,这本词典太大、查起来太慢。论文举的例子是,kNN-LM 在 5B token 数据上可能对应几十 TB 级别 datastore,而一个 1B 参数的 MLP Memory 大约是 4GB 级别。
MLP Memory 的关键动作,是把“查词典”改成“学会词典的行为”。
训练阶段,研究者先构造 kNN 检索器产生的目标分布。对每个训练上下文,kNN 会告诉你:类似上下文后面,哪些 token 更可能出现,以及概率大概怎样分布。
然后,MLP Memory 学习从 LLM 中间层 hidden state 直接预测这个 kNN 分布。这里不是只学标准答案 token,而是学习一个分布:Paris 可能很高,London 可能也有一点,Beijing 也许更低。
这很像学生不是背答案,而是模仿老师解题时的“概率判断”。老师来自 kNN 检索器,学生是一个全 MLP 模块。
训练时像检索器,推理时不检索
论文的方法并不复杂,反而相当直接。
给定一个上下文,原始 LLM 会输出自己的概率分布P_LM。MLP Memory 读取某一层的 hidden representation,输出另一个概率分布P_MLP。最后系统把两者做线性插值,得到最终预测。
也就是说,最终答案来自两股力量:一股是原模型的语言能力,一股是外置记忆模块学到的检索式知识。
训练目标也有两部分。
一部分是 KL loss,让 MLP Memory 尽量模仿 kNN 检索器产生的完整分布;另一部分是交叉熵 loss,让它不要忘记真实下一个 token。论文的消融实验显示,两个目标都不能太极端,最佳 KL 权重大约在0.4附近。
这点很关键。只学真实 token,容易变成普通语言模型;只学 kNN 分布,又可能过度贴近检索器本身的噪声。作者希望 MLP Memory 学到的是检索器的知识利用模式,而不是机械复制检索结果。
另一个有意思的发现是,MLP Memory 读取的不是最后一层表示,而是大约70% 深度位置的中间层表示效果更好。直觉上,最后一层更接近输出决策,中间偏后的层可能保留了更适合“查记忆”的语义结构。
结果好在哪里
论文主要从 scaling、问答、通用 NLP 任务、幻觉检测和推理效率几个角度做评估。
在 scaling law 实验里,作者用 GPT-2 系列做对比。在 WikiText-103 上,加入 MLP Memory 的架构相对 decoder-only 继续训练,模型参数 scaling 指数提升17.5%;在 Web 数据集上提升24.1%。
通俗讲,这说明同样增加模型规模时,带外置 MLP 记忆的架构 perplexity 下降得更快。
在问答任务上,论文用 Llama2-7B 和 Mistral-7B-v0.3 做 backbone,比较 Base LM、RAG、kNN-LM、CPT、LoRA 和 MLP Memory。
结果里最醒目的是 Mistral-7B-v0.3:在 NQ、WebQA、TriviaQA、TruthfulQA、HotpotQA 五个 QA benchmark 上,MLP Memory 平均相对提升12.3%。其中 WebQA 从 29.28 提到 37.45,NQ 从 20.63 提到 25.20。
Llama2-7B 上也有提升,五个 QA 任务平均相对提升7.8%。
更重要的是,CPT 和 LoRA 在部分任务上会明显掉分,尤其 HotpotQA 这类多跳问答;RAG 也不是全胜,有的任务因为检索文档引入干扰反而下降。MLP Memory 的优势在于它不改主模型参数,也不在推理时塞入一堆可能有噪声的文档。
在九个通用 NLP 任务上,MLP Memory 的平均分从 Mistral-7B-v0.3 的 67.86 提到73.07,绝对提升5.2 分。这点回应了一个常见担心:外挂记忆会不会只对知识问答有用,却伤害通用理解能力?至少在这组实验里,作者给出的答案是否定的。
幻觉检测上,MLP Memory 在 HaluEval 的 Dialogue、QA、Summarization 三类任务上分别提升9.68、10.08、2.14 分。RAG 在 QA 上略高于 MLP Memory,但没有评估 summarization;CPT 和 LoRA 则整体更不稳定。
最值得看的不是“更强”,而是“少一次查库”
这篇论文最有工程意味的点,是推理路径。
RAG 的成本不只在 LLM 本身,还在检索系统:向量库、召回、rerank、文档拼接、长上下文计算,以及由此带来的延迟和不确定性。
MLP Memory 推理时只需要一次前向计算。论文报告称,它的 time-to-first-token 比 top-5 RAG 快2.5 倍,比做了降维加速的 kNN-LM 快5.6 倍;tokens per second 也比 RAG 高1.5 倍,比 kNN-LM 高6 倍。
更关键的是,RAG 和 kNN-LM 的速度会随着语料库规模变化,而 MLP Memory 的推理速度基本只取决于这个 MLP 模块本身。
这就像把一座图书馆里的检索经验训练成一个随身助理。它不是真的带着每本书出门,也不能随时查新书,但面对已经训练过的知识分布,它可以更快地给出判断。
它不是 RAG 的终结
这篇论文容易被误读成“RAG 要被替代了”。更准确的说法是:它指出了 RAG 之外的一条参数化记忆路线。
MLP Memory 适合的是相对稳定、可预训练、需要低延迟调用的知识分布。比如固定语料上的问答、常见事实、领域知识压缩、边缘部署或高并发服务。
但如果知识经常变化,比如企业最新文档、当天新闻、用户私有数据、审计要求很强的场景,RAG 仍然有明显优势。因为 RAG 可以直接展示来源,也能快速更新知识库;MLP Memory 要更新知识,至少需要重新构造监督信号并训练记忆模块。
另一个边界是训练成本。论文实验使用 32 张 A800 80GB GPU,并且需要先构造 datastore 和 kNN 目标分布。它把推理时的检索成本前移到了训练阶段,不是凭空消除了成本。
所以对工程实践来说,这篇论文给出的不是“别用 RAG”,而是一个新的权衡:如果你的知识库足够稳定、推理延迟足够关键,是否可以把显式检索蒸馏成一个外置参数记忆?
对从业者的启示
记忆和推理可以拆开设计。传统 LLM 把语言建模、知识存储和推理能力混在一个 decoder 里。MLP Memory 说明,记忆模块可以单独预训练,再以概率插值方式接入主模型。
RAG 的价值不只在文档本身,也在检索分布。这篇论文真正蒸馏的不是某几篇文档,而是“相似上下文通常如何续写”的统计结构。这可能比简单把文档塞进 prompt 更稳定。
不要低估外置小模块。一个 1B 参数 MLP Memory 对 7B backbone 来说并不算小,但它没有注意力、推理路径简单,带来的延迟形态和 RAG 完全不同。
知识更新仍是硬问题。如果一个系统必须每天吸收新资料,显式 RAG 依然更灵活。MLP Memory 更像“长期记忆压缩”,不是“实时资料查询”。
未来可能出现混合形态。高频、稳定知识交给参数化记忆;低频、长尾、实时知识交给 RAG;需要证据追溯时再显式检索。真正的生产系统未必二选一。
学AI大模型的正确顺序,千万不要搞错了
🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!
有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!
就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋
📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇
学习路线:
✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经
以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~