Self-prompted Chain-of-Thought on Large Language Models for Open-domain Mult...翻译笔记(自提示链式思考、开放领域多跳推理


在这里插入图片描述

论文标题:大型语言模型的自提示链式思考方法在开放领域多跳推理中的应用

论文链接:https://arxiv.org/abs/2310.13552
arXiv:2310.13552v2 [cs.CL] 23 Oct 2023

摘要

在开放领域的问答(ODQA)任务中,大多数现有问题需要对常识进行单步推理。为了进一步扩展这项任务,我们正式引入了开放领域多步推理(ODMR),通过在开放领域设置中回答多步问题并提供明确的推理步骤来实现这一目标。最近,大型语言模型(LLM)已经在无需外部语料库的情况下为ODQA任务提供了显著的帮助。此外,链式思考(CoT)提示可以大大提高大型语言模型(LLMs)的推理能力,无论是手动还是自动化范式。然而,现有的自动化方法缺乏质量保证,而手动方法在可扩展性和多样性方面受到限制,阻碍了LLMs的能力。在这篇论文中,我们提出了一种由LLMs生成高质量CoTs的自动化框架——自提示链式思考(SP-CoT),以实现LLMs的大规模生产。SP-CoT 提出了一个自动化生成高质量 ODMR 数据集的流程,一个自适应采样器用于上下文 CoT 选择,以及通过上下文学习实现自我提示推断。在四个多跳问答基准测试中进行了大量实验,结果显示我们提出的 SP-CoT 不仅在大规模(1750亿)LLM 上显著超过了之前的 SOTA 方法,而且几乎使小型(130亿)LLM 的零样本性能翻倍。进一步的分析揭示了SP-CoT在MuSiQue-Ans数据集上召回约50%的中间答案,从而引发直接和简洁的中间推理步骤的非凡能力。

1 介绍

开放领域问答(ODQA)是一项历史悠久且具有挑战性的任务,它解决的是没有提供特定上下文的常见事实问题。虽然现有的ODQA研究主要关注解答那些只需要单步推理的问题,但越来越多的人对多步推理的问答(MHQA)产生了兴趣。MHQA的目标是通过在一组候选文章中进行多步骤的推理来得出正确的答案(Mavi等人,2022年)。然而,在这些场景与现实世界应用之间存在显著的差距,因为后者往往缺乏用户提供的明确的文章候选集。鉴于此,我们正式将开放领域的多步推理(ODMR)引入为ODQA的一个进步任务,该任务要求在开放领域设置中进行具有明确理由的多步问答。

对于ODMR(Optimized Decision Making under Uncertainty with Reinforcement Learning),一种新兴的方法是利用大型语言模型(LLM)。这是因为这些模型的众多参数中存储了大量的知识。近年来,LLM已经展示了强大的推理和指令执行能力,例如GPT-3(Brown等人,2020年)、PaLM(Chowdhery等人,2022年)和InstructGPT(Ouyang等人,2022年)。经过在大量文本数据集上的广泛训练,大型语言模型(LLMs)证明自己可以在复杂推理任务中充当零次射击者,通过将多步骤问题分解为中间问题来进行逐步推理,然后输出最终答案(Kojima等,2023)。这种由一系列中间推理步骤组成的链式思考过程被称为思维链(CoTs)(Wei等,2023)。CoTs(协作任务)通常作为上下文演示,用于上下文学习(ICL)(Brown等人,2020),使LLMs(大型语言模型)能够通过提供几个参考示例作为提示,生成与目标任务形式一致的输出。手动设计的CoTs(Wei等人,2023)被用作上下文演示,以提高LLMs的推理性能。然而,这需要人类进行精细且一丝不苟的设计,而且每个问题的演示都是相同的,可能不是最优的。零次射击协同(Kojima等人,2023)被提出以通过某些特定的提示技术(如“让我们一步步思考:“)来触发自动协同。张等人(2022)提出了Auto-CoT,这是一种自动化框架,可以大规模生产协同操作并构建情境演示。然而,以前的工作并没有充分利用大型语言模型(LLMs)的强大指令执行和零样本推理能力。

在本文中,我们提出了一种名为“自我提示链式思考”(Self-prompted Chain-of-Thought,简称SP-CoT)的框架,它仅使用LLM来大规模生成高质量的CoTs,用于解决开放领域的多轮任务(ODMR)。总的来说,SP-CoT引入了一个自动化生成的ODMR数据集管道,一个自适应的CoT选择采样器,以及通过内部冷启动(ICL)进行自我提示的推断。自动化ODMR数据集是MHQA数据集,没有候选上下文,但包括具有六种复杂推理链的多跳问题和逐步分解。每个中间问答步骤都配备了一个简短的解释来证明答案。通过利用LLM的ICL能力,我们的方法对不同规模的LLM普遍有效。

我们在四个MHQA数据集上评估我们的方法,这些数据集在开放领域设置中:复杂网络问题(CWebQ)(Talmor和Berant,2018),热点问答(Hot-potQA)(Yang等人,2018),2维百科多跳问答(2Wiki)(Ho等人,2020)和MuSiQue-Ans(MSQ)(Trivedi等人,2022)。大量实验表明,我们提出的SP-CoT不仅在大规模(175B)LLMs上显著超越了之前的SOTA方法,而且在小规模(13B)LLMs的ODMR任务中几乎使零样本性能翻倍。进一步的分析揭示了SP-CoT在MSQ数据集上通过回忆约50%的中间答案,表现出出色的提取直接和简洁中间推理步骤的能力。

我们的贡献可以总结如下:

  1. 我们介绍了一种自动化管道,通过大型语言模型生成高质的ODMR数据集,其中包括2-4跳的问题和六种复杂的推理链。
  2. 我们提出了SP-CoT,这是一种自动化的框架,可以大量生产协同对话,同时确保质量和多样性。
  3. 我们进行了广泛的实验来证实SP-CoT在四个ODMR基准测试中的有效性。在ODMR设置中,我们的方法通过引发高质量的中间推理步骤显著提高了性能。

我们的代码和数据集已公开发布在https://github.com/noewangjy/SP-CoT

2 相关工作

2.1 多跳数据集创建

手动创建一个注释的多跳问答数据集需要大量的人力资源。因此,一些研究人员致力于实现MHQA数据集的自动化生成。江等人(2020)详细介绍了如何从现有的HotpotQA数据集中创建一个多跳事实验证数据集。Trivedi等人(2022)提出了一种自下而上的方法,通过精心选择和组合现有数据集中的单跳问题,构建具有挑战性的多跳阅读理解问答数据集。Press等人(2023)提出了一种自动生成的名人相关的问题数据集,这些问题具有组合性的2跳式问题。然而,现有的方法要么只部分自动化,仍然需要众包,要么仅限于较不复杂的1-2跳式问题。在这项工作中,我们提出的SP-CoT能够自动生成具有六种不同推理链类型的2-4跳式问题(图6在附录中)。

2.2 思维链提示

最近关于CoT(对话中的提示)的研究可以分为两条研究路线。第一种方法是逐步提示大型语言模型(LLM)利用它们的理解和推理能力来回答问题。零次射击协同提示(Kojima等人,2023)采用两阶段设计,要求LLM首先生成中间理由,然后产生答案。王等人(2022)引入了iCAP,它迭代地提示一个微调的小型LLM生成协同提示,然后将生成的理由结合起来制定答案。最少量到最大量(Zhou等人,2023)要求大型语言模型首先将复杂问题分解成子问题,然后顺序解决它们以得到最终答案。

第二条研究路线专注于设计有效的CoT(协同教学)作为实例来释放LLMs(大型语言模型)更强大的推理能力。手动-CoT(Wei等,2023)被引入以利用人工设计的CoT作为上下文示例来解决算术、常识和符号问题。最近的一项工作(Zelikman等,2022)揭示了通过LLMs自动化生成理由的实际可行性。随后,Self-Ask(Press等人,2023年)被提出,以逐步演示和明确的决策过程以及中间答案作为CoT。Zhang等人(2022年)提出了Auto-CoT,它通过LLMs自动构建CoTs,并采用聚类方法动态建立每个问题的演示文稿。

然而,现有方法存在两个显著的限制:1)过度依赖大型语言模型(LLMs)的推理能力。大多数方法在诸如InstructGPT等大规模LLM上表现出有效,但在小型LLM上复制这些方法相当具有挑战性。2)对中间结果质量过于自信。在逐步提示LLMs时,以前步骤中的缺陷可能会限制后续步骤的性能。同样地,在自动构建情境演示时,ICL的有效性可能会受到CoT不稳定质量的影响。诚然,手动构建的CoT可以确保质量,但它们在内容多样性和成本之间面临权衡。为了解决上述缺点,我们提出的SP-CoT通过利用LLM的强大指令执行能力自动化CoT生成,从而确保其质量。

