【论文解读|Data Intelligence】 Dr.ICL: Demonstration-Retrieved In-context Learning

论文链接:

来源: Data Intelligence

论文介绍: 该研究由亚利桑那州立大学和谷歌研究团队的专家撰写,深入探讨了通过利用基于检索的方法来提高大型语言模型(LLM)性能的策略。

主要亮点:

• 创新检索技术: 论文介绍了检索语义相似示例的方法,大幅提升了LLM的准确性。

• 高级应用: 将基于检索的上下文学习成功应用于指令微调LLM和思维链(CoT)提示。

• 卓越性能: 通过使用最先进的检索器如BM25和GTR,展示了检索示例如何优于随机选择。

• 任务特定检索器: 提出了任务特定的示例检索器,相较于现成模型表现出显著提升。


摘要

上下文学习 (ICL) 是一种使用 LLM 的强大范例,它教导大型语言模型 (LLM) 使用少量演示执行任务,而不是调整模型参数。虽然早期研究主要对所有测试查询使用一组固定或随机的演示,但最近的研究表明,从可用演示池中检索与输入语义相似的演示可获得更好的性能。这项工作从多个维度扩展了基于检索的 ICL 方法的适用性。我们将基于检索的 ICL 的成功扩展到指令微调的 LLM 以及思路链(CoT) 提示。虽然先前的工作使用了通用的大型语言模型 (LLM),例如GPT-3,但我们发现检索到的演示也增强了指令微调的 LLM。这一见解意味着,尽管训练数据是在微调阶段暴露的,但仍可在测试期间通过检索和上下文演示有效地使用,与不使用演示或随机选择相比,可以产生更优的结果。对于 CoT,当演示包含推理链时,我们通过基于此类链进行检索来获得改进。最后,我们训练出一个任务特的演示检索器,其性能优于现成的检索器。

关键词:信息检索;语境学习;大型语言模型;检索增强生成;大型语言模型推理


1介绍

语言模型如今已成为众多领域中许多自然语言处理任务的基础模型[2]。大型语言模型 (LLM) 最令人兴奋的新兴能力之一[28]是上下文学习 (ICL) [3]。借助 ICL,指令和一些演示 示例被添加到 LLM 的输入中,从而使它们无需微调即可在新任务上表现出色。 通常,ICL 方法会利用随机或手工制作的演示,将其应用于各种查询。然而,这可能并不 总是最佳的。最近的研究表明,使用语义上与输入查询相似的演示可以提高性能 [14]。 在这里,我们研究了两个现成的检索器,BM25 [24]和 GTR [21],其中 BM25 是一个稀疏检 索器,它查找与查询具有最高(加权)单词重叠的演示,而 GTR 是一个密集检索器,它寻找语义上最接近查询的演示。我们使用这些检索器来获得特定于查询的演示,并使用一般 LLM 和指令微调 LLM研究 演示检索的ICL(Dr. ICL)。

图 1:PaLM 和 Flan-PaLM 在五个数据集上的平均性能,使用一次和几次 ICL。BM25或 GTR 给出的检索演示比随机演示具 有更好的性能。

如图 1 所示,除了以前的研究成果外,我们在实验中还发现了几个有趣的发现。

首先, 尽管 BM25 和 GTR 都很简单,但我们确定它们可以在一次性和少量 ICL 设置中找到比 随机演示更有效的演示。这种现成的检索器使 Dr. ICL 成为现实世界应用的一个有吸引力 的范例。其次,我们使用指令微调的 LLM(即 Flan-PaLM [7])的结果表明,训练数据不仅 可用于训练模型,还可以在推理时陪伴检索器,这表明了一种更有效的方法来利用收集成 本很高的数据。第三,思维链(CoT)[27]和检索到的演示相结合的效果优于单独使用 CoT。 此外,事实证明,基于带注释的推理链选择演示比不考虑推理链的检索更有益。最后但并 非最不重要的是,我们通过将检索到的演示与输入查询进行比较来提供详细分析。这项分 析强调了一个有趣的观察结果:检索到的演示的标签在多个任务中通常与输入查询的标 签不一致。我们还比较了演示的多样性,发现多样性可能会影响 Dr.ICL 的进步程度。

