论文信息
论文题目:Query Rewriting for Retrieval-Augmented Large Language Models
论文原文:arxiv.org/pdf/2305.14283.pdf
摘要
大型语言模型(llm)借助retrieve-then-read的流程,发挥了强大的black-box阅读器的作用,在知识密集型任务方面取得了显著进展。这项工作引入了一个新的框架,用Rewrite-Retrieve-Read 替代之前的retrieve-then-read。我们的方法关注的是搜索查询本身的适应性,因为输入文本和检索过程中所需的知识之间不可避免地存在差距。我们首先提示一个LLM来生成query,然后使用一个web搜索引擎来检索上下文。此外,为了更好地将查询与冻结的模块对齐,我们为我们的管道提出了一个可训练的方案。采用小型语言模型作为可训练的重写器,以满足黑盒LLM阅读器。通过强化学习,利用LLM Reader 的反馈对改写器进行训练。对下游任务、开放域QA和多项选择QA进行评估。实验结果表明 表明我们的框架被证明是有效的和可扩展的,并为检索增强的LLM带来了一个新的框架。
简介
- LLM在NLP方面显示出了非凡的能力,并在few-shot或zero-shot的设置中显示出了非凡的可伸缩性和适应性。然而,训练过程依赖于大规模的高质量的语料库,但没有感知现实世界。因此,llm仍然必须面对幻觉的问题和时间失调。这影响了LLM的可靠性,并阻碍了更广泛的实际应用,因为LLM响应与现实世界之间的一致性需要进一步的验证。现有的工作已经证明,将外部知识(即非参数知识)与内部知识(即参数知识)相结合可以有效地缓解幻觉,特别是对于知识密集型的任务。事实上,检索增强的LLM已经被证明是如此有效,以至于它们被认为是解决原始LLM代中事实缺陷的标准解决方案。检索增强用于选择相对段落作为语言模型的外部上下文,这是retrieve-then-read 的框架。以开放域问答任务(开放域QA)为例,检索器首先搜索相关文档。然后LLM接收到问题和文档,然后预测出一个答案。
- 由于大多数LLM只能通过推理api来访问,所以它们在管道中扮演了black-box frozen Reader的角色。这使得以前需要完全访问的检索增强方法不再可行。最近对检索增强语言模型的研究更倾向于面向llm的适应。一个想法是训练一个密集的检索模型,以迎合冻结的语言模型。其想法是通过精心设计的提示或复杂的提示管道来触发突发能力。与外部知识的多重交互允许LLM逐步接近正确的答案。
- 然而,仍有一些问题有待解决。现有的方法忽略了查询的适应性,即Retrieve-than-Read 的输入。检索查询要么是来自数据集的原始查询,要么是直接由黑盒生成确定的,因此总是固定的。然而,在输入文本和真正需要查询的知识之间不可避免地存在差距。这限制了性能,并给检索能力的增强和快速工程带来了负担。
- 考虑到这个问题,本文提出了一种新的检索增强框架Rewrite-Retrieve-Read,可以进一步调整以适应llm。在检索器的前面,添加了一个重写输入的步骤,填补了给定的输入和检索需求之间的空白,如图1所示。我们采用了现成的工具,一个互联网搜索引擎,作为检索器,它避免了搜索索引的维护,并可以访问最新的知识。与之前的研究不同,他们需要对每个样本的检索犬和LLM之间的多次交互轮进行记忆,我们重写步骤的动机是澄清从输入文本中检索的需要。
-
我们还为我们Rewrite-Retrieve-Read框架提出了一个可训练的方案(图1 (c))。black-box retriever和Reader形成了一个冻结的系统。为了进一步平滑管道中的步骤,我们应用了一个小的、可训练的语言模型来执行重写步骤,表示为重写器。通过使用LLM性能作为强化学习的奖励,学习适应检索查询,以提高读者的下游任务。
方法
- 我们提出了 Rewrite-Retrieve-Read,这是一个从查询重写的角度改进了检索-增强的LLM的管道。
Rewrite-Retrieve-Read
- 一个具有检索增强的任务可以表示如下。给定一个知识密集型任务的数据集(例如,开放域QA),D={(x,y)i},i=0,1,2…N,x(例如,一个问题)是管道的输入,y是预期的输出(例如,正确答案)。我们的管道包括三个步骤。(i)查询重写:根据原始输入x生成所需知识的查询˜x。(ii)检索:搜索相关上下文,文档。(iii)阅读:理解输入和上下文[doc,x],并预测输出yˆ。
- 一种直接但有效的方法是要求LLM重写查询,以搜索潜在需要的信息。我们使用few-shot提示来鼓励LLM思考,输出可以是无,一个或多个查询来搜索。
Trainable Scheme
- 此外,完全依赖于frozen的LLM也存在一些缺点。推理错误或无效搜索会阻碍性能。另一方面,检索到的知识有时可能会误导和损害语言模型。为了更好地与冻结的模块对齐,添加一个可训练的模型,并通过以LLM读者的反馈作为奖励来进行调整是可行的。
- 基于我们的框架,我们进一步建议使用一个可训练的小语言模型来接管重写步骤,如图1的右侧部分所示。可训练模型用预先训练的T5-large(770M)初始化初始化,记为可训练重写器,Gθ。首先根据伪数据对重写器进行预热训练,然后通过强化学习进行持续训练。
Rewriter Warm-up
-
查询重写任务与像T5这样的序列到序列生成模型的训练目标有很大的不同。首先,我们构造一个用于查询重写任务的伪数据集。受最近的蒸馏方法启发,我们提示LLM重写训练集中的原始问题x,并收集生成的查询˜x作为伪标签。然后对收集到的样本进行过滤:那些从LLM阅读器中获得正确预测的样本被选择到预热数据集中,表示为DT rain = {(x,˜x)|yˆ= y}。以标准对数似然为训练目标,对DT雨进行微调改写Gθ,记为
预热后的重写模型表现出适度的性能,这取决于伪数据质量和重写能力。高度依赖于人工编写的提示行,˜x可能是次优的。相对较小的规模也是热身后性能的限制。然后,我们转向强化学习,将重写器与以下的检索器和LLM阅读器对齐。
Reinforcement Learning
- 为了进一步调整重写器,以迎合LLM的读者,我们采用了一个策略梯度强化学习框架。
- 在强化学习的背景下,重写器优化被表述为一个马尔可夫决策过程的5元组<S,a,P,R,γ>。(i)状态空间S是一个受词汇表和序列长度限制的有限集。(ii)动作空间A等于词汇表。(iii)转移概率P由策略网络决定,该策略网络是转发器模型Gθ。(iv)奖励函数R给出的奖励价值取决于当前的状态。政策梯度来源于奖励,作为训练目标。(v) γ为贴现因子。更具体地说,热身后的重写器Gθ是初始策略模型π0。在每一步t中,at的动作是基于对当前状态的观察,st =生成下一个标记ˆ˜xt[x,ˆ˜x<t]。当生成被句子结束标记停止时,有一个集结束。在完成检索和阅读后,通过评估最终输出来计算奖励,即LLM阅读器预测的分数。
-
我们采用近端政策优化(PPO。最大化奖励的期望的R被表示为
-
奖励函数R反映了生成的查询的质量,这需要与任务的最终评估相一致。ˆ˜x被提供给Retrieval和Reader,以进行最终的预测yˆ。奖励函数的一部分是将yˆ与黄金标签y进行比较的测量方法(例如,预测答案的精确匹配和F1),记为Rlm。此外,还增加了kl发散正则化,以防止模型偏离初始化