【论文阅读】何时检索?《When to Retrieve: Teaching LLMs to Utilize Information Retrieval Effectively》

又是一篇关于何时检索的文章,不同于《Self-DC:何时检索,何时生成?》,这篇文章通过输出一个特殊token,来决定是否需要检索。

这篇文章的标题是 “When to Retrieve: Teaching LLMs to Utilize Information Retrieval Effectively”,作者 Tiziano Labruna, Jon Ander Campos 和 Gorka Azkune。
论文链接:https://arxiv.org/html/2404.19705v2
在这里插入图片描述

摘要 (Abstract)

在本文中,我们展示了大型语言模型(LLMs)如何有效地学习使用现成的信息检索(IR)系统,特别是在回答给定问题时需要额外上下文的时候。鉴于IR系统的性能,问答的最优策略并不总是涉及外部信息检索;相反,它通常涉及利用LLM自身的参数记忆。先前的研究在PopQA数据集上已经确定了这一现象,其中最流行的问题通过使用LLM的参数记忆得到了有效的回答,而不太流行的问题则需要使用IR系统。基于此,我们为LLM提出了一种定制的训练方法,利用现有的开放域问答数据集。在这里,LLM被训练以生成一个特殊token⟨RET⟩,当它们不知道问题的答案时。我们在PopQA数据集上对自适应检索LLM(ADAPT-LLM)进行评估,展示了其在以下三种配置下的性能提升:(i) 对所有问题检索信息,(ii) 始终使用LLM的参数记忆,以及 (iii) 使用流行度阈值来决定何时使用检索器。通过我们的分析,我们证明了ADAPT-LLM能够在确定不知道如何回答问题时生成 ⟨RET⟩ token,表明需要IR,而在它选择仅依赖其参数化记忆时,它的准确率显著较高。

解决的主要问题

文章解决的主要问题是如何在问答任务中有效地利用信息检索系统。传统的检索方法(如TF-IDF或BM-25)只能检索具有关键词重叠的文档,并且存在词汇差距问题。此外,信息检索系统的性能对于检索增强型模型至关重要,因为它将限制模型性能的上限。文章指出,对于高流行度的问题,LLM可以仅依赖其参数记忆来回答问题,而对于低流行度的问题,则需要使用IR系统。

贡献

文章的主要贡献包括:

  1. 提出了一种训练LLM的方法,使其能够在需要时生成 ⟨RET⟩ 标记,以指示需要额外上下文。
  2. 通过实验验证了ADAPT-LLM在PopQA数据集上的性能,证明了其在动态决定何时检索信息方面的优势。
  3. 展示了ADAPT-LLM在不使用任何流行度分数或类似指标的情况下,与依赖流行度分数来决定何时使用IR系统的方法相比,具有可比的性能。
  4. 指出了ADAPT-LLM性能的主要瓶颈在于IR系统,并提出了未来研究的方向,包括探索提高IR系统性能的方法。

1.引言

问答(QA)任务仍然是自然语言理解(NLU)研究的焦点。有许多不同的数据集作为评估QA模型的基准,例如自然问题(NQ)[17]、SQuAD [24]或QuAC [7],仅举几例。如今,大型语言模型(LLMs)在这些基准测试上持续超越传统方法,展现出卓越的性能。通常,有两类主要的方法利用LLM进行问答:(i) 闭卷问答:这种方法涉及如指令调整[31]或少样本提示[6]等策略来提升性能。在这里,LLM仅依赖其参数记忆来回答问题。然而,这些参数记忆有其固有的局限性,因为它们完全基于训练语料库,比如它们可能对训练过程之后发生的事件过时。(ii) 开卷问答:在这种方法中,LLM与信息检索器(IR)系统[12, 35]耦合。通过利用IR系统,LLM可以检索相关上下文来补充其理解并提供更准确的答案。然而,Mallen等人[21]进行的研究揭示了问答策略的复杂性,挑战了最优方法总是涉及使用IR系统的观点。他们引入了PopQA数据集,包含14,000个带有流行度得分的问题,展示了虽然依赖其参数记忆的LLM在解决高流行度问题上表现出色,但对于低流行度问题,使用IR变得至关重要。他们的发现强调了混合方法的重要性,在这种方法中,LLM对高流行度问题使用参数记忆,但对低流行度问题则使用现成的IR系统检索相关上下文。他们的方法的核心是建立一个固定的流行度得分阈值,他们用它来决定是否需要使用IR系统。然而,在许多情况下,问答数据集并不包括流行度得分,因此依赖这类得分并不是一种普遍适用的方法。鉴于这一限制,我们的研究旨在解决LLM是否能够自主决定何时使用IR系统以改进问答的问题。为了调查这一点,我们使用开放域问答数据集对LLM进行评估,以识别LLM提供准确回答的问题以及其答案不正确的问题。具体来说,对于LLM回答不正确的问题,我们用一个特殊token⟨RET⟩ 进行注释,表明需要额外的上下文。随后,我们利用这些注释构建一个新的数据集,专门用于训练目的,在那里我们教导LLM如果对答案有信心则直接回答,或者如果认为有用的上下文对回答问题有必要则要求上下文(见图1)。我们的假设是,通过这一训练过程,LLM学会了在需要额外上下文来回答一个问题时使用IR系统,因此我们将其命名为ADAPT-LLM。为了验证我们的假设,我们在PopQA数据集[21]上进行了几项实验,因为它为基准测试混合检索策略提供了一个合适的平台。作为这些实验的结果,我们发现:
• ADAPT-LLM一致性地超越了问答的典型固定策略,例如 (i) 对所有问题使用IR系统,以及 (ii) 仅依赖LLM的参数记忆。
• ADAPT-LLM展示了与依赖于流行度得分来决定何时使用IR系统的性能相当的表现,即使没有利用任何流行度得分或类似的指标。值得注意的是,流行度得分是PopQA数据集的独特特征,使它们不适用于其他开放域问答数据集。
• 当ADAPT-LLM决定检索额外信息时,使用上下文获得的结果显著优于没有它的结果。同样地,当ADAPT-LLM直接依靠其参数记忆回答问题时,它实现了相当高的准确度水平。
这些观察结果表明,该模型能够有效地区分何时检索信息,以及何时可以在没有进一步上下文的情况下回答问题。
• ADAPT-LLM性能的主要瓶颈在于IR系统。与IR系统检索的段落相比,ADAPT-LLM在使用金标准段落时实现了更高的性能。