然而,虽然现成的检索器的演示比随机的演示表现更好,但它们对于目标任务来说可 能仍然不是最优的,因为检索器针对其他任务(例如问答和信息检索)进行了优化。因 此,我们建议训练一个演示检索器,以检索对目标任务最有益的演示,如图2(§3.2)所 示。我们的实验结果表明,经过微调的演示检索器优于现成的检索器,一次性 ICL 的改进 更为明显。这一令人鼓舞的结果表明,对于固定目标任务,经过训练的检索器可以有效替 代现成的模型。

总之,这项工作研究了信息检索系统在增强大型语言模型 (LLM) 的上下文学习方面的 作用。我们提出了一个名为 Dr.ICL 的框架,它利用检索器来查找与输入查询最相似的演 示。我们的实验结果表明:1)随机演示相比现成的检索器可以识别更有效的演示;2)Dr.ICL 提高了LLM指令微调的性能;3)Dr.ICL 进一步增强了思维链等高级提示技术。 此外,我们使用 LLM 生成的信号对演示检索器进行微调,以选择训练数据,其性能优于现 成的检索器。

2相关工作

表 1:与相关工作的比较。TD:训练数据,QA:问答,RC:阅读理解, NLI:自然语言推理,SA:情感分析,CSR:常识推理,CR:共指解析, MathR:数学推理,PD:释义检测,SP:语义解析,CodeG:代码生成,SRM:句子 表示映射、T2T:表格到文本生成、问答

2.1. 小样本上下文学习

少量样本上下文学习 (ICL) 是一种允许语言模型(例如 GPT- 3 [3]和 PaLM [6])基于 少量示例推广到新任务的技术。ICL 提供与传统的语言模型训练方法相比,该方法有几个 优点,包括预训练然后进行微调。一个关键的好处是微调可能并不总是可行的由于 LLM 的访问权限受限或计算资源不足[3]。此外,ICL避免了微调中常见的问题,如过度拟合或冲 击[32, 12],因为它不会修改模型的参数,从而使其保持通用性。

然而,ICL的有效性取决于各种因素,例如示威活动的顺序[13]、示威活动的分布[19],以 及示威活动的复杂性和质量。提示本身[33, 1]。一些研究表明,较低的困惑度提示[11]和 开放式问答形式[1]往往能带来更好的表现,而其他形式则发现中级推理步骤[29]和更高复 杂度的提示[10]也可以提高结果在某些任务上[26, 27]。为了理解信息通信技术是如何工 作的,研究表明ICL 可能涉及隐式贝叶斯推理[30]以及文本之间的共生关系和模式[18],其 行为类似于显式微调[8]。我们的工作重点是使用大型语言模型对 ICL 进行演示的效果。

图 2:用于训练演示检索器和推理的管道(R 代表神经检索器)。左图显示了获取数据以训练演示检索器的过程:现成的检索器接受输入查询 xq ,并从训练语料库中检索前 k 个(例如 100 个)演示候选。然后使用 LLM 输出每个检索到的演示和xq 的yq的基本事实分数。右图显示了使 用训练后的演示检索器进行上下文学习的推理管道

2.2. 检索增强演示

如表 1 所示,先前的一些研究探索了用于识别更具信息量的演示以促进情境学习的检索 技术。KATE [14]发现,对于 GPT-3 情境学习而言,语义上更接近的演示比随机演示表现更 好。他们采用在自然语言推理和句子文本相似性等任务上训练的语言模型作为语义表示,并 利用 kNN 算法来搜索演示。EPR [25]开发了一种基于语言模型信号的检索器,与现成的检 索器相比,它可以找到更优秀的演示。UPRISE [5]不是为每个任务使用单独的检索器,而是 将多个训练数据集合并成一个检索语料库,并训练一个用于跨领域任务的通用检索 器。PARC [22]采用多语言检索策略从高资源任务中查找演示,从而提高低资源领域任务的 性能。CEIL [31]不是独立检索少量演示,而是引入了一种迭代检索方法来识别多样和相似 的少量示例。虽然上述方法都是从训练数据中检索演示,但[17]和[9]结合了人工反馈来创 建演示并维护动态检索语料库。Z-ICL [16]生成伪演示以增强零样本上下文性能。与检索显 式演示的方法不同,RETROPROMPT [4]将显式演示转换为由向量表示的隐式神经演示。 [23]不使用检索器,而是应用交叉注意重排器对 BM25 检索到的文档进行重排。如需更全 面地了解大型语言模型的基于检索的上下文学习,我们建议感兴趣的读者参阅最近关于此 主题的调查[15]。我们的工作与之前的研究不同,它将 CoT 提示与检索器相结合,并另外检 查了基于指令的微调模型。