2.3 通过大型语言模型生成来增强模型

随着大型语言模型在内容生成和指令执行方面的能力越来越强大,一个近期的研究方向是充分利用这些模型生成的内容来增强较小的模型。最近的一些工作,如GPTeacher、Alpaca(Taori等人,2023年)和Vicuna(Chiang等人,2023年),收集了由GPT-4(OpenAI,2023年)生成的内容及其相应的提示,以训练较小规模的语言模型,使其达到可比的性能。另一条研究路线的目标是通过利用自动生成的内容来提高大型LLMs的性能到更高水平。一些工作将自动生成作为上下文,以帮助自己回答问题,例如激发中间推理过程作为CoT(Kojima等人,2023)或者生成阅读理解的背景文章(Yu等人,2023)。当其他人指示LLMs在推理过程中生成ICL的演示时(Zhang等,2022),例如提示LLMs生成可靠的QA对作为自我提示的上下文内演示(Li等,2022)。我们的工作致力于将第二条研究路线扩展到ODMR,方法是利用自动自动生成的CoT作为上下文内的演示。与以往的工作(小島等人,2023年;张等人,2022年;李等人,2022年)相比,我们的工作利用更复杂的框架设计发掘自提示大型语言模型的潜力,以解决最具挑战性的任务。

3 方法

