论文来源:P. Lewis, E. Perez, A. Piktus, F. Petroni, V. Karpukhin, N. Goyal, et al. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. in: 34th Conference on Neural Information Processing Systems (NeurIPS 2020), Virtual, Online, 6-12 Dec. 2020, Neural information processing systems foundation, 2020: 9459-9474 机翻为主,人工微调。
摘要
大型预训练语言模型已被证明可以在其参数中存储事实知识,并在下游NLP任务上进行微调时达到SOTA。然而,它们访问和精确操作知识的能力仍然有限,因此在知识密集型任务上,它们的性能落后于特定于任务的架构。此外,为他们的决策提供依据并更新他们的世界知识仍然是悬而未决的研究问题。具有对显式非参数内存的可微访问机制的预训练模型可以克服这个问题,但迄今为止仅针对提取性下游任务进行了研究。我们探索了一种用于检索增强生成(RAG)的通用微调方法——结合了预先训练的参数和非参数记忆来生成语言的模型。我们引入RAG模型,其中参数存储器是预训练的seq2seq模型,非参数存储器是维基百科的密集向量索引,可通过预训练的神经网络检索器访问。 我们比较了两种RAG方法,一种在整个序列生成过程中,以相同的检索段落为条件,另一种可以使每个标记使用不同的段落。我们在广泛的知识密集型NLP任务上微调和评估我们的模型,并在三个开放域QA任务上达到SOTA,优于参数化seq2seq模型和特定于任务的检索和提取架构。对于语言生成任务,我们发现RAG模型比最先进的纯参数seq2seq基线生成更具体、更多样化和更真实的语言。
正文
1 介绍
预训练的神经语言模型已经被证明能够从数据中学习大量的深入知识。它们作为一个参数化的隐性知识库,可以在没有外部内存访问的情况下完成这一任务。虽然这一发展令人兴奋,但这类模型确实存在一些缺点:它们不能轻松地扩展或修订其内存,不能直接提供对其预测的洞察,并且可能会产生“幻觉”。
结合参数化内存与非参数化(即基于检索的)内存的混合模型可以解决一些这些问题,因为知识可以直接被修订和扩展,并且访问的知识可以被检查和解释。REALM和ORQA,这两个最近引入的模型,将掩码语言模型与可微分的检索器相结合,已经显示出有希望的结果,但是,这些模型只探索了开放领域的抽取式问答。在这里,我们将混合参数化和非参数化内存带到了NLP的“主力”中,即序列到序列(seq2seq)模型。
图1:我们方法的总览。我们将一个预训练的检索器(查询编码器+文档索引)与一个预训练的序列到序列模型(生成器)相结合,并进行端到端的微调。对于查询x,我们使用最大内积搜索(MIPS)来找到最相关的Top-K文档。对于最终预测y,我们将z视为一个潜在变量,并在给定不同文档的情况下,对序列到序列模型的预测进行边缘化处理。
我们通过一种通用的微调方法,为预训练的、参数化内存生成模型赋予了一种非参数化内存,我们称之为检索增强生成(RAG)。我们构建了RAG模型,其中参数化内存是一个预训练的seq2seq transformer,非参数化内存是维基百科的密集向量索引,通过一个预训练的神经检索器进行访问。我们在一个端到端训练的概率模型中结合了这些组件(图1)。检索器(密集段落检索器,以下简称DPR)根据输入提供潜在文档,然后seq2seq模型(BART)再根据这些潜在文档以及输入生成输出。我们使用一个top-K近似来边缘化潜在文档,可以是基于每个输出(假设相同的文档负责所有令牌)或基于每个令牌(不同的文档负责不同的令牌)。像T5或BART一样,RAG可以在任何seq2seq任务上进行微调,其中生成器和检索器是共同学习的。
以前有大量的工作提出架构,以非参数化内存来丰富系统,这些内存是从零开始为特定任务训练的,例如记忆网络,堆叠增强网络和记忆层。相比之下,我们探索的是参数化和非参数化内存组件都是预训练且预加载了大量知识的环境。关键的是,通过使用预训练的访问机制,访问知识的能力在没有额外训练的情况下就存在。
我们的结果突出了将参数化与非参数化内存与生成相结合,用于知识密集型任务的好处——这些任务是人们在没有外部知识来源的情况下无法合理预期能够完成的。我们的RAG模型在开放自然问题,WebQuestions和CuratedTrec上取得了最先进的结果,并且在TriviaQA上明显优于最近使用特殊预训练目标的方法。尽管这些都是抽取式任务,但我们发现无约束生成优于以前的抽取式方法。对于知识密集型生成,我们尝试了MS-MARCO和Jeopardy问题生成,我们发现我们的模型生成的响应比BART基线更真实、更具体、更多样化。对于FEVER事实验证,我们实现了与使用强大检索监督的最先进流水线模型相差4.3%的结果。最后,我们证明了非参数化内存可以被替换,以更新模型的知识,因为世界在变化。
2 方法
我们探讨了RAG模型,这些模型使用输入序列检索文本文档,并在生成目标序列时将它们作为额外的上下文。如图1所示,我们的模型利用了两个组件:(i)一个带有参数η的检索器,它根据查询返回(top-K截断的)文本段落上的分布;(ii)一个由θ参数化的生成器,它基于之前的个标记的上下文、原始输入和一个检索到的段落生成当前标记。
为了端到端地训练检索器和生成器,我们将检索到的文档视为一个潜在变量。我们提出了两种模型,它们以不同的方式对潜在文档进行边缘化,以产生生成文本的分布。在一种方法中,RAG-Sequence,模型使用相同的文档来预测每个目标标记。第二种方法,RAG-Token,可以根据不同的文档预测每个目标标记。在下面,我们将正式介绍两种模型,然后描述pη和pθ组件,以及训练和解码过程。
2.1 模型
RAG-Sequence Model:RAG序列模式使用相同的检索文档来生成完整的序列。从技术上讲,它将检索的通道视为单个潜在变量,该潜在变量被边缘化,以通过top-K近似获得seq2seq概率,
RAG-Token Model:在RAG-token模型中,我们可以为每个目标token绘制不同的潜在检索段落,并相应地边缘化。这允许生成器在生成答案时从多个文档中选择内容。在形式上,我们定义:
最后,我们注意到,通过将目标类视为长度为1的目标序列,RAG可以用于序列分类任务,在这种情况下,RAG序列和RAG令牌是等价的。
2.2 Retriever: DPR
检索分量基于DPR。DPR遵循双向编码器架构:
其中是由BERTBASE文档编码器产生的文档的密集表示,是由基于BERTBASE的查询编码器产生的查询表示。计算top-k(),即具有最高先验概率的个文档的列表,是一个最大内积搜索(MIPS)问题,可以在亚线性时间内近似解决。我们使用来自DPR的预训练双编码器(bi-encoder)来初始化我们的检索器并构建文档索引。这个检索器被训练用于检索包含TriviaQA问题和Natural Questions答案的文档。我们将文档索引称为非参数化记忆。
2.3 Generator: BART
生成器组件可以使用任何编码器-解码器模型来建模。我们使用BART-large,这是一个带有400M参数的预训练的seq2seq转换器。为了在从BART生成时将输入与检索到的内容结合,我们简单地将它们连接起来。BART使用去噪目标和对不同噪声函数的预训练。它在多样化的生成任务上获得了最先进的结果,并且优于大小相当的T5模型。从现在起,我们将BART生成器参数称为参数化记忆。
2.4 训练
我们联合训练检索器和生成器组件,而不直接监督应该检索哪些文档。给定输入/输出对,的微调训练语料库,我们使用Adam的随机梯度下降最小化每个目标的负边际对数似然。在训练期间更新文档编码器的成本很高,因为它需要像REALM在预训练期间那样定期更新文档索引。我们发现这一步对于强大的性能是不必要的,并且我们保持文档编码器(和索引)不变,只是微调查询编码器和生成器。
我们没有在应该检索哪个文档上提供任何直接的监督,而是联合训练检索器和生成器组件。给定一个微调训练语料库的输入/输出对,我们使用Adam的随机梯度下降来最小化每个目标的负边际对数似然,。在训练过程中更新文档编码器BERT 是昂贵的,因为它要求文档索引像REALM在预训练期间那样定期更新。我们发现这一步对于强大性能不是必要的,因此保持文档编码器(和索引)不变,只微调查询编码器BERT和BART生成器。
2.5 解码
在测试时,RAG-Sequence和RAG-Token需要不同的方法来近似求解。
RAG-Token 模型可以被视为一个标准的、自回归的seq2seq生成器,其转换概率为:
为了解码,我们可以将插入到标准beam解码器中。
RAG-Sequence 对于RAG-Sequence,似然无法分解为传统的逐字似然度,因此我们不能用单个束搜索来解决。相反,我们对每个文档运行束搜索,使用对每个假设进行评分。这产生了一组假设,其中有些假设可能没有出现在所有文档的束中。为了估计假设的概率,我们对每个文档进行额外的前向传递,其中没有出现在束中,将生成器概率与相乘,然后将概率跨束相加以得到边际。我们将这种解码过程称为“彻底解码”。对于较长的输出序列,可能会变得很大,需要许多前向传递。为了更高效的解码,我们可以进一步近似,其中在从, 进行束搜索时没有生成。这避免了在生成候选集后运行额外前向传递的需要。我们将这种解码过程称为“快速解码”。
3 实验
我们在各种知识密集型任务中对RAG进行了实验。在所有实验中,我们使用单个维基百科转储作为我们的非参数化知识来源。遵循Lee等人和Karpukhin等人的方法,我们使用2018年12月的维基百科转储。每篇维基百科文章都被分割成不相交的100字块,总共有21,015,324个文档。我们使用DPR文档编码器为每个文档计算文档嵌入,并使用FAISS构建一个MIPS索引,该索引使用分层可导航小世界逼近进行高效检索,然后用于所有实验。在训练期间,我们为每个查询检索前k个文档,其中考虑。我们使用验证数据确定测试时的k值。在接下来的部分中,我们将讨论每个任务设置的实验详细信息。
3.1 Open-domain Question Answering 开放域QA
开放域QA是一个重要的真实世界NLP应用程序,通常用作知识密集型任务的测试台。我们通过将问题和答案视为简单的输入-输出文本对来处理开放域QA,并且通过直接最小化答案的负对数似然来训练RAG。我们将我们的结果与流行的提取QA范式进行了比较,其中答案作为跨度从检索的文档中提取,主要依赖于非参数知识。此外,我们还将其与“Closed-Book QA”方法进行了比较,后者与RAG一样,生成答案,但不利用潜在检索,而是纯粹依赖于参数知识。
我们考虑四个流行的开放域QA数据集:Natural Questions(NQ)、TriviaQA(TQA)。WebQuestions(WQ)和CuratedTrec(CT)。由于CuratedTrec和WebQuestions是小数据集,我们遵循DPR,使用我们的自然问题RAG模型初始化CuratedTrec和WebQuestions模型。
我们使用与前面的工作相同的训练/dev/testing分裂方法,并报告标准的Exact Match(EM)度量。对于TriviaQA,为了与T5进行比较,我们对TriviaQA-Wiki测试集进行了额外的测试评估。
3.2 Abstractive Question Answering
在自然语言处理(NLP)中,抽象问答(Abstractive Question Answering)是一种技术,用于从文本数据中生成对提出的问题的自然语言回答。与传统的信息检索或基于模板的问答系统不同,抽象问答系统不仅仅依赖于从文本中提取的事实或文本片段来回答问题,而是尝试根据文本的意义和上下文创造全新的回答。这种方法要求系统具有理解自然语言的能力,并且能够在回答问题时进行创造性的语言生成。
由于RAG利用了编码器-解码器模型,因此它可以超越提取式问答,并通过自由形式的抽象文本生成来回答问题。为了测试RAG在知识密集型环境中生成自然语言响应的能力,我们使用MS-MARCO自然语言生成任务v2.1。该任务由提交给搜索引擎的自然语言问题、从搜索引擎中为每个问题检索的十个片段以及从这些检索的段落中注释的完整句子自然语言答案组成。
由于我们对能够执行自己的潜在检索的模型感兴趣,因此我们不使用提供的段落,仅使用问题和答案,因此将MS-MARCO视为开放域抽象问答任务。MS-MARCO确实包含一些在没有访问上下文段落的情况下无法以匹配参考答案的方式回答的问题,例如“加州火山的天气如何?”因此,我们指出在Open-MSMARCO上的性能会低于使用这些黄金上下文段落的模型。
部分问答需要依赖上下文,而本文只使用了问题和答案,所以性能会受影响
我们进一步注意到,MS-MARCO中存在无法单独使用维基百科知识源回答的问题。在这些情况下,RAG可以依赖其BART参数中的参数隐式知识,以产生常识性响应。
3.3 Jeopardy Question Generation Jeopardy问题生成
Jeopardy Question Generation的目标是根据给定的答案生成对应的问题。
为了进一步评估RAG在非问答环境中的生成能力,我们提议研究开放域问题生成。我们并不是重新利用标准开放域QA任务中的问题,这些任务通常包含简短而简单的问题,而是提出研究更具挑战性的Jeopardy问题生成任务。Jeopardy是一种不寻常的格式,它试图从关于实体的事实中猜测实体。例如,“世界杯”是Jeopardy问题“在1986年,墨西哥作为第一个两次举办这项国际体育比赛的国家” 的答案。由于Jeopardy“问题”是精确的事实陈述,因此在给定答案实体的条件下生成Jeopardy风格的问题构成了一项具有挑战性的知识密集型生成任务。
我们使用了原始Jeopardy数据以及来自SearchQA的数据拆分,其中包括97,391个训练数据点,13,713个开发数据点和26,848个测试数据点。由于这是一个新任务,我们还训练了一个BART系统进行比较。按照文献的做法,我们使用了经过SQuAD调整的Q-BLEU-1度量来评估生成结果。Q-BLEU-1是BLEU-1的一个变体,它对匹配的实体赋予更高的权重,并且与人类判断的问题生成相关性比标准词重叠度量更高。
由于自动度量标准在这种开放性任务中可能不可靠,我们还进行了生成结果的人工评估。我们进行了两项评估,一项是评估生成结果的事实性,另一项是评估特异性。我们遵循最近的最佳实践,进行了两个系统之间的成对比较评估。评估者将被展示一个答案实体和两个关于该实体的生成问题,一个来自BART,一个来自RAG。然后,他们被要求从四个可能的选项中选择一个——句子A更好,句子B更好,两者都正确或两者都不好。
3.4 Fact Verification 事实验证
FEVER是一个事实验证数据集,涉及对维基百科是否支持或驳斥自然语言主张进行分类,或者是否有足够的信息来决定。该任务需要从维基百科中检索与索赔相关的证据,然后对检索到的证据进行推理,以单独从维基基百科对索赔是真实的、虚假的还是不可验证的进行分类。FEVER是一个与蕴涵推理任务相结合的检索问题。它还为探索RAG模型处理分类而不是生成的能力提供了良好的测试平台。
我们将FEVER的类别标签(支持、反驳或信息不足)映射到单个输出标记,并直接使用声明-类别对进行训练。关键是,与大多数其他FEVER方法不同,我们不使用检索到的证据进行监督。我们探索了两种不同的FEVER变体:标准的3分类任务(支持/反驳/信息不足)和在Thorne和Vlachos中研究的2分类FEVER(支持/反驳)任务。在这两种情况下,我们报告标签准确度。
4 结果
4.1 Open-domain Question Answering
table 1:开放域QA测试分数。对于TQA,左栏使用开放域QA中常用的测试拆分。右栏使用隐藏的TQA Wiki测试拆分。更多信息见附录B。
表1显示了RAG的结果以及最新的最先进模型。在所有四个开放域QA任务上,RAG设置了新的最先进技术(在TQA仅在T5可比拆分上)。
RAG结合了“闭卷”(仅参数)方法的生成灵活性和基于“开卷”检索方法的性能。与REALM和T5+SSM不同,RAG在没有昂贵的专门“显著跨度掩蔽”预训练的情况下获得了强大的结果,依赖于现成的组件。值得注意的是,RAG的检索器是使用DPR的检索器初始化的,它对NQ和TQA使用检索监督。在开放域QA上,RAG优于DPR QA系统,后者使用基于BERT的交叉编码器系统以及提取读取器来对文档进行重新排序。RAG证明,最先进的机器读取性能既不需要重新分级器,也不需要提取读取器。即使可以提取答案,也可以生成答案,这有许多优点。包含关于正确答案的线索但本身不包含正确答案的文档仍然可以为生成正确答案贡献概率质量,这在标准提取方法中是不可能的,从而导致文档之间更有效的边缘化。此外,即使在任何检索的文档中都不存在正确答案,RAG也能够生成正确的答案,在这种情况下,自然问题的准确率为11.8%,而提取模型的得分为0%。
Table 2:生成和分类任务测试分数。MS-MARCO的SotA为,FEVER-3为,FEVER-2为使用黄金上下文证据,最好的执行模型,没有黄金访问下划线。由于FEVER是一个分类数据集,RAG Token和RAG Sequence是等价的。
4.2 Abstractive Question Answering
如表2所示,RAG Sequence在Open MS-MARCO生成上比BART高2.6个Bleu点和2.6个Rouge-L点。它接近最先进模型的性能,这是令人印象深刻的,考虑到
(i)这些模型可以访问包含生成参考答案所需的特定信息的段落,
(ii)许多问题在没有黄金段落的情况下是无法回答的,
(iii)其他问题是无法从维基百科单独回答的。
表4显示了从我们的模型中生成的一些答案。定性地,我们发现RAG模型比BART产生的幻觉更少,生成事实上正确的文本的频率更高。随后,我们还表明RAG代比BART代更具多样性(见第4.6节)。
4.3 Jeopardy Question Generation
Table 2显示了Jeopardy问题生成任务的自动度量结果。我们发现,在这种情况下,RAG-Token比RAG序列模型表现得更好,使用Q-BLEU-1度量,两种模型都优于BART。
Table 3显示了人类评估的结果。对来自BART和RAG Token的452对生成进行人类评估。注释人表示,BART仅在7.1%的情况下比RAG更真实,而RAG在42.7%的情况下更真实,RAG和BART在另外17%的情况下都是真实的,这清楚地表明了RAG在最先进的条件生成模型上对任务的比较有效性。注释者在特异性方面也强烈喜欢RAG生成。
Table 3:Jeopardy生成任务的人工评估。
Table 4显示了每个模型的典型生成示例。BART生成了更一般的响应(这是不正确的),而RAG模型生成了关于华盛顿州的具体和正确的事实。
Table 4:MS-MARCO和危险问题生成的示例生成。RAG模型生成更具体和更准确的响应,而BART生成更真实不正确(用“?”标记)或部分正确(用*标记)和更一般的响应。
我们假设RAG Token在该任务中表现最好,因为Jeopardy问题通常包含关于实体的两条单独的信息,并且RAG Token能够通过在一代中组合来自不同检索文档的不同信息来合成响应。图2显示了一个示例,其中来自两个文档的内容被组合在一起以产生生成的问题。文件2包含了关于海明威的《太阳照常升起》的信息,文件2对《太阳》的贡献非常高。类似地,文件1中提到了“永别了,武器”,在生成该标题时,它占主导地位。有趣的是,在生成这些书名的第一个标记之后,文档上的分布再次变平。这一观察表明,生成器在不依赖于特定文档的情况下完成书籍标题。换句话说,模型的参数化知识足以完成标题。
我们通过将部分解码“the Sun。BART完成了“the Sun Also Rises”的生成,这是该作者的小说《太阳照常升起》,表明标题“the Sun Aso Rise”存储在BART的参数中,从而为上述解释提供了证据。类似地,将部分解码《太阳照样升起》馈送给这位作者的小说“a将产生在BART中,用“the Sun Also Rises”完整生成是《永别了,武器》一书的作者的一部小说。这个例子展示了参数和非参数存储器如何一起工作,非参数组件有助于在特定方向上引导生成,提取存储在参数存储器中的特定知识。
Figure 2:RAG Token文档后部p(zi|x,yi,y−i)用于每个生成的令牌,用于输入“Hem-ingway”,用于具有5个检索到的文档的危险生成。当生成“永别了,武器”时,文档1的后部较高,当生成“太阳照常升起”时,文件2的后部较高
4.4 Fact Verification 事实验证
Table 2显示了我们对FEVER-3和2分类任务的结果。对于3分类,RAG实现的精度在SOTA模型的4.3%以内,这些模型是具有特定领域架构和实质性工程的复杂管道系统,使用RAG不需要的中间监督进行训练。
对于2分类,我们将其与中的模型进行比较,该模型训练RoBERTa在gold证据判决的情况下将索赔分类为真或假。尽管RAG仅提供了索赔并检索了自己的证据,但其准确性在该模型的2.7%以内。
我们还分析了RAG检索的文档是否对应于被注释为FEVER gold证据的文档。我们分析了维基百科文章中RAG检索的top k个文档和gold注释证据文档之间的重叠。我们发现,在71%的案件中,RAG检索到的top文章是的gold文档,在90%的案件中检索到的前10篇文章中存在gold文章。
4.5 消融实验
Table 5:发育组的消融。由于FEVER是一个分类数据集,RAG Token和RAG Sequence是等价的。
为了更好地理解影响RAG性能的因素,我们在各自的开发集上为我们的任务执行了许多消融实验。
使用更多文档:使用5个或10个检索到的潜在文档训练模型,并且我们没有观察到它们之间的性能差异。我们还可以灵活地在测试时调整检索的文档数量,这确实会影响性能。Figure 3(左)显示,在测试时检索更多文档单调地改善了RAG-Sequence的开放域QA结果,但RAG-Token的性能峰值为10个检索的文档。Figure 3(右)显示,检索更多的文档会导致RAG Token在Bleu-1上的Rouge-L更高,但对RAG Sequence的影响不太明显。
检索:RAG的一个关键特征是学习检索手头任务的相关信息的能力。为了评估检索机制的有效性,我们在RAG上进行消融实验,防止梯度传播到检索器中。Table 5显示了所有任务的结果。在每种情况下,学习的检索都会改进结果,最大的改进是答疑。Figure 3(中间)显示,与固定检索器相比,学习的检索器显示了更高的gold文档召回率。在TQA和NQ上的改进是显著的,因为我们从DPR初始化检索器,DPR经过强大的文档级监督训练,可以在这些任务上很好地执行。我们还将RAG的基于密集嵌入的检索机制与基于单词重叠的BM25检索器进行了比较。在这里,我们用固定的BM25系统替换RAG的可微分检索器。在计算()时,我们使用BM25检索分数作为logits。Table 5和Figure 3显示了结果。对于FEVER,我们发现BM25表现最好,可能是因为FEVER声明高度以实体为中心,因此非常适合基于单词重叠的检索。在所有其他任务中,我们发现可微检索是有用的,特别是在问题回答中非常关键。
4.5 其他结果
Generation Diversity 生成多样性
第4.3节确定,在Jeopardy问题生成上,RAG模型比BART更真实、更具体。与Li等人、Vijayakumar等人和Massarelli等人类似,我们还通过计算不同模型生成的不同ngram与总ngram的比率来研究生成的多样性。Table 6显示,RAG-Sequence生成比RAG-Token生成更具多样性,并且两者产生的输出比BART显著更多样化,而不需要任何促进多样性的解码策略。
Table 6:MS-MARCO和危险问题生成的开发集世代中不同三色图与总三色图的比率。
Retrieval Ablations 检索消融实验
RAG 的一个关键特性是学习为任务检索相关信息。为了评估检索机制的有效性,我们在训练过程中固定检索器进行消融实验。如表 6 所示,学习到的检索对于所有任务的结果都有所提升。我们将 RAG 的密集检索器与基于词重叠的 BM25 检索器【53】进行了比较。在这里,我们用一个固定的 BM25 系统替换 RAG 的检索器,并在计算 ( p(z|x) ) 时使用 BM25 的检索分数作为 logits。表 6 显示了结果。对于 FEVER,BM25 表现最佳,可能是因为 FEVER 的声明主要以实体为中心,非常适合基于词重叠的检索。可微分的检索在所有其他任务上都提高了结果,特别是对于开放域问答,它至关重要。
Hot-swapping indices 索引热更新
非参数知识模型(如RAG)的一个优点是,知识库可以在测试时轻松更新。T5或BART等仅参数化模型需要额外的训练,以将其行为更新为关于世界变化的事实。
作为演示,我们使用DrQA Wikipedia转储(日期为2016年12月21日)构建了一个索引,并将使用该索引的RAG生成结果与我们主要结果(2018年12月20日)中使用的较新索引进行了比较。
我们准备了一份由82位在这些日期之间发生变化的国家元首组成的列表,并使用模板“谁是{position}?”(例如,“谁是英国首相?”)来查询我们的自然问题——微调RAG模型,并使用每个索引。RAG使用2016年世界领导人指数实现了70%的准确性,使用2018年世界领导人索引实现了68%的准确性。使用这两个指数,该模型的预测只有21%是相同的,使用不匹配指数的准确性非常低(12%使用2018年的指数来衡量2016年的领导者,4%使用2016年的指数衡量2018年的领导者)。结果表明,通过简单地替换RAG的非参数记忆,可以用新的世界知识有效地更新RAG的行为。
Effect of Retrieving more documents 使用更多文档
使用5个或10个检索到的潜在文档训练模型,并且我们没有观察到它们之间的性能差异。我们还可以灵活地在测试时调整检索的文档数量,这确实会影响性能。Figure 3(左)显示,在测试时检索更多文档单调地改善了RAG-Sequence的开放域QA结果,但RAG-Token的性能峰值为10个检索的文档。Figure 3(右)显示,检索更多的文档会导致RAG Token在Bleu-1上的Rouge-L更高,但对RAG Sequence的影响不太明显。
Figure 3:左:检索更多文档时的NQ性能。中心:NQ中答案的分数,其中答案出现在前K个文档中的某处。右:MS-MARCO Bleu-1和Rouge-L,因为检索到更多文档。
5 相关工作
单个任务检索
先前的工作表明,当单独考虑时,检索可以提高各种NLP任务的性能。这些任务包括开放域问题回答、事实检查、事实补全、长形式问题回答、维基百科文章生成、对话、翻译和语言建模。我们的工作统一了以前在将检索合并到单个任务中的成功经验,表明单个基于检索的体系结构能够在多个任务中实现强大的性能。
NLP的通用架构
以前关于NLP任务的通用架构的工作显示了在不使用检索的情况下取得的巨大成功。已经证明,经过微调后,单个预先训练的语言模型在GLUE基准中的各种分类任务上实现了强大的性能。GPT-2后来表明,单个从左到右预先训练的语言模型可以在区分性任务和生成性任务中实现强大的性能。为了进一步改进,BART和T5提出了一种单一的、预先训练的编码器-解码器模型,该模型利用双向注意来在区分性和生成性任务上实现更强的性能。我们的工作旨在通过学习检索模块来增强预训练的生成语言模型,从而使用单一、统一的体系结构扩展可能任务的空间。
学习检索
最近与我们类似的预训练语言模型,在信息检索中学习检索文档方面有着重要的工作。一些工作优化了检索模块,以帮助完成特定的下游任务,如问题回答,使用搜索、强化学习或潜在变量方法,如我们的工作。这些成功利用了不同的基于检索的架构和优化技术来在单个任务上实现强大的性能,而我们表明,可以对单个基于检索的体系结构进行微调,以在各种任务上获得强大的性能。
基于内存的体系结构
我们的文档索引可以视为能被神经网络处理的大型外部存储器,类似于内存网络。并发工作学习检索输入中每个实体的训练嵌入,而不是像我们的工作中那样检索原始文本。其他工作通过关注事实嵌入,或者更接近于我们的工作,直接关注检索到的文本,来提高对话模型生成事实文本的能力。我们记忆的一个关键特征是,它由原始文本而不是分布式表示组成,这使得记忆既(i)人类可读,为我们的模型提供了一种可解释的形式,又(ii)人类可写,使我们能够通过编辑文档索引来动态更新模型的记忆。
检索与编辑方法
我们的方法与检索与编辑风格的方法有一些相似之处,这些方法在给定输入时检索一个类似的训练输入输出对,然后对其进行编辑以提供最终输出。这些方法在多个领域取得了成功,包括机器翻译和语义解析。然而,我们的方法也有一些不同之处,不仅仅强调对检索到的项目进行轻微编辑,而是聚合从多个检索内容中获得的内容,同时学习潜在检索,并检索证据文档而不是相关的训练对。尽管如此,RAG 技术在这些设置中可能表现良好,并且代表了一个有前景的未来研究方向。
6 讨论
在这项工作中,我们提出了具有访问参数和非参数记忆功能的混合生成模型。我们展示了我们的 RAG 模型在开放域问答上获得了最先进的结果。我们发现人们更喜欢 RAG 的生成内容,而不是纯参数化的 BART,认为 RAG 更具有事实性和具体性。我们对学习到的检索组件进行了深入研究,验证了其有效性,并展示了如何通过热交换更新检索索引而无需重新训练模型。在未来的工作中,研究两个组件是否可以从头开始联合预训练可能会很有成果,无论是使用类似 BART 的去噪目标,还是其他目标。我们的工作开辟了新的研究方向,即参数和非参数记忆如何相互作用以及如何最有效地结合它们,显示出在广泛的 NLP 任务中应用的潜力。
更广泛的影响
与以往的工作相比,这项工作提供了几种积极的社会效益:由于其更强的事实知识基础(在本例中为维基百科),生成内容更少“幻觉”,更加事实性,并提供了更多的控制和可解释性。RAG 可以应用于各种场景,直接造福社会,例如赋予其医学索引并在该主题上回答开放域问题,或帮助人们更有效地工作。 然而,这些优势也带来了一些潜在的缺点:维基百科或任何潜在的外部知识来源,可能永远不会完全事实性且完全没有偏见。由于 RAG 可以作为语言模型使用,因此与 GPT-2类似的担忧在这里也有效,尽管可能程度较轻,包括它可能被用来生成滥用、虚假或误导性的新闻或社交媒体内容;冒充他人;或自动生成垃圾邮件/网络钓鱼内容。在未来几十年中,高级语言模型也可能导致各种工作的自动化。为了减轻这些风险,可以使用 AI 系统来对抗误导性内容和自动化的垃圾邮件/网络钓鱼。