3. 演示检索情境学习(Dr.ICL)

我们首先描述用于一般任务(包括分类任务和生成任务)的 ICL。对于任务T,给定输入文 本xq,使用 LLM 预测答案yq,该答案基于一组演示, Demo = {d1, d2, · · · , dn}, 其中di = (xi , yi)是一对输入和基本事实答案。

通常, di被线性化为字符串(例如, "问题: xi \ 答案: yi"),然后与 xq一起提供给 LLM 。选择演示集有多种策略。例如,可以随机或手动选择一个固定集Demo应用于任务T 的所有查询。或者,可以使用检索器从训练集Dtrain 中查找特定于查询的演示:

其中Demoxq包含检索器认为最适合输入xq 的前 n 个演示。在本研究中,我们考虑了两个现 成的检索器 BM25 和 GTR(第 3.1 节),然后提出了一种针对目标任务 T 量身定制的检索 器训练方法(第 3.2 节)。

3.1. 现成的检索器

BM25 [24]是一个词袋模型,使用词频、逆文档频率和文档长度归一化来计算相关性得 分。它已被证明是有效且高效的,因此很容易在大规模实际应用中部署。然而,BM25 严重依 赖关键字匹配,缺乏上下文理解,这可能会导致结果不太准确。相比之下,GTR [21]是一个双 编码器神经检索器(基于 T5),在 MS MARCO 数据集[20] 上进行训练。GTR在语义和上 下文理解方面表现出色,并且很容易迁移到下游任务或特定领域。然而,它的内存和计算效 率较低,并且缺乏可解释性。

3.2. 示范检索器训练

演示检索旨在为每个输入查询找到最具代表性的演示。理想情况下,演示应该同时捕捉 (a)回答查询所需的查询特定知识,以及 (b) 任务的性质以及通常应如何解决任务。 BM25 和 GTR 等现成的检索器是为信息检索和问答而设计的。因此,它们主要检索 (a) 类型的演示,而不是 (b) 类型的演示。为了填补这一空白,我们建议利用语言模型的反 馈来训练演示检索器。如图 2 左侧所示,该过程涉及两个步骤:获取训练数据和在数据上 训练检索器。获取训练数据。我们希望教会检索器模型找到能够产生最准确预测的示例。 我们建议在训练数据中为每个输入查询xq挖掘一组演示,如下所示。首先,给定一个问答 对(xq, yq) ∈ Dtrain,我们使用现成的检索器为xq 找到一个演示候选集D ,其中xq本身被 排除在D 之外。然后我们测试每个演示d ∈ D对目标任务的帮助程度。具体来说,黄金答 案yq的LM 概率pLM(yq | d, xq)用作演示的分数。最后,我们将前 n 个演示保留为正向演示, 将后 n 个保留为硬向负向演示。 训练程序。我们的检索器是一个双编码器,它将任何查询文档对(q, d) 的分数定义为s(q, d) = vvd,其中vq和vd是q和d的嵌入。我们使用 GTR 初始化我们的检索器, 然后通过批处理和困难负例的对比损失在训练数据上对其进行微调:

其中d+和d-分别是是正向和负向演示。负向演示包括同一批次中其他输入查询的正向演示和一个随机选择的硬负向演示。

4实验

*基准。*我们在 5 个数据集上研究了各种任务:自由形式问答 (NQ)、自然语言推理 (ANLI r3)、数学推理 (GSM8K 和 AQuA) 和布尔问答 (StrategyQA)。所有任务都通过精确匹配准确 度进行评估。