在本节中,我们分三个阶段详细介绍我们提出的SP-CoT(图1):

在第一阶段,我们提示LLMs(大型语言模型)迭代生成包含上下文、问题、答案和解释的2跳常识性问答四元组。

在第二阶段,我们通过连接2跳问答四元组来构建多跳推理链,并通过组合构建一个ODMR(开放领域对话式推理)数据集。

在最后一个阶段,我们采用基于聚类的采样方法动态选择和构建用于推断的上下文演示示例。

在这里插入图片描述

图1:我们提出的SP-CoT的总体框架,包括自动生成ODMR数据集,自适应采样器用于CoT选择和通过ICL进行自我提示的推理。紫色高亮显示的文字指的是问题,红色是之前生成的CoT,橙色是答案,绿色是新生成的内容。

3.1 通过自动生成的两跳式问答

在这里插入图片描述

图2:2跳问答四元组的生成步骤。每个问答四元组包括一个问题q、与其对应的答案a和一个上下文段落p。解释e包括从段落p中获取的答案a以回答问题q。橙色高亮显示的文本表示之前生成的内容,而LLM的响应则用绿色高亮显示。

在第一阶段,我们提示LLMs(大型语言模型)迭代生成包含上下文、问题、答案和解释的两跳式问答四元组,如图2所示。受Li等人(2022)的启发,我们设计了一个两跳式常识问答生成流程,包括以下4个步骤:

步骤1:第一跳段落生成 为了确保常识知识的全面覆盖,我们根据TriviaQA(Joshi等人,2017)的统计数据,手动设计了29个不同的主题。对于每个主题,我们要求LLM(大型语言模型)提供一定数量的关键词。对于每个收集到的关键词k1,我们让LLM生成一个维基风格的段落p1。尽管这些生成的段落中存在一些事实性错误(Li等人,2022),但它们包含足够的实际信息,可以作为问答生成的上下文。

步骤2:首次跳转QA生成 鉴于常识性问题的答案很可能是命名实体,我们使用Spacy和NLTK(Bird和Loper,2004)库从p1段落中提取候选答案的命名实体。对于每个候选答案a1,我们要求LLM根据段落p1提出一个问题q1,其答案是a1。为确保q1的质量,我们采用双重检查过程,要求LLM在给定上下文p1的情况下回答生成的q1问题,以检查生成的答案a1’是否与a1一致。一旦生成的问答对通过双重检查,我们会提示LLM为其编写一个简短解释e1。请注意,候选答案必须排除关键词(a1 ≠ k1),因为第一跳的答案将成为第二跳的关键词(k2 = a1,k2 ≠ k1)。此外,有效的解释必须包含答案(a1 ∈ e1)。

步骤3: 第二跳段落生成 在使用第一跳答案作为关键词进行第二跳段落生成之前,我们使用Spacy过滤掉某些标签(数量、序数、基数、百分比、金钱、日期、时间)的答案,这些答案对于维基风格的段落生成是不可行的。给定一个关键词k2,我们重复步骤1中描述的提示来生成段落p2

步骤4:第二跳QA生成 我们从在生成的段落p2中提取候选答案开始,同时阻止第一跳QA中的关键词k1和答案a1(也称为k2),以避免循环图。对于每个候选答案a2,我们要求LLM生成一个包含第一跳答案a1且可以由候选答案a2回答的问题q2。我们检查q2的质量,方法是在步骤2中使用相同的双重检查。同时,我们确保用于连接推理的第二级问题q2包含第一级答案a1(a1∈q2)。接下来,我们再次使用步骤2中的提示来生成解释e2

到目前为止,我们已经指示LLM生成一个2跳的常识性问答四元组对,即(p1, q1, a1, e1) → (p2, q2, a2, e2),其中a1属于q2。详细的提示模板如图2和附录B所示。

3.2 多跳问答通过组合

在这里插入图片描述

图3:MHQA组的生成步骤。在第3步和第4步中,我们为ICL使用4个手动设计的演示。每个MHQA组包括一个多跳问题、相应的答案以及分解的QA四元组。红色、蓝色和绿色依次表示最后一步、中间步骤和生成的步骤。手动设计的文本用紫色高亮显示。

在第二阶段,我们使用连接的2跳问答四元组构建多跳推理链,如图3所示。我们提出了一种自动化的数据集构建流程,以2-4跳的方式构建ODMR数据集,该过程包括以下4个步骤:

步骤1:推理链组合 为了连接更多的问题,我们遵循组合性标准(Trivedi等人,2022年),即两个单跳问答对(q1,a1)和(q2,a2)可以组合成一个具有a2作为有效答案的多跳问题Q,如果a1是一个命名实体并且在q2中被提及。当我们生成的2跳问答对已经满足此标准时,我们将此标准用于连接更多问题。我们采用6个包含2-4跳的推理图来构建6种多跳推理链(详见附录中的图6),并确保在每条推理链中满足以下条件:1)中间问题qi的答案ai只会出现在其下一个问题qi+1中以避免捷径;2)最后一个问题的答案不会出现在任何中间问题中。

步骤2:复制控制 构建规则- 基于组合的新数据集,我们的新数据集具有相似的推理链,这些推理链有重复的中间问题。为了确保我们数据集的多样性和简单性,我们通过预设的重复程度过滤掉推理链,该重复程度由在相同推理类型中其他链中共存的问题数量定义。

步骤3:二元问题生成 我们注意到MHQA数据集还包括一些应以“是”或“否”回答的一般疑问句,而不是命名实体。因此,我们利用LLM将某些推理链的最后一个问答对(qn,an)改写为二元问题,并使用4个手动设计的上下文演示。对于每种推理类型,我们随机抽取10%的推理链用于生成正面问题,另外10%用于生成负面问题。然后我们通过生成的二元问题以及其前一个问题跳转,重新构建一个新的推理链,并将其添加到数据集中。

步骤4:多跳问题生成 现在,我们需要生成多跳问题,其中之前生成的问题链作为它们的中间推理步骤。对于每个问题链,我们迭代地将答案ai替换为在下一跳问题qi+1中的中间问题qi,直到最后一个问题qn被替换,这表示一个相对从句。然后我们利用大型语言模型将其重新塑造成一个自然的多跳问题,并使用4个手动设计的示例演示。

在上述流程之后,我们构建了一个高质量的ODMR数据集,包含2-4个跳转,包括整体的多跳问题和详细的问题解答四元组的分解推理链。通过生成过程中的双重检查和组合标准,我们自动创建了一个高质量的新数据集。详细的提示模板如图3和附录B所示。

3.3 自适应逐层演示

在这个阶段,我们从生成的ODMR数据集中采样多跳问题作为上下文演示。

基于聚类的检索 一些之前的研究(张等,2022;李等,2022)已经表明,基于聚类的方法可以从演示的多样性中受益。我们采用基于聚类的检索方法,自适应地为输入问题采样上下文演示。首先,通过使用Sentence-BERT(Reimers和Gurevych,2019)编码,将所有问题投影到高维隐藏空间。假设我们需要n个上下文演示。给定一个测试问题Q,我们使用k-means对问题嵌入进行聚类,分为n个簇,并从每个簇中检索与Q的余弦相似度最高的问题。

构建推理链 对于每个采样的示例,我们顺序地将来自每个步骤的解释串联起来,以“步骤{i}:”为前缀,来构建一个推理链。

4 实验

我们的研究问题(RQ)包括:
RQ1:与仅使用大型语言模型(LLM)的方法相比,SP-CoT在四个ODMR基准测试中能在多大程度上提高LLM的性能?
RQ2:SP-CoT是否对最近流行的遵循指令的大型语言模型普遍有效?

为此,我们在四个需要复杂多步推理的MHQA数据集上进行了实验,并比较了不同方法在不同LLM中的表现。

4.1 基准和评估指标

我们选择了以下四个MHQA数据集:CWebQ、HotpotQA、2Wiki和MSQ。我们将它们设置为ODMR基准,只采用每个示例中的问题和答案。数据集介绍和统计详情请参阅附录A。

我们采用精确匹配(EM)和F1分数作为评估指标。基于Karpukhin等(2020)的评估脚本,我们在预处理步骤中添加了一个过程,该过程忽略括号内的内容,并通过特定分隔符分割答案字符串以提取多个答案。

4.2 实验设置

作为参考,我们尝试使用额外语料库进行微调方法的实验,这些方法在NQ(Kwiatkowski等,2019)数据集的训练拆分上进行了微调,其中大多数采用了维基百科快照(Karpukhin等,2020)作为额外语料库。我们还测试了我们在最近的LLMs上实施的基于检索的方法,以供参考。具体来说,我们使用经过微调的DPR(Karpukhin等人,2020)从维基百科中检索前5个文档作为上下文,并使用LLM作为阅读器根据上下文回答问题。详细的提示模板和参数设置在附录B中提供。

除非另有说明,我们根据先前的工作,使用Sentence-BERT(all-mpnet-base-v2)进行问题编码。默认的在上下文演示数量是8个,通过每个簇中问题的最大余弦相似性来采样演示。