我们的发现强调了自适应检索策略在提高LLM问答任务性能中的重要性。通过训练ADAPT-LLM动态决定何时检索额外上下文,我们展示了教LLM在必要时如何有效利用外部信息源的可行性。
在这里插入图片描述
图1:ADAPT-LLM的逐步推理过程:给定一个问题(步骤1),LLM决定(步骤2)是直接回答问题(步骤3)还是询问额外的上下文信息,生成特殊的RET token;对于后面的问题,使用现成的IR系统来检索相关上下文(步骤4),该上下文与问题一起使用,以再次提示LLM获得最终答案(步骤5)

2. 相关工作

检索增强生成(RAG)[18] 在多种自然语言处理(NLP)领域展示了改进,如问答[16, 12, 30, 22]、真实性[13, 20]和语言建模[11, 5, 25]等。能够将模型生成基于检索到的文本块进行锚定,也使得较小的模型能够匹配较大模型的性能[2]。此外,由于训练LLMs的成本极高,RAG已成为保持它们与新信息更新的标准方法,避免了必须定期重新训练模型以纳入新事实[9]。即使将LLMs与检索相结合是当前LLMs的重要一步[14, 26],它也带来了成本。传统的检索方法如TF-IDF或BM-25[28]只能检索具有关键词重叠的文档,并遭受词汇差距[4]的影响。为了解决这个问题,已经提出了许多基于预训练Transformer编码器的密集模型[8, 27, 16, 10]。训练的神经模型在各种检索基准测试上表现良好,但它们在新领域的零样本设置中仍然存在挑战[32]。检索引擎的质量对于检索增强模型至关重要,因为这将设定模型性能的上限。此外,使用检索引擎,特别是当目标文档索引非常庞大时,可以显著增加模型的延迟并损害实时应用的用户体验[3]。另一方面,随着模型的不断扩大,编码在它们参数中的世界知识也在增加[15]。许多先前的努力已经表明,语言模型能够记住大量的世界知识,并在它们仅使用参数知识解决任务时,在开放域问答等任务上取得竞争性能[19, 1, 33, 34]。受到所有这些的激励,自适应方法被提出作为一个新的解决方案[29, 21]。在这种方法中,如果任务的解决方案编码在模型的参数中,模型将直接用于生成解决方案。反之,如果答案没有编码在模型的知识中,答案生成将通过外部知识得到增强。最近,Schick等人[29]提出了Toolformer,这是一个可以自我教授如何以及何时使用外部工具(包括计算器、搜索引擎、日历等)的模型,通过简单的API调用。自我学习过程基于一个由LLM提示的合成文本语料库。LLM首先在未监督语料库上添加内联API调用。然后通过评估API调用的执行是否有助于预测后续标记来验证这些API调用。这种无监督方法与非增强LLM相比在各种任务中显著提高了模型性能,但也使模型过度使用工具。例如,在QA任务中,模型使用了99.3%的搜索引擎。在我们的工作中,我们试图利用LLM的参数知识,并且只在需要时执行检索。ADAPT-LLM将IR的使用率降低到83.99%,同时提高了性能。与我们的工作更相似的是,Mallen等人[21]提出了一个数据集和方法,用于衡量何时需要检索非参数信息。他们展示了包含14K个问题的PopQA数据集,这些问题涉及一组实体,其流行度由其Wikipedia页面的浏览量来衡量。为了解决这个QA任务,他们使用在PopQA数据集上计算的流行度得分阈值。如果单个实体的流行度得分低于阈值,他们执行检索步骤。相反,如果得分高于阈值,他们直接回答问题。这种方法比普通的检索获得了更好的结果,但它需要计算一个流行度得分,这在现实的QA场景中是不可用的。我们的ADAPT-LLM方法通过生成一个合成数据集来扩展自适应检索的思想,该数据集教导LLM何时调用IR引擎。