*语言模型。*PaLM-540B [6]和 Flan-PaLM (540B) [7]被用作主要 LLM。 这两个模型具有相同的架构,但 Flan-PaLM 已经在数千个指令学习任务上进行了进一步训 练(包括我们在本文中研究的所有五个数据集),并且与 PaLM 相比表现出了更优异的泛 化性能。对于 GSM8K、AQuA 和 StrategyQA,我们还应用了思维链 (CoT) 提示[29],这种方 法在这种复杂的推理任务中已显示出有效性。其主要思想是让 LLM在生成答案之前生成一 个包含推理步骤的 CoT。为了诱导这种行为,每个上下文演示都额外配备了一个 CoT,该 CoT 可从训练数据中获得。请注意,CoT也可以在检索过程中使用,在我们的实验中,我们 将展示基于 CoT 进行检索的好处。对于没有 CoT 的任务,我们使用温度 0.0 和最大解码长 度 10,对于涉及 CoT 的任务使用 256最大解码长度。

*检索器。*如第 3 节所述,我们探索使用 BM25 和 GTR 作为现成的检索器,以及针对每项任 务训练我们自己的检索器。对于 BM25,我们使用无大小写 BERT 词块标记和参数(k1, b) = (1.5, 0.75)。对于 GTR,我们使用预训练的 GTR-Base 模型。在挖掘数据以训练我们的检索器 时,我们使用预训练的 GTR 检索 100 个演示候选,然后使用 PaLM-62B 对每个候选进行评 分。(为了提高效率,我们使用较小的 PaLM-62B 而不是 540B。)然后,我们选择排名前 5 的 重新排序的演示作为正候选来微调 GTR。检索语料库。我们使用相关的训练数据为每个任 务创建一个单独的检索语料库。对于有CoT的任务,语料库中的每个条目由问题、CoT和答 案组成,而其他任务则没有CoT。

4.1. 现成的检索器性能

图 3:PaLM:使用三种演示类型进行一次性和少量推理:随机、BM25 和 GTR。检索到的演示比随机演示更有效。

图 4:Flan-PaLM:具有三种演示类型的一次性和少量推理:随机、BM25 和 GTR。检索演 示比随机演示更有效。

图 3 和图 4 分别展示了 PaLM 和 Flan-PaLM 在 one-shot 和 few-shot 测试下使用和不使用检索 器的表现。我们进行了以下观察。

观察 1: 现成的检索器能够找到比随机演示更有效的演示。图 3 显示,对于 PaLM 模 型,BM25 或 GTR 检索到的演示在一次性和少量场景下都比随机演示更好,这表明在实际应 用中,检索到的演示比使用随机演示可以获得更好的性能。值得一提的是,与 GTR 或其他句 子编码器等语义检索器 [14] 相比,BM25 在索引内存和检索延迟方面更高效,这使得它更容 易部署。

观察 2:ICL 博士改进了指令微调的 LLM。先前的研究主要集中于研究使用通用 LLM(例 如 GPT-3)而不是指令微调的 LLM 检索到的演示 ICL,可能是因为他们没有考虑重用训练数 据。在我们的研究中,我们使用 Flan-PaLM(一种经过指令微调的 LLM)检查 Dr. ICL,并在图 4 中显示结果。总体而言,检索到的演示比没有演示或随机演示的表现更好。这意味着在推理 过程中应该重复使用训练数据,因为它们可以被检索并提高性能,即使模型已经看到过这些 数据。我们推测检索到的演示可能会增强 ICL 的知识定位,这可以解释观察到的改进。

观察3:ICL 博士可以进一步改进高级提示技术"思维链"。在我们对 GSM8k、StrategyQA 和 AQuA 的实验中,将 Dr. ICL 与 CoT 结合使用可在一次性和少量 ICL 场景下提高性能。这一发现表明 Dr. ICL 有潜力提高强大提示技术的性能。

上述观察结果对实际应用具有重要意义。将 ICL 与简单的 BM25 演示检索器相结合,该检索 器在延迟和索引内存方面具有高度可扩展性,已被证明可以提高 LLM 的性能,包括使用指令 微调或思想链时。附录中的表 A.6 给出了现成检索器给出的检索演示示例。

CoT 的检索策略。对于涉及 CoT 的任务,我们评估了两种检索演示的方法:在计算检索分数 时合并 CoT 和排除 CoT(例如,对于 GTR,包括 CoT 意味着演示的 CoT 被添加到嵌入模型 的输入中)。请注意,在这两种方法中,CoT 都会在 LLM 推理期间添加到上下文演示中,以便 LLM 知道生成 CoT。表 2 和表 3表明,在检索阶段实施 CoT 通常会提供更好的结果(只有 AQuA 数据集上有一个例外)。这对于一次性和少量场景都适用于 PaLM 和 Flan-PaLM 模型。因此,我们建议在检索过程中整合 CoT。
表 2:两种检索演示的策略之间的比较:有或没有 CoT。BM25 被 用作检索器。使用 CoT 的检索比不使用 CoT 的检索效果好。 表 3:两种检索演示的策略之间的比较:有或没有 CoT。GTR 被用作检索器。使用 CoT 的检索 比不使用 CoT 的检索效果更好。