对于RQ1,我们采用ChatGPT(gpt-3.5-turbo-0301)作为LLM进行以下实验。根据OpenAI的说法,gpt-3.5-turbo-0301是InstructGPT文本模型的改进版,其性能与text-davinci-003相似。我们在实验中使用了每个数据集的整个开发集。

对于RQ2,我们不仅测试了InstructGPT(text-davinci-003),还使用了三个较小规模的LLM模型:Alpaca(Taori等人,2023年)、Vicuna(Chiang等人,2023年)和WizardLM(Xu等人,2023年)。这些模型都是基于LLaMA(Touvron等人,2023年)微调的,在不同的大规模指令遵循数据集上进行训练。为了节省计算成本,我们在四个数据集的子集中进行实验,通过随机选择1000个样本来自测试集。

4.3 实验结果

RQ1的主要结果如表1所示。即使有额外的语料库,但在NQ(Kwiatkowski等人,2019)上微调的模型由于MHQA固有的挑战而表现不佳。使用相同的检索器模型,基于检索的方法的性能在很大程度上取决于LLM阅读器。与之前的LLM(大型语言模型)专用工作相比,我们的SP-CoT(同步预训练和微调)在平均情况下显著优于Auto-CoT,EM得分提高了6.2分,F1得分提高了6.4分。此外,SP-CoT还超过了之前最先进的方法GENREAD(Yu等人,2023年),平均EM得分提高了2.3分,F1得分提高了2.8分。在最具挑战性的基准MSQ上,SP-CoT使ChatGPT在与其他LLM专用方法的比较中取得了相当大的优势。
在这里插入图片描述

表1:在四个MHQA基准上的不同方法比较。微调方法是在NQ(Kwiatkowski等人,2019)数据集的训练拆分上进行微调。其中,标记为“†”的方法使用维基百科快照(Karpukhin等人,2020)作为额外的语料库。对于基于检索的方法,我们使用经过微调的DPR(Karpukhin等人,2020)从维基百科中检索前5个文档作为上下文,并利用LLM作为阅读器根据上下文回答问题。基于ChatGPT的方法通过gpt-3.5-turbo-0301版本来实现。

我们注意到,SP-CoT在MSQ上显著优于GENREAD,证实了提供高质量的CoT作为复杂多跳问题的上下文演示的有效性。在另外三个数据集上,SP-CoT的表现与GENREAD相当。然而,GENREAD在很大程度上依赖于LLMs的生成忠实度,这对于小型LLMs来说是一个挑战。通过将复杂的指令分解为逐步简单的指令,我们的方法更适用于小型LLMs,这由表2所证实。
在这里插入图片描述

表2:我们的方法在最近流行的大型语言模型上的表现(EM)。我们使用text-davinci-003进行InstructGPT。在小型大型语言模型上,SP-CoT几乎使四个MHQA基准测试的平均零样本性能翻倍。

表2展示了针对RQ2的结果。我们提出的SP-CoT证明是普遍有效的,因为它显著提高了这四个LLMs在所有四个基准测试上的性能。通过SP-CoT技术,小型(13B)语言模型的性能可以得到提升,使其与直接提示大型语言模型(超过10倍大)相当,而无论中间产生的高质量推理步骤如何。

5 分析部分

在这一部分,我们探讨了演示采样的方法和演示数量的选择。然后我们检查了由SP-CoT引发的中间推理步骤的质量以及自动生成数据的质量。除非另有指定,否则我们使用ChatGPT(gpt-3.5-turbo-0301)对RQ2设置中提到的相同子集进行分析。

5.1 演示采样方法

ICL的性能在很大程度上取决于示范采样的质量。我们测试了以下五种策略的有效性:随机采样(随机)、按最大余弦相似度全局采样(检索)、采样每个聚类中最接近质心的样本(聚类中心)、在每个聚类中按最大余弦相似度采样(在集群内检索)以及在每个聚类中按特定推理类型采样最相似的QAs(在类型集群内检索)。输入问题的推理类型由其k最近邻点中最频繁出现的推理类型决定。如表3所示,RetrieveInCluster(Li等人,2022)是表现最好的策略,这正是我们在之前实验中采用的策略。
在这里插入图片描述

表3:不同演示选择方法的性能(EM)。随机选择的结果表示从3个不同的种子进行的3次运行的平均值和标准差。

5.2 演示数量的影响

提供更多的上下文演示可以提高ICL的性能,但也会导致计算成本增加。为此,我们研究了演示数量与性能提升之间的权衡。我们在四个基准测试中报告了2、4、6、8和10个上下文演示以及零次演示设置下的EM和F1分数。如图4所示,SP-CoT的性能在演示次数为2到8时随着数量的增加而提高;然而,使用10个演示并不能带来任何进一步的性能提升。在我们的主要实验中,我们选择8作为默认的演示数量,平衡了性能和成本之间的关系。
在这里插入图片描述

