RAG for Knowledge-Intensive NLP Tasks
1. 摘要与引言 (Abstract & Introduction)
-
核心问题: 大型预训练语言模型(如BART, T5)虽然在参数中存储了大量事实知识,但在知识的精确访问和操作上能力有限 。它们无法轻易扩展或修正知识,其决策过程缺乏透明度,并且可能产生“幻觉”(即捏造事实)。
-
解决方案: 提出一种名为 RAG (Retrieval-Augmented Generation) 的通用模型框架,它将预训练的参数化记忆(一个seq2seq模型)与非参数化记忆(一个可通过神经检索器访问的密集向量索引,如维基百科)相结合 。
-
模型构成: RAG模型包含一个预训练的seq2seq生成器(BART)和一个预训练的密集段落检索器(DPR)。
-
主要贡献:
-
在三个开放域问答任务上取得了最先进的(SOTA)成果 。
-
在语言生成任务上,RAG比纯参数化模型生成的内容更具体、更多样、更符合事实 。
-
展示了通过替换非参数化记忆(文档索引)来有效更新模型世界知识的能力 。
-
2. 方法 (Methods)
-
整体架构 (Figure 1):

-
输入查询 (x) 进入 查询编码器 (Query Encoder) 生成查询向量
q(x)。 -
使用 最大内积搜索 (MIPS) 在 文档索引 (Document Index) 中检索与
q(x)最相关的Top-K个文档z。 -
生成器 (Generator) 将原始输入
x和检索到的文档z结合起来,生成最终输出y。 -
整个过程通过端到端训练,同时优化生成器和查询编码器 。
-
-
RAG的两种模型:
-
RAG-Sequence: 模型为整个输出序列选择同一个检索文档
z。其概率模型是对不同文档z生成完整序列y的概率进行加权求和 。- 公式:
- 公式:
-
RAG-Token: 模型在生成每一个目标词元 (token) 时,都可以从多个文档中汲取信息 。其概率模型是在生成每个词元时,都对所有Top-K文档的贡献进行一次加权求和,然后将每一步的概率连乘 。
- 公式:
- 公式:
-
-
核心组件:
-
检索器 (Retriever): 基于DPR(Dense Passage Retriever),它包含一个BERT-base的查询编码器和文档编码器。
-
生成器 (Generator): 使用BART-large,一个拥有4亿参数的预训练seq2seq模型。检索到的文档内容与原始输入被简单地拼接在一起送入BART。
-
非参数化记忆: 使用2018年12月的维基百科快照,分割成2100万个100词的文档块。
-
-
训练与解码:
-
训练: 联合训练查询编码器和生成器,但保持文档编码器(和索引)固定以降低计算成本。
-
解码: RAG-Token可以直接使用标准beam search解码 。RAG-Sequence需要为每个检索到的文档分别运行beam search,然后对生成的候选集进行边缘化概率计算,有"Thorough Decoding"和"Fast Decoding"两种方式。
-
3. 实验与结果 (Experiments & Results)
-
开放域问答 (Open-domain QA):
-
在Natural Questions (NQ), WebQuestions (WQ), 和 CuratedTrec (CT) 数据集上,RAG均取得了SOTA成绩。
-
RAG-Sequence在TQA数据集上也超过了T5-11B+SSM。
-
即使正确答案未出现在任何检索到的文档中,RAG仍能在NQ上实现11.8%的准确率,这是纯抽取式模型无法做到的。
-
-
生成任务 (Generation Tasks):
-
MS-MARCO: RAG-Sequence在Bleu和Rouge-L指标上均优于BART基线。
-
Jeopardy问题生成: RAG-Token在Q-BLEU-1指标上表现最佳。
人工评估显示,RAG的生成结果在事实性 (42.7% vs 7.1%) 和具体性 (37.4% vs 16.8%) 上远超BART。
-
多样性: RAG的生成结果比BART更多样化,其中RAG-Sequence的多样性最高。
-
-
事实核查 (Fact Verification):
-
在FEVER任务中,RAG在未接收任何检索监督信号的情况下,其准确率与经过复杂设计的SOTA模型差距在4.3%以内。
-
RAG检索到的Top-10文档中有90%的概率包含FEVER任务中的黄金标准证据文章。
-
-
核心能力分析:
-
知识更新 (Hot-swapping): 实验证明,通过切换2016年和2018年的维基百科索引,RAG能正确回答相应年份的问题,证明了其知识可以被轻松更新。
-
记忆协同: 通过分析生成过程,发现检索的非参数化记忆可以引导并“触发”生成器的参数化记忆,使其生成存储在内部的特定知识(如书名。
-
可学习的检索: 消融实验表明,对查询编码器进行微调(Learned Retrieval)对于大多数任务的性能至关重要,尤其是在开放域问答上。
-
4. 讨论与影响 (Discussion & Broader Impact)
-
总结: RAG成功地将参数化和非参数化记忆结合,在知识密集型任务上表现出色,生成的文本更真实、更具体,并且知识易于更新。
-
社会效益: RAG更强地根植于事实知识,能减少“幻觉”,提供更好的可解释性和可控性。
-
潜在风险: 与其他大型语言模型类似,RAG也可能被用于生成误导性内容或垃圾邮件。但其事实性 grounding 可以在一定程度上缓解此问题。