4.2. 训练有素的检索器表现

我们用 PaLM 测试了我们训练过的示范检索器。表 4 显示了一次性 和少样本表现,并表明训练有素的示范检索器优于几乎所有情况下都比现 成的 GTR 更好,从而带来更好的整体性能。值得注意的是,在一次性 ICL 场景中,改进最为显著,因为此类场景需要的推理较少延迟和计算资源比 少样本 ICL 更少。这些有希望的结果表明训练有素的检索器可以为现成的 模型提供有效的替代方案。
表 4:PaLM 使用 GTR 和 Demo-GTR 检索到的演示的性能。Demo-GTR 始终实现 在一次性情况下,性能比GTR更好。

5. 分析

为了排除检索到的演示比随机演示更有利的可能性,仅仅是因为在基 准数据集中,前者的答案与正确的答案相同。首先,我们评估演示反应与目 标之间的重叠百分比。在在少数情况下,我们通过多数投票的方式汇总来 自演示的答案。从表5可以看出,对于前四个数据集,重叠率大致等于或小 于均匀分布,这表明检索到的演示的好处是不是由于标签识别。在 NQ 的情 况下,我们注意到演示答案和基本事实。然后我们从中随机选择 100 个实例 从 GTR 检索到的演示(一次性)中找出 433 个重叠案例并进行手动检查。 我们发现,对于 100 个实例中的大多数,输入问题在语义上等同于演示题。
表5:演示答案与目标的重叠率:随机表示选择如果我们从可能的标签空间中随机选择,则获得正确的标签。

6.讨论和结论

在我们的研究中,我们采用了现成的检索器,通过面向查询的演示来提高ICL。我 们的研究结果表明,这些检索器的表现优于随机演示。通过使用Flan-PaLM,我们发 现在ICL测试过程中,训练数据可以提高微调LLM的性能。将 Dr. ICL 与先进的提 示技术相结合,正如我们在 CoT 实验中所看到的,将Dr.ICL与先进的提示技术结 合,进一步增强了模型性能。我们还详细介绍了一种训练演示检索器的方法,这种 检索器的性能超越了现成的检索器,特别是在一次性场景中。探索演示无需训练数 据即可跨任务进行的研究为未来研究提供了一条有希望的途径。

相关推荐
Guofu_Liao8 小时前
大语言模型---LoRA简介;LoRA的优势;LoRA训练步骤;总结
人工智能·语言模型·自然语言处理·矩阵·llama
sp_fyf_202416 小时前
【大语言模型】ACL2024论文-19 SportsMetrics: 融合文本和数值数据以理解大型语言模型中的信息融合
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理
龙的爹233318 小时前
论文翻译 | RECITATION-AUGMENTED LANGUAGE MODELS
人工智能·语言模型·自然语言处理·prompt·gpu算力
sp_fyf_202418 小时前
【大语言模型】ACL2024论文-18 MINPROMPT:基于图的最小提示数据增强用于少样本问答
人工智能·深度学习·神经网络·目标检测·机器学习·语言模型·自然语言处理
Guofu_Liao21 小时前
大语言模型中Softmax函数的计算过程及其参数描述
人工智能·语言模型·自然语言处理
Donvink21 小时前
多模态大语言模型——《动手学大模型》实践教程第六章
人工智能·深度学习·语言模型·自然语言处理·llama
rommel rain1 天前
SpecInfer论文阅读
人工智能·语言模型·transformer
Donvink1 天前
大模型安全和越狱攻击——《动手学大模型》实践教程第五章
深度学习·安全·语言模型·llama
Donvink1 天前
大模型智能体安全——《动手学大模型》实践教程第七章
深度学习·安全·语言模型·prompt·llama
段传涛2 天前
LLM( Large Language Models)典型应用介绍 1 -ChatGPT Large language models
人工智能·语言模型·chatgpt