图4:不同数量的上下文演示的平均EM和F1分数。实验在四个ODMR基准测试集的1k子集上进行了测试,使用的是ChatGPT(gpt-3.5-turbo-0301)。

5.3 中间推理质量分析

鉴于我们提出的SP-CoT构建的高质量CoTs,我们研究在推断过程中生成的中间推理步骤的质量。为了进行这项分析,我们使用了MSQ的发展集,因为它是最具挑战性的四个数据集之一,并提供了逐步拆分的问答。我们比较了Zero-shot-CoT、Auto-CoT和SP-CoT在推理过程中生成的CoTs。为了公平起见,我们从总共59个问题中选择50个所有三种方法都正确回答的问题。首先,我们使用GPT-4来评估中间推理步骤的清晰度、简洁性、可理解性和直接性,分别在1到10的尺度上进行评价。此外,我们还计算了每种方法推理步骤中中间答案的召回准确率。为了公平起见,我们只报告每种方法正确回答问题的中间答案召回准确度。如图5所示,GPT-4非常倾向于我们的SP-CoT,它在中间答案的召回准确度方面达到了近50%。这表明SP-CoT在清晰性、简洁性、可理解性和直接性等方面引发了高质量的推理步骤。
在这里插入图片描述

图5:由三种方法生成的CoT(协作对话)的评估结果。前四个分数是关于清晰度、简洁性、可理解性(Comp.)和直接性的评分,由GPT-4在50个例子上给出。报告了中间答案的召回准确率(IA Recall),这是在所有3种方法正确回答的问题上的表现。

6 结论

在这项工作中,我们利用大型语言模型(LLMs)和自提示协同对话(CoTs)相结合的方法来解决复杂多跳问答任务(MHQA)的开放领域问题,这种任务被称为开放领域多跳问答(ODMR)。我们的创新性SP-CoT方法不仅在超越先前的CoT提示技术方面设立了新的基准,而且还优于以前的仅基于LLM的SOTA方法,在开放领域的问答中取得了更好的效果。SP-CoT的一个显著特点是它在引发高质量中间推理步骤方面的熟练程度,并且在大型和小型LLM中具有普遍效力。我们期待我们的创新性自生成管道为ODMR不仅奠定SP-CoT的基础,而且为未来的研究铺平道路,通过LLM的自我生成促进向利用自我生成的转变,从而实现由LLM为LLM服务的目标。

限制

我们提出的方法(SP-CoT)利用了大型语言模型(LLMs)的强大指令执行能力。这种能力通过指令微调很容易在小型LLM(甚至70亿参数)中获得,然而,一些早期提出的LLM可能由于缺乏相应的训练而在发布后表现出较差的跟随人类指令的能力。因此,我们提出的SP-CoT可能无法提高这些LLMs的性能。事实上,我们未能通过零次射击-CoT、自动-CoT和SP-CoT中的任何一种来提高GPT-NeoX的性能。GPT-NeoX是一款于2022年初发布的200亿LLMs,其指令执行能力较差。请注意,GENREAD(Yu等人,2023年)和自提示(Li等人,2022年)都无法提高GPT-NeoX的性能。

众所周知,仅使用LLM(法律硕士)的方法的有效性主要取决于LLM本身。对于较小规模的LLMs(13B规模),我们的SP-CoT以及其他CoT方法在四个ODMR基准测试中展现出相当或类似的性能提升,如表6所示。手工设计的CoTs在不同LLMs和基准测试中的性能一直存在不确定性;我们的实证观察表明,Manual-CoT有时会超过SP-CoT的性能,而在其他情况下则没有。

考虑到LLMs生成不精确信息的可能性,我们的SP-CoT生产数据集的过程也可能导致不准确的问答对以及错误的解释。尽管我们已经采取了双重检查机制来确保数据完整性,但仍然不可避免地存在某些错误和不准确。

A 数据集

A.1 简介

HotpotQA(杨等人,2018)HotpotQA是一个广泛用于多跳问题回答(MHQA)的 dataset,其中包含113,000个以自然语言编写的多跳问题。这些问题通过众包方式收集,基于维基百科文章编写,并附有人类标注的支持证据和答案。

2WikiMultiHopQA(Ho等人,2020)2Wiki-MultiHopQA是一个最近提出的大型多跳问答(MHQA)数据集,它包含从维基百科和维基数据中心共同构建的超过192k个样本。

MuSiQue-Ans(Trivedi等人,2022)MuSiQue-Ans(MSQ)是一个最近创建的具有挑战性的多跳问答数据集,通过单跳问题组合来生成。它包括25k个2-4跳的问题,具有六种不同的组合结构。尽管MSQ是由现有数据集组成的,但它与人类和机器之间的差距为3倍,而且在断开推理得分方面显著降低。

