1. 摘要与引言 (Abstract & Introduction)

  • 核心问题: 大型预训练语言模型(如BART, T5)虽然在参数中存储了大量事实知识,但在知识的精确访问和操作上能力有限 。它们无法轻易扩展或修正知识,其决策过程缺乏透明度,并且可能产生“幻觉”(即捏造事实)。

  • 解决方案: 提出一种名为 RAG (Retrieval-Augmented Generation) 的通用模型框架,它将预训练的参数化记忆(一个seq2seq模型)与非参数化记忆(一个可通过神经检索器访问的密集向量索引,如维基百科)相结合 。

  • 模型构成: RAG模型包含一个预训练的seq2seq生成器(BART)和一个预训练的密集段落检索器(DPR)。

  • 主要贡献:

    • 在三个开放域问答任务上取得了最先进的(SOTA)成果 。

    • 在语言生成任务上,RAG比纯参数化模型生成的内容更具体、更多样、更符合事实 。

    • 展示了通过替换非参数化记忆(文档索引)来有效更新模型世界知识的能力 。


2. 方法 (Methods)

  • 整体架构 (Figure 1):
    Figure1

    1. 输入查询 (x) 进入 查询编码器 (Query Encoder) 生成查询向量 q(x)

    2. 使用 最大内积搜索 (MIPS)文档索引 (Document Index) 中检索与 q(x) 最相关的Top-K个文档 z

    3. 生成器 (Generator) 将原始输入 x 和检索到的文档 z 结合起来,生成最终输出 y

    4. 整个过程通过端到端训练,同时优化生成器和查询编码器 。

  • RAG的两种模型:

    • RAG-Sequence: 模型为整个输出序列选择同一个检索文档 z 。其概率模型是对不同文档 z 生成完整序列 y 的概率进行加权求和 。

      • 公式:
        p(yx)ztopk(p(x))pη(zx)pθ(yx,z)=ztopk(p(x))pη(zx)Πi=1Npθ(yix,z,y1:i1)p(y|x) \approx \sum_{z \in top-k(p(·|x))} p_\eta(z|x)p_\theta(y|x,z) = \sum_{z \in top-k(p(·|x))} p_\eta(z|x)\Pi_{i=1}^{N}p_\theta(y_i|x,z,y_{1:i−1})
    • RAG-Token: 模型在生成每一个目标词元 (token) 时,都可以从多个文档中汲取信息 。其概率模型是在生成每个词元时,都对所有Top-K文档的贡献进行一次加权求和,然后将每一步的概率连乘 。

      • 公式:
        p(yx)Πi=1Nztop(p(x))kpη(zx)pθ(yix,z,y1:i1)p(y|x) \approx \Pi_{i=1}^{N} \sum_{z∈top-(p(·|x))k}p_\eta(z|x)p_\theta(y_i|x,z,y_{1:i−1})
  • 核心组件:

    • 检索器 (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 可以在一定程度上缓解此问题。