3.自适应检索LLM

(ADAPT-LLM) 自适应检索指的是模型动态决定是否为生成问答任务的答案而检索额外的上下文信息。与传统模型不同,传统模型要么总是纳入上下文,要么从不考虑上下文,自适应检索允许模型根据每个问题的具体需求选择性地检索上下文。这种自适应方法旨在通过仅在必要时利用上下文来优化性能,从而增强模型生成准确答案的能力。如图1所示,ADAPT-LLM的处理过程按以下顺序展开:
1、包含问题的首个提示发送给模型(图1步骤1)。
2、ADAPT-LLM评估提示,以确定是否需要额外的上下文来回答这个问题(步骤2)。
3、如果模型确定不需要上下文,它直接利用其参数记忆产生对问题的回答(步骤3)。
4、如果认为需要上下文,ADAPT-LLM模型返回一个特殊token,表示为⟨RET⟩,然后使用现成的IR系统根据问题检索相关的上下文(步骤4);然后,将上下文与原始问题提示结合起来,形成用于答案生成的全面表示(步骤5)。

ADAPT-LLM的决策过程使模型能够通过动态评估每个提示来确定回答问所需要的上下文的必要性。这种灵活的行为允许模型在利用上下文增强理解和在足够时直接给出答案之间找到平衡。

3.1 训练ADAPT-LLM

这里,我们描述了用于训练我们的ADAPT-LLM模型的方法。创建训练数据DSAdapt的过程在算法1中展示。
在这里插入图片描述
算法1:训练数据创建
输入:Q:问题,A:答案,P:段落,LLM
输出:DSAdapt:自适应检索的训练数据集
1 DSAdapt = init_empty()
2 for q, gold_ans, pass in (Q, A, P) do
3 ans = LLM(q)
4 if ans = gold_ans then
5 inst = build_instance(‘parametric_prompt’, q, gold_ans)
6 DSAdapt.add(inst)
7 end
8 else
9 inst1 = build_instance(‘parametric_prompt’, q, “⟨RET⟩”)
10 DSAdapt.add(inst1)
11 inst2 = build_instance(‘context_prompt’, q, gold_ans, pass)
12 DSAdapt.add(inst2)
13 end
14 end
15 return DSAdapt

我们首先选择一个开放域问答数据集,其中包含问题Q、相关上下文段落P和相应的答案A。我们将DSAdapt初始化为空集(算法第1行)。对于Q中的每个问题,我们利用没有任何检索机制的基础LLM进行零样本推断(第3行)。这一步使我们能够区分模型生成正确答案的问题和其回答不准确的问题。这个过程可以被理解为一种发现基础LLM由于其参数记忆而知道什么的方式。对于模型回答正确的问题(第4行),我们构建一个包含以下提示的训练集实例,我们称之为parametric_prompt:
Prompt: Answer the question Q. If you need
help answer ⟨RET⟩ to get the context. Q:
{…}
(提示:回答问题Q。如果需要帮助回答⟨RET⟩以获取上下文。Q:{…})
连同这个提示,我们包括Q中的相应问题和A中的答案,共同形成实例(第5行),随后将该实例添加到DSAdapt数据集中(第6行)。相反,如果LLM未能对问题给出正确回答(第8行),我们构建两个不同的实例。第一个使用前面描述的相同的parametric_prompt,将⟨RET⟩指定为答案(第9行),表明需要额外的上下文。第二个提示,称为context_prompt,包括问题旁边的上下文信息:
Prompt: Answer the question Q given the
context C. Q: {…}, C: {…}
(提示:给定上下文C回答问题Q。Q:{…},C:{…})
对于这个实例,我们包括提示、Q中的问题、A中的答案和P中相应的上下文段落(第11行)。在用两种类型的提示填充数据集之后,对于LLM无法准确回答的问题,我们准备了训练集DAdapt,用于后续的微调阶段。微调过程涉及在数据集上训练基础LLM,从而产生ADAPT-LLM模型。这种方法确保了模型有效地学会了何时上下文对于回答问题是必要的,或者何时足够,以及何时直接给出答案。

