DOCAI · 论文导读 · 2020
《Retrieval-Augmented Generation》导读:让模型先查再答
Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks · Lewis 等(Facebook AI) · NeurIPS 2020
一句话结论
把检索器接进生成模型:先找出相关段落,再让模型基于段落作答。
研究更新 2026-11-13核验 2026-11-13 · docai 编辑部
它解决了什么
纯生成模型把知识存在权重里:更新要重训,出处无法给出,答错也查不到依据。
这篇论文的做法是把一个可检索的文档库接在模型前面:回答问题前先查资料,回答时基于查到的段落。
三个关键思想
1. 检索器与生成器一起训练。 检索器把问题编码成向量,从文档库里取 top-k 段落;生成器以问题和这些段落为条件输出答案。
2. 两种结合方式。 RAG-Sequence 对整个回答用同一组检索段落;RAG-Token 在每个 token 上重新加权段落。前者简单,后者更灵活。
3. 知识可以换,不用重训。 换文档库就等于换知识来源——这是它和微调最本质的区别。
读前需要知道
- 什么是 RAG:工程视角的三步流程。
- 什么是 Embedding:检索为什么能按意思匹配。
- 概率的基本记号:条件概率、top-k。
重点章节与可跳过部分
- 第 2 节(方法):RAG-Sequence 与 RAG-Token 的区别,是全篇核心。
- 第 3 节(实验):挑开放域问答的结果看,理解它相对纯生成模型的提升来自哪里。
- 第 4 节(分析):检索段落换成不相关的会怎样,这段最能说明 RAG 的边界。
- 训练细节可以跳过,不影响理解结构。
影响
今天几乎所有「基于文档问答」的产品都沿用它的大形状:切块、向量化、检索、拼进提示。
论文里没有解决、今天也仍然存在的问题:检索没命中时模型仍会编;多跳问题需要多次检索;文档切分会切断上下文。这些是工程问题,不是换个模型能解决的。