Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks - 翻译学习

知识密集型NLP任务的检索增强生成 - 论文学习

文章目录

  • Abstract
  • 1 Introduction
  • 2 Methods
    • 2.1 Models
    • 2.2 Retriever: DPR
    • 2.3 Generator: BART
    • 2.4 Training
    • 2.5 Decoding
  • 3 Experiments
    • 3.1 Open-domain Question Answering
    • 3.2 Abstractive Question Answering
    • 3.3 Jeopardy Question Generation
    • 3.4 Fact Verification
  • 4 Results
    • 4.1 Open-domain Question Answering
    • 4.2 Abstractive Question Answering
    • 4.3 Jeopardy Question Generation
    • 4.4 Fact Verification
    • 4.5 Additional Results
  • 5 Related Work
  • 6 Discussion
    • Broader Impact


Abstract

提示:这里可以添加本文要记录的大概内容:

大型预训练语言模型已被证明可以在其参数中存储事实知识,并在对下游NLP任务进行微调时获得最先进的结果。然而,他们访问和精确操作知识的能力仍然有限,因此在知识密集型任务中,他们的性能落后于特定任务的体系结构。此外,为他们的决定提供出处和更新他们的世界知识仍然是悬而未决的研究问题。具有对显式非参数记忆的可微访问机制的预训练模型可以克服这个问题,但迄今为止只针对提取下游任务进行了研究。微调方法——该模型结合了预先训练的参数和非参数记忆,用于语言生成。我们介绍了RAG模型,其中参数记忆是预先训练的seq2seq模型,非参数记忆是维基百科的密集向量索引,由预先训练的神经检索器访问。我们比较了两种RAG公式,一种是在整个生成序列中条件相同的检索段落,另一种是每个标记可以使用不同的段落。我们在广泛的知识密集型NLP任务上对我们的模型进行了微调和评估,并在三个开放域QA任务上设置了最先进的状态,优于参数seq2seq模型和特定任务的检索和提取架构。对于语言生成任务,我们发现RAG模型生成的语言比最先进的仅参数seq2seq基线更具体、更多样、更真实。


提示:以下是本篇文章正文内容,下面案例可供参考

1 Introduction

预先训练的神经语言模型已被证明可以从数据中学习大量深入的知识[47]。他们可以在不访问外部存储器的情况下这样做,作为参数化的隐式知识库[51,52]。虽然这一发展令人兴奋,但这种模型确实有缺点:它们不能轻易地扩展或修正记忆,不能直接提供对预测的见解,并且可能产生“幻觉”[38]。将参数记忆与非参数(即基于检索的)记忆相结合的混合模型[20,26,48]可以解决其中的一些问题,因为知识可以直接修改和扩展,并且可以检查和解释访问的知识。REALM[20]和ORQA[31]这两个最近引入的模型将掩蔽语言模型[8]与可微检索器相结合,已经显示出有希望的结果,但只探索了开放领域的抽取式问答。在这里,我们将混合参数和非参数存储器引入“NLP的主力”,即序列到序列(seq2seq)模型。

我们通过一种通用的微调方法赋予预训练的参数记忆生成模型非参数记忆,我们称之为检索增强生成(RAG)。我们建立了RAG模型,其中参数记忆是预先训练的seq2seq变换器,非参数记忆是维基百科的密集向量索引,由预先训练的神经检索器访问。我们将这些组件组合在一个端到端训练的概率模型中(图1)。检索器(Dense Passage retriever[26],以下简称DPR)提供以输入为条件的潜在文档,然后seq2seq模型(BART[32])将这些潜在文档与输入一起进行条件处理,以生成输出。我们使用top-K近似来边缘化潜在文档,无论是基于每输出(假设同一文档负责所有令牌)还是基于每令牌(其中不同文档负责不同令牌)。与T5[51]或BART一样,RAG可以在任何seq2seq任务上进行微调,从而联合学习生成器和检索器。
在这里插入图片描述
以前有大量的工作提出了用非参数存储器丰富系统的架构,这些非参数存储器是为特定任务从头开始训练的,例如存储器网络[64,55]、堆叠网络[25]和存储器层[30]。相反,我们探索了一种设置,在该设置中,参数和非参数记忆组件都是用丰富的知识进行预训练和预加载的。至关重要的是,通过使用预先培训的获取机制,无需额外培训即可获得知识。