复杂网络问题(Talmor和Berant,2018) 复杂网络问题是一个手动生成的MHQA数据集,包含35,000个问答对。CWebQ是通过重新表述机器从现有数据集中生成的问题来生成的。

A.2 统计数据

四个数据集的统计数据如表4所示。
在这里插入图片描述

表4:四个MHQA基准的开发集统计数据,包括问题、答案的平均标记数和平均推理步骤数。CWebQ没有提供支持性证据或问题分解。

B 提示模板

B.1 首跳问答生成

我们遵循第3节中描述的符号。 模板如下:

  1. 名称 {编号} {主题}:
  2. 生成关于 {k1} 的维基百科段落。
  3. 关于 {k1} 的段落:{p1}生成一个答案为实体 {a1} 的问题。
  4. 关于 {k1} 的段落:{p1}
    问题:{q1}从段落中直接提取答案,尽可能使用更少的词汇。
  5. 关于{k1}的段落: {p1}
    问题: {q1}
    答案: {a1} 根据文章中的证据来支持答案,重新写它以使没有文章的情况下意义清晰。

B.2 第二跳问答生成

  1. 生成关于{k2}的维基百科段落。
  2. 关于{k2}的段落:{p2}生成一个符合以下条件的问题:1. 在问题中包含术语’{k2}',2. 答案是{a2},3. 避免在问题中使用以下实体:{k2}
  3. 关于{k2}的段落:{p2}
    问题:{q2}从段落中直接提取答案,尽可能用更少的词。
  4. 关于{k2}的段落: {p2}
    问题: {q1}
    答案: {a2} 根据文中提供的证据来支持答案,请在不参考文章的情况下重新表达这个意思。

B.3 二元问题生成

• 问题:{qn}
答案:{an}
将问题改写为可以用“是”回答的一般疑问句:
• 问题:{qn}
答案:{an}
将问题改写为可以用“否”回答的一般疑问句:

B.4 多跳问题生成

  • 原始问题:{qn} 替换[]中的句子为相对从句,并将原始问题转换为自然问题:

B.5 CoT Construction

假定q* 是生成的多跳问题,ei表示中间跳(qi,ai,ei)的解释,a* 是最后跳的答案(a* = an)。模板为:
• 问题:{q*}
答案:让我们一步一步思考:
步骤1:{e1}
步骤2:{e2}
… 因此,只有一个实体的答案是:{a*},

B.6 推断

B.6.1 零样本

给定一个问题Q,推理模板如下:
• 用一个实体回答以下问题:
问题:{Q}
答案:

B.6.2 SP-CoT

假设我们有输入问题Q和两个示范(q1,r1,a1),(q2,r2,a2),其中qi,ri,ai表示第i个示范的问题、协同思考和答案。推理模板为:
• 问题:{q1}
{r1}

问题:{q2}
{r2}

问题:{Q}
答案:让我们一步一步思考:

C 实验设置

C.1 超参数

这段内容是关于在ChatGPT(gpt-3.5-turbo-0301)上的实验设置,有关我们实验中使用的其他LLM的更多设置,请查看我们的代码。我们的代码和数据集在https://github.com/noewangjy/SP-CoT上公开可用。

C.1.1 系统信息

“您应该尽您所能利用您的知识来回答问题,而不是拒绝回答,即使您知道您的知识有时会过时。如果某些参考文献不确定,请回答所有可能的情况,而不是要求进一步的信息。”

C.1.2 温度

在大多数情况下,默认温度设置为0,以获得最确定的响应。当我们要求ChatGPT列举一些术语或生成一个问题时,温度设置为1.0,以便更多样化的结果。

C.2 语言模型(LLM,Language Models)

我们的实验中使用的13B LLMs来自Huggingface Hub,使用chavinlo/gpt4-x-alpaca作为Alpaca-13B,TheBloke/wizard-vicuna-13B-HF作为Vicuna-13B,TheBloke/wizardLM-13B-1.0-fp16作为WizardLM-13B。

D 附加实验

D.1 CoT变体的比较

为了更全面地展示当前CoT方法在ODQA上的表现,我们在本文(表5)中报告了额外的CoT变体,包括Manual-CoT(魏等人,2023年)和Auto-CoT(张等人,2022年)在ChatGPT(gpt-3.5-turbo-0301)上的性能。
在这里插入图片描述

表5:额外的CoT变体的性能(EM/F1)。在我们的实验中,手动-CoT(Cherry-Pick)采用了8个由作者手工编写的精选问题及其CoTs。手动-CoT(随机)的结果报告了在4个基准测试中随机选择的问题和它们的手动CoTs的平均EM分数,共进行了2次实验。Self-Consistency(Wang等人,2023)基于SP-CoT,每个问题有5个响应。

在我们的实验中,手动-CoT(挑选)采用了8个由作者手动编写的挑选问题及其CoTs。手动-CoT(随机)的结果报告了在4个基准测试中,随机选择的问题及其手动CoTs的平均EM分数,共进行了2次实验。自一致性(Wang等人,2023)基于SP-CoT,每个问题有5个回答。

