AI / Technology
RAG让语言模型先查资料,再组织答案
论文:Patrick Lewis 等,Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks,NeurIPS 2020;本文依据 arXiv v4 与其全文整理。
一、结论先行
这篇论文改变的不是“让模型记住更多”,而是让生成模型在回答前查询一个可检查、可替换的外部知识库,再把检索结果与参数中已有的语言能力合起来生成答案。作者把这种通用微调方案称为检索增强生成(Retrieval-Augmented Generation, RAG)。[来源:摘要;§1;§2]
请记住三点:
- 两种记忆协作:BART 生成器提供参数记忆,Wikipedia 稠密向量索引提供非参数记忆。
- 检索也参与学习:训练只有输入—输出对,没有“应该找哪篇文档”的直接监督;系统联合微调查询编码器与生成器。
- 证据强,但边界清楚:RAG 在多项知识密集任务上优于当时的 BART 或检索基线,也能通过替换索引更新答案;这不等于检索永远正确,也不等于生成内容天然有可验证引用。[来源:§2.4;表 1–6;§4.5]
图 1|教学重绘,不复刻论文图。实线表示推理:问题经查询编码器检索 Top-K 段落,问题与段落共同进入生成器。虚线表示论文的主训练设置:查询编码器和生成器联合微调,文档编码器与索引固定。[来源:§2.2–2.4]
二、它要解决什么问题
纯参数语言模型像一个“闭卷答题者”:知识压在权重里,更新世界知识通常要继续训练,也很难指出某个答案来自哪段资料。2020 年已有 REALM、ORQA 等“先检索再处理”的系统,但主要探索开放域抽取式 问答——答案通常必须是检索文档中的原文片段。论文的问题是:能否保留预训练生成模型自由组织语言的能力,同时给它一个可检索的外部记忆,并把同一架构用于问答、生成和分类?[来源:§1;§5]
这不是简单地把搜索结果粘进提示词。作者把“检索到哪篇文档”当作未直接标注的潜变量,在训练目标中综合多个候选文档的概率;因此任务输出会反过来教查询编码器什么资料更有用。[来源:§2.1;§2.4]
三、方法如何工作
方法块 1|先把百科变成可搜索记忆。 作者使用 2018 年 12 月的英文 Wikipedia,把文章切成互不重叠的 100 词片段,共约 2100 万 个文档;DPR 双编码器把问题和文档映射成向量,再用最大内积搜索找 Top-K 段落。[来源:§2.2;§3]
方法块 2|把资料与问题一起交给生成器。 生成器是约 4 亿参数 的 BART-large。每个候选段落与原问题拼接后分别参与生成,最终结果综合检索概率与生成概率。论文的主训练设置固定文档编码器和索引,只更新查询编码器与 BART;作者指出,持续更新文档编码器会要求周期性重建索引,成本较高。[来源:§2.3–2.4]
方法块 3|两种“综合文档”的粒度。 RAG-Sequence 假设整条输出由同一个潜在文档负责,再对 Top-K 文档的整句概率求和;RAG-Token 则在每个输出词位置综合不同文档,所以一条回答可以在生成过程中切换证据来源。[来源:§2.1]
图 2|左侧不是“只检索一篇”,而是整句生成时对多个候选文档的整句概率做边缘化;图用一篇高亮文档表达“同一个潜变量贯穿整句”。右侧表达每个输出词都可重新综合候选文档。两者没有普遍胜负。[来源:§2.1;§4.3;§4.5]
四、证据与限制
最直接的证据来自开放域问答的 Exact Match。RAG-Sequence 在 Natural Questions、WebQuestions、CuratedTREC 上分别得到 44.5、45.2、52.2;对应 DPR 为 41.5、41.1、50.6。在 TriviaQA 的标准测试集上,RAG-Sequence 为 56.8,低于 DPR 的 57.9;在可与 T5 比较的 TriviaQA-Wiki 切分上则为 68.0。因此更准确的说法是:论文在三个开放域问答数据集及 TriviaQA 的特定切分上刷新了当时结果,而不是“所有列都击败所有基线”。[来源:表 1;§4.1]
生成质量的证据也不只来自自动指标。Jeopardy 问题生成的人评覆盖 452 对 输出:评价者认为 RAG 更事实正确的比例为 42.7%,BART 更好的比例为 7.1%;在具体性上,RAG 更好为 37.4%,BART 更好为 16.8%。不过“无多数意见”分别占 20.8% 和 20.1%,说明比较并非毫无歧义。[来源:§4.3;表 4]
消融实验支持“学会检索”确有贡献:冻结检索器通常降低多个任务的开发集结果;但 FEVER 上词面匹配的 BM25 反而最好,作者推测这是因为该任务高度依赖实体词重合。更多检索文档也不是无条件更好:RAG-Sequence 在 Natural Questions 上随文档数增加而提升,RAG-Token 则在 10 篇处达到峰值,同时运行成本会上升。[来源:表 6;§4.5]
最大的未解风险 是检索与生成之间没有事实保证:找错段落、资料缺失或资料过时,都会限制答案。论文使用单一 Wikipedia 快照,MS-MARCO 中一些问题本来就无法仅靠 Wikipedia 回答;而“更少幻觉”的结论主要来自特定任务与相对 BART 的实验,不能外推成 RAG 会消除幻觉。[来源:§3.2;§4.2;§6]
五、实际意味着什么
对产品设计者,论文最重要的启发是把“语言能力”和“可更新知识”拆开:生成器负责理解与表达,索引负责存放可替换事实。论文用 82 位 在 2016—2018 年间发生变化的世界领导人验证热替换:匹配年份时,2016 索引回答 2016 领导人的准确率为 70%,2018 索引回答 2018 领导人为 68%;索引与目标年份错配时仅 12% 和 4%。这说明答案确实会随外部记忆改变,但也说明即使年份匹配,准确率仍远非 100%。[来源:§4.5 “Index hot-swapping”]
图 3|教学类比:旧索引移出,新索引接入,生成器保持不变;同一问题可能得到更新后的答案。图中不画实验数字,避免把概念示意误读为量化结果。[来源:§4.5]
今天实现 RAG 时,可以沿用这条分工思路,但不能把这篇论文当成完整产品规范。实际系统还需要处理来源权限、索引刷新、检索评测、引用展示、冲突证据、无答案策略、延迟与成本。这里是基于论文机制的实践解释,不是作者在该实验中验证过的完整清单。
研究附录:术语、证据台账与复核入口
术语速查
- 参数记忆:知识隐含在模型权重中;本文特指 BART 生成器。
- 非参数记忆:可独立查询和替换的文档向量索引;本文使用 Wikipedia 片段。
- 潜变量:训练数据没有标出“正确文档”,模型对候选文档的可能性求和。
- 边缘化:不押注唯一文档,而是按检索与生成概率综合多个候选。
- Exact Match(EM):生成答案与标准答案规范化后完全一致才计分。
证据台账
| 主题 | 论文证据 | 可安全得出的结论 | 不应外推 |
|---|---|---|---|
| 开放域问答 | 表 1,NQ/WQ/CT 与 TQA 两种切分 | RAG 在当时多项基准上很强 | 所有数据集、所有检索基线都被全面击败 |
| 事实性与具体性 | Jeopardy 452 对人评,表 4 | 相对该 BART 基线,人更常偏好 RAG | RAG 输出必然真实 |
| 可更新知识 | 82 位世界领导人,2016/2018 索引热替换 | 外部索引能显著影响时效答案 | 替换索引即可保证正确或实时 |
| 检索学习 | 表 6 冻结与 BM25 消融 | 可训练查询编码器通常有帮助 | 稠密检索在所有任务都优于词面检索 |
不确定性与复核问题
- HTML 转换版中部分数学符号与 Top-K 的具体训练/测试取值没有完整呈现;本文不据此猜测数值,需精确复现时应核对 PDF。
- 论文比较对象、数据快照和模型规模属于 2020 年语境,不能直接代表当前系统的相对性能。
- 论文展示可检查的检索内容,但没有证明最终生成句子的每个事实都能被某个检索段落逐项蕴含。
- 复现时应确认:Wikipedia 版本、切块方式、DPR 初始化、训练时检索数、解码方式,以及各数据集的确切切分。
来源定位
图片生成说明
三张图片均为本文新生成的教学视觉,不复刻论文原图;使用内置 ImageGen 分别生成,并统一归一化为 1672×941、RGB、8-bit PNG。图片中的短标签仅帮助导航,定量证据与限制以正文及来源定位为准。
关于这篇论文的三个关键问题
RAG:让语言模型先查资料,再组织答案 解决了什么问题?
纯参数语言模型像一个“闭卷答题者”:知识压在权重里,更新世界知识通常要继续训练,也很难指出某个答案来自哪段资料。2020 年已有 REALM、ORQA 等“先检索再处理”的系统,但主要探索开放域抽取式 问答——答案通常必须是检索文档中的原文片段。论文的问题是:能否保留预训练生成模型自由组织语言的能力,同时给它一个可检索的外部记忆,并把同一架构用于问答、生成和分类?[来源:§1;§5]
RAG:让语言模型先查资料,再组织答案 的核心结论有哪些证据?
生成质量的证据也不只来自自动指标。Jeopardy 问题生成的人评覆盖 452 对 输出:评价者认为 RAG 更事实正确的比例为 42.7%,BART 更好的比例为 7.1%;在具体性上,RAG 更好为 37.4%,BART 更好为 16.8%。不过“无多数意见”分别占 20.8% 和 20.1%,说明比较并非毫无歧义。[来源:§4.3;表 4]
阅读 RAG:让语言模型先查资料,再组织答案 时最需要注意什么局限?
最大的未解风险 是检索与生成之间没有事实保证:找错段落、资料缺失或资料过时,都会限制答案。论文使用单一 Wikipedia 快照,MS-MARCO 中一些问题本来就无法仅靠 Wikipedia 回答;而“更少幻觉”的结论主要来自特定任务与相对 BART 的实验,不能外推成 RAG 会消除幻觉。[来源:§3.2;§4.2;§6]