我们的研究结果强调了将参数和非参数记忆与知识密集型任务的生成相结合的好处,这些任务在没有外部知识源的情况下是无法合理预期人类执行的。我们的RAG模型在开放式自然问题[29]、WebQuestions[3]和CuratedTrec[2]上取得了最先进的结果,并且大大优于最近在TriviaQA上使用专门预训练目标的方法[24]。尽管这些都是提取任务,但我们发现,无约束生成优于以前的提取方法。对于知识密集型生成,我们对MS-MARCO[1]和危险边缘问题生成进行了实验,我们发现我们的模型生成的回答比BART基线更真实、更具体、更多样。对于FEVER[56]事实验证,我们在使用强大检索监督的最先进管道模型的4.3%范围内获得了结果。最后,我们证明了随着世界的变化,非参数记忆可以被替换来更新模型的知识。(Code to run experiments with RAG has been open-sourced as part of the HuggingFace Transform-ers Library [66] and can be found at https://github.com/huggingface/transformers/blob/master/
examples/rag/. An interactive demo of RAG models can be found at https://huggingface.co/rag/)


2 Methods

我们研究了RAG模型,该模型使用输入序列x来检索文本文档z,并在生成目标序列y时将其用作附加上下文。如图1所示,我们的模型利用了两个组件:(i)具有参数 η \eta η的检索器 p η ( z ∣ x ) p_{\eta}(z|x) pη(zx),它在给定查询x的文本段落上返回(top-K截断)分布;(ii)生成器 p θ ( y i ∣ x , z , y 1 : i − 1 ) p_{\theta}(y_i|x,z,y_{1:i-1}) pθ(yix,z,y1:i1) 参数化依据 θ \theta θ,其基于先前i-1令牌 , y 1 : i − 1 ,y_{1:i-1} ,y1:i1的上下文、原始输入x和检索到的段落z来生成当前令牌。

为了端到端地训练检索器和生成器,我们将检索到的文档视为潜在变量
我们提出了两个模型,以不同的方式对潜在文档进行边缘化,以在生成的文本上产生分布。在一种方法RAG-Sequence中,模型使用相同的文档来预测每个目标令牌。第二种方法,RAG-Token,可以基于不同的文档预测每个目标token。在下文中,我们正式介绍了这两个模型,然后描述了 p η p_{\eta} pη p θ p_{\theta} pθ组件以及训练和解码过程。

2.1 Models

RAG-Sequence Model
RAG序列模型使用相同的检索文档来生成完整的序列。从技术上讲,它将检索到的文档视为一个单独的潜在变量,该变量被边缘化,以通过top-K近似获得seq2seq概率 p ( y ∣ x ) p(y|x) p(yx)。具体来说,使用检索器检索前K个文档,生成器为每个文档生成输出序列概率,然后将其边缘化,
在这里插入图片描述
RAG-Token Model
在RAG-Token模型中,我们可以为每个目标token绘制不同的潜在文档,并相应地边缘化。这允许生成器在生成答案时从多个文档中选择内容。具体来说,使用检索器检索前K个文档,然后生成器为每个文档生成下一个输出令牌的分布,然后边缘化,并使用以下输出令牌重复该过程。形式上,我们定义:
在这里插入图片描述
最后,我们注意到,通过将目标类视为长度为1的目标序列,RAG可以用于序列分类任务,在这种情况下,RAG-Sequence和RAG-Token是等价的。

2.2 Retriever: DPR

检索组件 p η ( z ∣ x ) p_{\eta}(z|x) pη(zx)是基于DPR[26]的。DPR遵循双编码器架构:
在这里插入图片描述
其中, d ( z ) d(z) d(z)是由 B E R T B A S E BERT_{BASE} BERTBASE文档编码器[8]生成的文档的密集表示, q ( x ) q(x) q(x)是由查询编码器生成的查询表示,也是基于 B E R T B A S E BERT_{BASE} BERTBASE的。计算top-k( p η ( ⋅ ∣ x ) p_{\eta}(·|x) pη(x)),即具有最高先验概率 p η ( z ∣ x ) p_{\eta}(z|x) pη(zx)的k个文档z的列表,是一个最大内积搜索(MIPS)问题,可以在亚线性时间内近似求解[23]。我们使用DPR中预先训练的双编码器来初始化我们的检索器并构建文档索引。该检索器经过训练,可以检索包含TriviaQA[24]问题和Natural questions[29]答案的文档。我们将文档索引称为非参数内存(non-parametric memory)。

2.3 Generator: BART

生成组件 p θ ( y i ∣ x , z , y 1 : i − 1 ) p_{\theta}(y_i|x,z,y_{1:i-1}) pθ(yix,z,y1:i1) 可以使用任何编码器-解码器来建模。我们使用BART-large[32],这是一种预先训练的具有400M参数的seq2seq转换器[58]。当从BART生成时,为了将输入x与检索到的内容z相结合,我们只需将它们连接起来。BART是使用去噪目标和各种不同的去噪函数进行预训练的。它在一组不同的生成任务上获得了最先进的结果,并优于同等规模的T5模型[32]。我们参考BART生成器参数 θ \theta θ作为此后的参数存储器(parametric memory)。

2.4 Training

我们联合训练检索器和生成器组件,而无需对应检索的文档进行任何直接监督。给定输入/输出对 ( x j , y j ) (x_j,y_j) (xj,yj)的微调训练语料库,我们最小化每个目标的负边际对数似然, ∑ j − l o g   p ( y j ∣ x j ) \sum_j -log{\,}p(y_j|x_j) jlogp(yjxj),使用Adam[28]的随机梯度下降。在训练期间更新文档编码器 B E R T d BERT_d BERTd成本高昂,因为它需要像REALM在预训练期间那样定期更新文档索引[20]。我们不认为这一步骤对于强大的性能是必要的,并且保持文档编码器(和索引)固定,只微调查询编码器 B E R T q BERT_q BERTq和BART生成器。

2.5 Decoding

在测试时,RAG-Sequence和RAG-Token需要不同的方法来近似 a r g   m a x y p ( y ∣ x ) arg{\,}max_yp(y|x) argmaxyp(yx)
RAG-Token
RAG-Token模型可以被视为一个标准的自回归seq2seq生成器,具有转换概率: p θ ′ ( y i ∣ x , y 1 : i − 1 ) = ∑ z ∈ t o p − k ( p ( ⋅ ∣ x ) ) p η ( z i ∣ x ) p θ ( y i ∣ x , z i , y 1 : i − 1 ) p^\prime_{\theta}(y_i|x,y_{1:i-1})=\sum_{z\in top-k(p(·|x))}p_{\eta}(z_i|x)p_\theta(y_i|x,z_i,y_{1:i-1}) pθ(yix,y1:i1)=ztopk(p(x))pη(zix)pθ(yix,zi,y1:i1)
为了解码,我们可以插入 p θ ′ ( y i ∣ x , z i , y 1 : i − 1 ) p^\prime_{\theta}(y_i|x,z_i,y_{1:i-1}) pθ(yix,zi,y1:i1)转换为标准集束(波束)解码器(beam decoder)。
RAG-Sequence
对于RAG-Sequence,似然性 p ( y ∣ x ) p(y|x) p(yx)没有突破传统的中断(per-token)似然,因此我们不能用单波束搜索来解决它。相反,我们对每个文档z进行波束搜索,使用p对每个假设进行评分 p θ ( y i ∣ x , z , y 1 : i − 1 ) p_{\theta}(y_i|x,z,y_{1:i-1}) pθ(yix,z,y1:i1)。这就产生了一组假设Y,其中一些可能没有出现在所有文件的光束中。为了估计假设y的概率,我们对波束中没有出现y的每个文档z进行额外的前向传递,将生成器概率与 p η ( z ∣ x ) p_\eta(z|x) pη(zx)相乘,然后对边缘的波束概率求和。我们将这种解码过程称为“彻底解码”。对于较长的输出序列,|Y|可能会变大,需要多次前向传递。为了更有效的解码,我们可以进一步近似 p θ ( y ∣ x , z i ) ≈ 0 p_{\theta}(y|x,z_i)\approx0 pθ(yx,zi)0,其中在波束搜索期间没有从x、 z i z_i zi生成y。这避免了一旦生成候选集合Y就需要运行额外的正向传递。我们将此解码过程称为“快速解码”(Fast Decoding)。


3 Experiments

我们在广泛的知识密集型任务中使用RAG进行实验。对于所有实验,我们使用一个维基百科转储作为非参数知识源。继Lee等人[31]和Karpukhin等人[26]之后,我们使用了2018年12月的转存(dump)。维基百科上的每一篇文章都被分割成100个不连贯的单词块,总共形成2100万个文档。我们使用文档编码器为每个文档计算嵌入,并使用FAISS[23]和分层导航小世界近似构建单个MIPS索引,以实现快速检索[37]。在训练过程中,我们为每个查询检索前k个文档。我们考虑 k ∈ { 5 , 10 } k\in \{5,10\} k{5,10}用于训练,并使用dev数据设置k用于测试时间。我们现在讨论每个任务的实验细节。

3.1 Open-domain Question Answering

开放领域问答(QA)是一种重要的现实应用程序,也是知识密集型任务的常见测试平台[20]。我们将问题和答案视为输入输出文本对(x,y),并通过直接最小化答案的负对数可能性来训练RAG。我们将RAG与流行的提取式QA范式进行了比较,其中答案是从检索到的文档中提取的,主要依赖于非参数知识。我们还将其与“闭书QA”(Closed-Book QA)方法[52]进行了比较,后者与RAG一样,生成答案,但不利用检索,而是纯粹依赖于参数知识。我们考虑四个流行的开放域QA数据集:自然问题(NQ)[29]、TriviaQA(TQA)[24]。WebQuestions(WQ)[3]和CuratedTrec(CT)[2]。由于CT和WQ很小,我们遵循DPR[26],用NQ RAG模型初始化CT和WQ模型。我们使用与先前工作[31,26]相同的train/dev/test分割,并报告精确匹配(EM)分数。对于TQA,为了与T5[52]进行比较,我们还对TQA Wiki测试集进行了评估。

3.2 Abstractive Question Answering

RAG模型可以超越简单的抽取式QA,并通过自由形式、抽象的文本生成来回答问题。为了在知识密集型环境中测试RAG的自然语言生成(NLG),我们使用了MSMARCO NLG任务v2.1[43]。该任务包括问题、从搜索引擎中为每个问题检索的十个黄金段落,以及根据检索到的段落注释的完整句子答案。我们不使用提供的段落,只使用问题和答案,将MSMMARCO视为一个开放领域的抽象QA任务。MSMARCO有一些问题在没有黄金段落的情况下无法以与参考答案相匹配的方式回答,例如“加利福尼亚州火山的天气怎么样?(What is the weather in V olcano, CA)”因此,如果不使用黄金段落,成绩会更低。我们还注意到,一些MSMMARCO问题无法单独使用维基百科来回答。在这里,RAG可以依靠参数知识来生成合理的响应。

3.3 Jeopardy Question Generation

为了评估RAG在非QA环境中的生成能力,我们研究了开放域问题生成。与使用标准开放领域QA任务中的问题(通常由简短的问题组成)不同,我们提出了生成危险问题这一要求更高的任务。Jeopardy是一种不同寻常的形式,它包括试图从一个实体的事实中猜测该实体。例如,“世界杯”就是对“1986年,墨西哥成为第一个两次举办这项国际体育比赛的国家”这一问题的回答。由于Jeopardy问题是准确的、事实性的陈述,以其答案实体为条件生成Jeopardy问题构成了一项具有挑战性的知识密集型生成任务。

我们使用SearchQA[10]中的拆分,包括100K train、14K dev和27K测试示例。由于这是一项新任务,我们训练了一个BART模型进行比较。在[67]之后,我们使用SQuAD调谐的Q-BLEU-1度量[42]进行评估。Q-BLEU是BLEU的变体,对于匹配实体具有更高的权重,并且对于问题生成与人类判断的相关性高于标准度量。我们还进行了两次人类评估,一次评估生成的真实性,另一次评估特异性。我们将真实性定义为一个陈述是否能得到可信的外部来源的证实,将特异性定义为输入和输出之间的高度相互依赖[33]。我们遵循最佳实践并使用成对比较评估[34]。评估人员会看到一个答案和两个生成的问题,一个来自BART,一个则来自RAG。然后,他们被要求从四个选项中选择一个——问题A更好,问题B更好,两者都好,或者两者都不好。

3.4 Fact Verification

FEVER[56]要求对维基百科是否支持或反驳自然语言的说法进行分类,或者是否没有足够的信息来决定。这项任务需要从维基百科中检索与该声明相关的证据,然后对这些证据进行推理,以分类该声明是真实的、虚假的还是仅从维基百科中无法核实的。FEVER是一个检索问题,同时也是一个具有挑战性的隐含推理任务。它还为探索RAG模型处理分类而非生成的能力提供了一个合适的试验台。我们将FEVER类标签(支持、反驳或信息不足)映射到单个输出令牌,并直接使用声明类对进行训练。至关重要的是,与大多数其他FEVER方法不同,我们不对检索到的证据进行监督。在许多现实世界的应用中,检索监督信号是不可用的,不需要这种监督的模型将适用于更广泛的任务。我们探索了两种变体:标准的3向分类任务(支持/反驳/信息不足)和Thorne和Vlachos[57]中研究的2向(支持/驳斥)任务。在这两种情况下,我们都报告标签的准确性。


4 Results

4.1 Open-domain Question Answering

表1显示了RAG的结果以及最先进的模型。在所有四个开放域QA任务上,RAG都设置了一个新的技术状态(仅在T5可比TQA上)。RAG结合了“闭书”(仅限参数)方法的生成灵活性和“开卷”检索方法的性能。与REALM和T5+SSM不同,RAG在没有昂贵的、专门的“显著跨度掩蔽”预训练的情况下获得了强大的结果[20]。值得注意的是,RAG的检索器是使用DPR的检索器初始化的,该检索器使用对Natural Questions和TriviaQA的检索监督。RAG优于DPR QA系统,后者使用基于BERT的“交叉编码器”对文档进行重新排序,以及提取读取器。RAG证明,对于最先进的性能,重新分级器和提取读取器都不是必要的。
在这里插入图片描述
即使可以提取答案,生成答案也有几个好处。有关于答案的线索但没有逐字逐句包含答案的文件仍然有助于生成正确的答案,这在标准的提取方法中是不可能的,从而导致比文件更有效的边缘化。此外,即使正确答案不在任何检索到的文档中,RAG也可以生成正确答案,在这种情况下,NQ的准确率达到11.8%,其中提取模型的得分为0%。

4.2 Abstractive Question Answering

如表2所示,RAG序列在Open MS-MARCO NLG上的表现优于BART 2.6个Bleu点和2.6个Rouge-L点。RAG接近最先进的模型性能,这是令人印象深刻的,因为(i)这些模型访问黄金段落,其中包含生成参考答案所需的特定信息,(ii)如果没有黄金段落,许多问题都是无法回答的,以及(iii)并非所有问题都可以从维基百科单独回答。表3显示了从我们的模型中生成的一些答案。定性地说,我们发现RAG模型比BART产生幻觉更少,生成事实正确的文本的频率更高。后来,我们还表明,RAG世代比BART世代更加多样化(见§4.5)。

4.3 Jeopardy Question Generation

表2显示,RAG Token在生成危险问题时的表现优于RAG Sequence,两个模型在Q-BLEU-1上的表现都优于BART。表4显示了来自BART和RAG代币的452对以上的人类评估结果。评估人员表示,只有7.1%的案例中,BART比RAG更真实,而42.7%的案例中RAG更实际,另外17%的案例中的RAG和BART都是真实的,这清楚地证明了RAG在最先进的生成模型中对任务的有效性。评估人员还发现RAG世代在很大程度上更具体。表3显示了每个模型的典型生成。
在这里插入图片描述

在这里插入图片描述

危险问题通常包含两条独立的信息,RAG Token可能表现最好,因为它可以生成将多个文档内容组合在一起的回复。图2显示了一个示例。当生成“太阳”时,文档2提到“太阳也升起”的后部较高。同样,当生成“永别了,武器”时,文件1在后面占主导地位。有趣的是,在每本书的第一个记号生成后,文档的后部会变平。这一观察结果表明,生成器可以在不依赖特定文档的情况下完成标题。换句话说,模型的参数知识足以完成标题。我们通过向BART仅基线提供部分解码“The sun”来找到这一假设的证据。BART完成生成"The Sun Also Rises" is a novel by this author of "The Sun Also Rises",表明标题“The Sun Also Rises”存储在BART的参数中。同样,BART将完成部分解码"The Sun Also Rises" is a novel by this author of "A with "The Sun Also Rises" is a novel by this author of "A Farewell to Arms"。这个例子展示了参数和非参数存储器是如何协同工作的——非参数组件有助于指导生成,提取存储在参数存储器中的特定知识。

4.4 Fact Verification

表2显示了我们在FEVER上的结果。对于三向分类,RAG得分在最先进模型的4.3%以内,这些模型是具有特定领域架构和大量工程的复杂管道系统,使用RAG不需要的中间检索监督进行训练。

对于双向分类,我们与Thorne和Vlachos[57]进行了比较,他们训练RoBERTa[35]在黄金证据判决的情况下将索赔分为真实或虚假。尽管RAG只提供了索赔并检索了自己的证据,但其准确率仍在该模型的2.7%以内。我们还分析了RAG检索到的文档是否与FEVER中注释为黄金证据的文档相对应。我们计算了RAG检索到的前k个文档和黄金证据注释之间的文章标题重叠。我们发现,在71%的案例中,检索到的前10篇文章中都有黄金文章,而在90%的案例中也有黄金文章。

4.5 Additional Results

在这里插入图片描述

生成多样性 第4.3节显示,RAG模型比BART更真实、更具体地生成危险问题。继最近关于多样性促进解码的工作之后,我们还通过计算不同模型生成的不同ngrams与总ngrams的比率来研究生成多样性。表5显示,RAG序列的代比RAG令牌的代更多样,并且两者都比BART显著更多样,而不需要任何促进多样性的解码。

回收消融 RAG的一个关键特性是学习检索任务的相关信息。

为了评估回收机制的有效性,我们在训练过程中对回收器进行消融。如表6所示,学习检索提高了所有任务的结果。我们将RAG的密集检索器与基于单词重叠的BM25检索器进行了比较[53]。在这里,我们将RAG的检索器替换为固定的BM25系统,并在计算 p ( z ∣ x ) p(z|x) p(zx)时使用BM25检索分数作为logits。结果如表6所示。对于FEVER,BM25表现最好,也许是因为FEVER声明高度以实体为中心,因此非常适合基于单词重叠的检索。差异检索可以改善所有其他任务的结果,尤其是对于开放域QA,这一点至关重要。
在这里插入图片描述

索引热交换 像RAG这样的非参数记忆模型的一个优点是,在测试时可以很容易地更新知识。T5或BART等仅限参数的模型需要进一步的训练,以随着世界的变化更新其行为。为了证明这一点,我们使用2016年12月的DrQA[5]维基百科转储构建了一个索引,并将使用该索引的RAG的输出与我们主要结果(2018年12月)中的新索引进行比较。我们准备了一份82位在这两个日期之间发生变化的世界领导人的名单,并使用了一个模板“谁是{position}?”(例如“谁是秘鲁总统?”)来查询我们的NQ-RAG模型和每个索引。RAG使用2016年指数对2016年世界领导人的回答正确率为70%,使用2018年指数对2018年世界领导人正确率为68%。不匹配指数的准确率较低(2018年指数和2016年领先者为12%,2016年指数和2018年领先者的准确率为4%)。这表明我们可以通过简单地替换其非参数内存来更新RAG的世界知识。

检索更多文档的效果模型使用5或10个检索到的潜在文档进行训练,我们没有观察到它们之间的性能存在显著差异。我们可以灵活地在测试时调整检索到的文档数量,这可能会影响性能和运行时间。图3(左)显示,在测试时检索更多文档单调地提高了RAG序列的开放域QA结果,但RAG-Token的性能在检索到10个文档时达到峰值。图3(右)显示,以Bleu-1为代价,检索更多文档会导致RAG-Token的Rouge-L更高,但RAG-Sequence的影响不那么明显。
在这里插入图片描述


5 Related Work

Single-Task Retrieval 先前的工作表明,当单独考虑时,检索可以提高各种NLP任务的性能。此类任务包括开放域问答[5,29]、事实核查[56]、事实完成[48]、长格式问答[12]、维基百科文章生成[36]、对话[41,65,9,13]、翻译[17]和语言建模[19,27]。我们的工作将以前在将检索结合到单个任务中方面取得的成功相结合,表明基于单个检索的架构能够在多个任务中实现强大的性能。

General-Purpose Architectures for NLP在不使用检索的情况下,NLP任务的通用体系结构的早期工作取得了巨大成功。经过微调[49,8]后,单一的预训练语言模型已被证明在GLUE基准[60,61]中的各种分类任务上具有很强的性能。GPT-2[50]后来表明,一个单独的、从左到右的预先训练的语言模型可以在判别和生成任务中实现强大的性能。为了进一步改进,BART[32]和T5[51,52]提出了一种单独的、预先训练的编码器-解码器模型,该模型利用双向注意力在判别和生成任务上实现更强的性能。我们的工作旨在通过学习检索模块来增强预先训练的生成语言模型,以单一、统一的架构扩展可能任务的空间。

Learned Retrieval 在信息检索中,学习检索文档有着重要的工作,最近使用了与我们类似的预先训练的神经语言模型[44,26]。一些工作优化了检索模块,以帮助完成特定的下游任务,如问答、使用搜索[46]、强化学习[6,63,62]或我们工作中的潜在变量方法[31,20]。这些成功利用了不同的基于检索的体系结构和优化技术,在单个任务上实现了强大的性能,同时我们表明,可以对单个基于检索的架构进行微调,以在各种任务上实现强大的性能。

Memory-based Architectures 我们的文档索引可以被视为神经网络需要处理的大型外部存储器,类似于记忆网络[64,55]。并行工作[14]学习为输入中的每个实体检索经过训练的嵌入,而不是像我们的工作中那样检索原始文本。其他工作通过关注事实嵌入[9,13],或者更接近我们的工作,直接关注检索到的文本[15],提高了对话模型生成事实文本的能力。我们的记忆的一个关键特征是,它由原始文本而非分布式表示组成,这使得记忆既(i)人类可读,为我们的模型提供了一种可解释性,又(ii)人类可写,使我们能够通过编辑文档索引来动态更新模型的记忆。

Retrieve-and-Edit approaches 我们的方法与检索和编辑风格的方法有一些相似之处,在这种方法中,为给定的输入检索类似的训练输入输出对,然后进行编辑以提供最终输出。事实证明,这些方法在许多领域都是成功的,包括机器翻译[18,22]和语义分析[21]。我们的方法确实有几个不同之处,包括不太强调对检索到的项目进行轻度编辑,而是强调从多个检索到的内容中聚合内容,以及学习潜在检索和检索证据文档,而不是相关的训练对。也就是说,RAG技术可能在这些环境中运行良好,并且可能代表着有希望的未来工作。


6 Discussion

在这项工作中,我们提出了可以访问参数和非参数存储器的混合生成模型。我们表明,我们的RAG模型在开放域QA上获得了最先进的结果。我们发现,人们更喜欢RAG的生成,而不是纯参数的BART,发现RAG更真实、更具体。我们对学习的检索组件进行了彻底的调查,验证了其有效性,并说明了如何在不需要任何重新训练的情况下热交换检索索引来更新模型。在未来的工作中,研究这两个组件是否可以从头开始联合预训练,无论是使用类似于BART的去噪目标还是其他目标,都可能是富有成效的。我们的工作为参数记忆和非参数记忆如何相互作用以及如何最有效地组合它们开辟了新的研究方向,有望应用于各种NLP任务。

Broader Impact

与之前的工作相比,这项工作提供了几个积极的社会效益:事实上,它更有力地基于真实的事实知识(在本例中为维基百科),这使它在更真实的几代人中减少了“幻觉”,并提供了更多的控制和可解释性。RAG可以用于各种对社会有直接好处的场景,例如赋予它一个医学指数,并向它提出有关该主题的开放领域问题,或者帮助人们更有效地工作。

这些优势也带来了潜在的负面影响:维基百科或任何潜在的外部知识来源,可能永远不会完全是事实,完全没有偏见。由于RAG可以用作一种语言模型,因此与GPT-2[50]类似的担忧在这里是有效的,尽管可以说程度较小,包括它可能被用于在新闻或社交媒体上产生滥用、伪造或误导性内容;冒充他人;或者自动生成垃圾邮件/钓鱼内容[54]。在未来几十年里,高级语言模型也可能导致各种工作的自动化[16]。为了减轻这些风险,可以使用人工智能系统来对抗误导性内容和自动垃圾邮件/网络钓鱼。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/134212.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[工业自动化-14]:西门子S7-15xxx编程 - 软件编程 - STEP7 TIA博途是全集成自动化软件TIA portal快速入门

目录 一、TIA博途是全集成自动化软件TIA portal快速入门 1.1 简介 1.2 软件常用界面 1.3 软件安装的电脑硬件要求 1.4 入口 1.5 主界面 二、PLC软件编程包含哪些内容 2.1 概述 2.2 电机运动控制 一、TIA博途是全集成自动化软件TIA portal快速入门 1.1 简介 Siemens …

Leetcode -463.岛屿的周长 - 476.数字的补码

Leetcode Leetcode -463.岛屿的周长Leetcode - 476.数字的补码 Leetcode -463.岛屿的周长 题目:给定一个 row x col 的二维网格地图 grid ,其中:grid[i][j] 1 表示陆地, grid[i][j] 0 表示水域。 网格中的格子 水平和垂直 方向…

小样本目标检测(Few-Shot Object Detection)综述

背景 前言:我的未来研究方向就是这个,所以会更新一系列的文章,就关于FSOD,如果有相同研究方向的同学欢迎沟通交流,我目前研一,希望能在研一发文,目前也有一些想法,但是具体能不能实现还要在做的过程中慢慢评估和实现.写文的主要目的还是记录,避免重复劳动,我想用尽量简洁的语言…

MATLAB的编程与应用,匿名函数、嵌套函数、蒙特卡洛法的掌握与使用

目录 1.匿名函数 1.1.匿名函数的定义与分类 1.2.匿名函数在积分和优化中应用 2.嵌套函数 2.1.嵌套函数的定义与分类 2.2.嵌套函数彼此调用关系 2.3.嵌套函数在积分和微分中应用 3.微分和积分 4.蒙特卡洛法 4.1.圆周率的模拟 4.2.计算N重积分(均匀分布&am…

计算机毕业设计 基于Springboot的影院购票管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

【入门Flink】- 09Flink水位线Watermark

在窗口的处理过程中,基于数据的时间戳,自定义一个“逻辑时钟”。这个时钟的时间不会自动流逝;它的时间进展,就是靠着新到数据的时间戳来推动的。 什么是水位线 用来衡量事件时间进展的标记,就被称作“水位线”&#x…

AIGC ChatGPT 4 轻松实现小游戏开发制作

贪吃蛇的小游戏相信大家都玩儿过,我们让ChatGPT4来帮我们制作一个贪吃蛇的小游戏。 在ChatGPT中发送Prompt如下图: 完整代码如下: <!DOCTYPE html> <html> <head> <title>贪吃蛇游戏</title> <style type="text/css"> #can…

UPLAOD-LABS2

less7 任务 拿到一个shell服务器 提示 禁止上传所有可以解析的后缀 发现所有可以解析的后缀都被禁了 查看一下源代码 $is_upload false; $msg null; if (isset($_POST[submit])) {if (file_exists($UPLOAD_ADDR)) {$deny_ext array(".php",".php5&quo…

第一百六十九回 如何修改NavigationBar的形状

文章目录 1. 概念介绍2. 使用方法3. 代码与效果3.1 示例代码3.2 运行效果 4. 内容总结 我们在上一章回中介绍了"如何修改按钮的形状"相关的内容&#xff0c;本章回中将介绍NavigationBar组件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章…

javaEE案例,前后端交互,计算机和用户登录

加法计算机,前端的代码如下 : 浏览器访问的效果如图 : 后端的代码如下 再在浏览器进行输入点击相加,就能获得结果 开发中程序报错,如何定位问题 1.先定位前端还是后端(通过日志分析) 1)前端 : F12 看控制台 2)后端 : 接口,控制台日志 举个例子: 如果出现了错误,我们就在后端…

WebSocket是什么以及其与HTTP的区别

新钛云服已累计为您分享774篇技术干货 HTTP协议 HTTP是单向的&#xff0c;客户端发送请求&#xff0c;服务器发送响应。举个例子&#xff0c;当用户向服务器发送请求时&#xff0c;该请求采用HTTP或HTTPS的形式&#xff0c;在接收到请求后&#xff0c;服务器将响应发送给客户端…

Linux技能篇-yum源搭建(本地源和公网源)

文章目录 前言一、yum源是什么&#xff1f;二、使用镜像搭建本地yum源1.搭建临时仓库第一步&#xff1a;挂载系统ios镜像到虚拟机第二步&#xff1a;在操作系统中挂载镜像第三步&#xff1a;修改yum源配置文件 2.搭建本地仓库第一步&#xff1a;搭建临时yum源来安装httpd并做文…

在Win11中使用docker安装Oracle19c

在Win11中使用docker安装Oracle19c 首先是去docker官网下 docker for windows安装oracle19c首先下载image运行镜像在工具中登录可能遇到的问题 首先是去docker官网下 docker for windows 官网&#xff1a; https://www.docker.com/get-started/ 如果Windows是专业版&#xff0…

【Git】Git使用Gui图形化界面,Git中SSH协议,Idea集成Git

一&#xff0c;Git使用Gui图形化界面 1.1 Gui的简介 Gui &#xff08;Graphical User Interface&#xff09;指的是图形用户界面&#xff0c;也就是指使用图形化方式来协同人和计算机进行交互的一类程序。它与传统的命令行界面相比&#xff0c;更加直观、易用&#xff0c;用户…

智慧城市数据中台建设方案:PPT全文51页,附下载

关键词&#xff1a;智慧城市解决方案&#xff0c;数据中台解决方案&#xff0c;智慧城市建设&#xff0c;数据中台技术架构&#xff0c;数据中台建设 一、智慧城市数据中台建设背景 智慧城市数据中台是在城市数字化转型和智能化升级的背景下提出的&#xff0c;旨在实现城市数…

ABAQUS分析步笔记

定义原则&#xff1a; 每个step的所有边界条件&#xff0c;载荷条件累加构成本step的仿真效果&#xff1b; step2需要在step1的状态基础上进行载荷运动等限定时&#xff0c;需要确保在step2中传递了step1的想要保留的特征&#xff0c;如&#xff1a; 1、BC-1 这里的BC-1的固…

积极应对云网络安全

以下是 IT 领导者需要了解的内容&#xff0c;才能在云网络安全方面占据上风。 如果您的组织尚未主动解决云网络安全问题&#xff0c;则将面临灾难的风险。等待攻击发生根本没有意义。 主动云安全会采取积极措施来发现潜在威胁并在网络攻击发生之前阻止网络攻击。 这是通过持…

java 继承和多态 (图文搭配,万字详解!!)

目录 1.继承 1.1 为什么需要继承 1.2 继承概念 1.3 继承的语法 1.4 父类成员访问 1.4.1 子类中访问父类的成员变量 1.4.2 子类中访问父类的成员方法 1.5 super关键字 1.6 子类构造方法 1.7 super和this 1.8 再谈初始化 1.9 protected 关键字 1.10 继承方式 1.11 f…

OpenCV C++ 图像处理实战 ——《多二维码识别》

OpenCV C++ 图像处理实战 ——《多二维码识别》 一、结果演示二、zxing库配置2.1下载编译三、多二维码识别3.1 Method one3.1.1 源码3.2 Method two3.2.1 源码四、源码测试图像下载总结一、结果演示 </

第 117 场 LeetCode 双周赛题解

A 给小朋友们分糖果 I 动态规划&#xff1a;设 p [ k ] [ i ] p[k][i] p[k][i] 为将 i i i 个糖果分给 k k k 个小朋友的方案数&#xff0c;先求 p [ 2 ] [ i ] p[2][i] p[2][i] &#xff0c;再求 p [ 3 ] [ n ] p[3][n] p[3][n] class Solution { public:using ll long …