据我们所知,自一致性(Wang 等,2023)与现有的协同提示方法(包括SP-CoT)正交。尽管自一致性提高了SP-CoT的性能,使其在5次运行中提高了10%-30%,但值得注意的是,自一致性的成本也增加了5倍。

在表6中,我们报告了最近流行的LLMs的CoT方法在1k子集上的性能(EM)。这些分数是4个ODMR基准测试的平均EM得分。尽管Manual-CoT(魏等人,2023)优于自动化方法,但它需要高质量的人工标注CoT,这在实际应用中并不总是可获取的。 由于精选的CoTs考虑了数据集特征,我们认为它们的结果是自动化方法的理论上限。与以前的自动SOTA方法(Auto-CoT)相比,我们提出的SP-CoT在大多数情况下都表现出令人满意的性能提升。
在这里插入图片描述

表6:在1k测试集子集上,与最近流行的LLMs一起使用的CoT方法的性能(EM)。我们使用gpt-3.5-turbo-0301作为ChatGPT,text-davinci-003作为InstructGPT。在较小规模(13B)的LLMs上,CoT方法在四个MHQA基准上实现了相当的性能提升。

D.2 在GrailQA上的SP-CoT

我们在GrailQA(Gu等人,2021年)提供的测试集的1k子集上报告了我们的CoT方法实验。根据我们的ODMR设置,没有向LLMs提供外部知识。从下面的结果可以看出,我们提出的SP-CoT在GrailQA上是有效的,我们在InstructGPT(text-davinci-003)上的结果如表8所示。

在这里插入图片描述

表8:在GrailQA提供的1k子集测试集上的CoT方法性能(Gu等人,2021年)。

E 构建的ODMR数据集

E.1 概述和规模

为了更好地理解构建的ODMR数据集,我们提供了一个精心设计的图形(图6)来说明生成的六种类型的问题及其逐步分解。生成的ODMR数据集的规模约为1-4k(表7),但这在很大程度上取决于自动生成设置(要生成多少个示例?)以及第二阶段第2步中的重复控制过程(要保留多少个示例?)。更具体地说,自我生成的主题词数量决定了生成的两跳问题对的数量,而重复级别(在构建新的推理链时允许多少现有的问题跳)决定了过滤后剩余示例的规模。
在这里插入图片描述

表7:本文中生成的每个ODMR数据集的规模和平均跳数。请注意,规模和平均跳数在很大程度上取决于自动生成设置和重复控制过程。

E.2 主题

用于生成的29个手动设计的主题是:政治家、运动员、体育团队、体育赛事、国家、城市、历史人物、历史事件、战争、宗教、歌手、歌曲、演员或女演员、电影或电视剧、作家、书籍、画家、画作、作曲家、古典音乐、旅游景点、科学家、科学术语、视频游戏、动物、植物、食品、企业、国际组织。

E.3 质量控制

为确保自动生成的质量,我们提出的方法包括两种机制。
**自我验证在自动生成中:**为了确保生成的问答对的质量,我们采用双重检查过程,要求大型语言模型(LLM)根据生成的上下文回答生成的问题,并检查生成的答案是否与目标答案一致。
**组合标准在组合中:**两个单跳的问题和答案对(q1,a1)和(q2,a2)可以组合成一个以a2为有效答案的多跳问题Q,如果a1是命名实体并且在q2中被提及。这样的标准在我们的2跳问题和答案对生成时已经满足,我们用它来连接更多的问题。

E.4 组合而非生成

直接生成k跳问题会产生许多高度重复的推理链,这不如通过组合2跳问答(Q&A)有效。

以一个连续的3跳问答为例: (Q1,A1)→(Q2,A2)→(Q3,A3),其中A1在Q2中,A2在Q3中。

假设对于(Q3,A3),有2个有效的下一步问答(Q4,A4)和(Q5,A5)。 现在我们有了2个生成的4跳推理链: (Q1,A1)→(Q2,A2)→(Q3,A3)→(Q4,A4) 和(Q1,A1)→(Q2,A2)→(Q3,A3)→(Q5,A5)

高度重复的推理链。在直接生成k跳推理链时,高度重复的链条数量将呈指数级增长,这些链条将在重复控制过程中被过滤掉(第二阶段,第2步)。

此外,当一个推理链中有超过2个问题跳转时,需要付出更多的努力确保有向无环图(DAG)。一个循环推理链的例子是(Q1,A1)→(Q2,A2)→(Q1,A1),这种应该避免。

在这里插入图片描述

图6:我们在自动化数据集构建管道中的六种推理类型的示意图。这些选定的例子是由ChatGPT(gpt-3.5-turbo-0301)、Vicuna-13B和WizardLM-13B自动生成的。

  • 20
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值