3.2 推理

在推理阶段,我们使用微调后的模型对未见问题生成响应。我们使用与训练阶段相同的提示,如第3.1节中所述。最初,模型被提示直接提供答案,或者如果不确定答案则返回⟨RET⟩。如果模型返回⟨RET⟩,我们继续使用现成的IR系统检索相关上下文。随后,我们使用训练阶段引入的第二种类型的提示,将检索到的上下文与问题结合起来再次提示模型。

4. 实验和结果

实验框架
作者旨在评估提出的自适应检索方法 ADAPT-LLM 的性能。实验分为三个主要部分:
将 ADAPT-LLM 与两个基线模型进行比较:(i) 一个对所有问题都检索上下文信息的 LLM,(ii) 一个仅依赖其参数记忆而不使用 IR 系统回答任何问题的 LLM。
分析 ADAPT-LLM 确定何时需要额外上下文来回答一个问题的能力。
与 PopQA 数据集上的最先进方法进行比较。

数据集
实验使用了三个不同的问答数据集:
NQ (Natural Questions):包含来自谷歌搜索查询的真实世界问题,以及提供多样化主题和自然语言变体的 Wikipedia 文章长文本段落。
SQuAD:包含由人群工作者在 Wikipedia 文章上提出的问题,以及作为上下文的相关段落。
PopQA:包含来自各种在线平台的精选问题,涵盖广泛的领域和风格,用于评估模型在确定何时需要上下文以提供准确答案方面的性能。
基础模型
实验中使用 Llama-2 作为基础 LLM。Llama-2 是一个开源的基于指令的 LLM,有 7B、13B 和 70B 参数的版本。模型在从公共在线数据源获取的扩展语料库上预训练,具有更长的上下文长度,能够处理和理解更长的文本序列。

模型配置
实验使用了三种不同的模型配置:
自适应检索 (ADAPT-LLM):模型根据问题和其对上下文信息的感知需求动态决定是否检索上下文。
从不检索 (NR-LLM):此模型配置被训练为仅基于问题文本回答问题,不考虑任何上下文信息。
总是检索 (AR-LLM):与 NR-LLM 相反,此配置总是检索上下文段落以协助回答问题。

训练细节
所有模型配置的训练参数遵循 Alpaca-Lora [31] 建立的配置,包括批量大小为 128,训练三个 epoch,固定学习率为 3e-4。训练使用了 NVIDIA A40 GPU,平均训练时间约为 8 小时。

评估结果
ADAPT-LLM 在 PopQA 测试集上的性能一致优于 NR-LLM 和 AR-LLM 配置。NR-LLM 表现出最低的性能,与其他配置相比准确度相差约 14 个百分点。
ADAPT-LLM 在决定检索额外信息时,与不使用检索的 NR-LLM 相比,准确度显著提高。例如,在 NQ 数据集上,ADAPT-LLM 请求上下文时的准确度为 33.04%,而 NR-LLM 无上下文检索的准确度明显较低,为 14.65%。
ADAPT-LLM 在不使用上下文直接回答问题时,准确度超过 62%,表明模型能有效区分何时检索上下文和何时直接回答问题。
ADAPT-LLM 的整体性能瓶颈在于 IR 系统。当使用 IR 系统检索的段落时,ADAPT-LLM 的性能明显低于使用金标准段落的性能。

结论
ADAPT-LLM 通过在开放域问答数据集上进行微调,学习在何时需要额外上下文来回答问题,而不是仅依赖其参数记忆。ADAPT-LLM 在 PopQA 数据集上的实验结果表明,它比固定策略(从不检索或总是检索上下文信息)的性能更好,并且能够有效地判断额外上下文的必要性。

5. 结论 (Conclusions)

文章介绍了ADAPT-LLM,这是一种学习在何时需要额外上下文来回答问题的LLM,而不是仅依赖其参数记忆。ADAPT-LLM是通过在开放域问答数据集上微调基础LLM得到的,该数据集被修改以区分LLM的参数记忆单独可回答的问题和需要补充上下文的问题。通过在PopQA数据集上进行的广泛实验,展示了ADAPT-LLM比其两种固定替代方案(从不检索和总是检索相关上下文信息)表现更好。此外,研究结果强调了ADAPT-LLM有效判断额外上下文必要性的能力,这是本工作的主要目标。未来的研究将探索提高使用IR系统时性能的方法,例如纳入可学习的顺序检索技术,并更深入地分析训练和测试数据集之间的相互作用。

(欢迎关注微信公众号:老无谈藏书票)

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值