Interleaving Retrieval with Chain-of-Thought Reasoning for ... 论文阅读

发布于:2024-06-28 ⋅ 阅读:(14) ⋅ 点赞:(0)

Interleaving Retrieval with Chain-of-Thought Reasoning for Knowledge-Intensive Multi-Step Questions 论文阅读

Abstract

基于提示的大型语言模型(LLMs)在生成多步骤问题回答(QA)的自然语言推理步骤或链式思维(CoT)方面表现出惊人的强大。然而,当所需的知识在LLM中不可用或其参数未更新时,它们会遇到困难。虽然使用问题从外部知识源中检索相关文本可以帮助LLMs,但我们观察到这种一步检索和阅读的方法对于多步骤QA是不足的。在这里,检索的内容取决于已经推导出的内容,而推导的内容可能又取决于之前检索的内容。为了解决这个问题,我们提出了IRCoT,一种新的多步骤QA方法,它将检索与CoT中的步骤(句子)交替进行,通过CoT指导检索,并反过来使用检索结果改进CoT。使用IRCoT与GPT-3相结合,在四个数据集(HotpotQA、2WikiMultihopQA、MuSiQue和IIRC)上的检索(最多提高21点)以及下游QA(最多提高15点)表现出显著提升。我们在分布外(OOD)设置以及使用更小的模型如Flan-T5-large时观察到了类似的显著增益,而无需额外训练。IRCoT减少了模型幻觉,产生了事实更准确的CoT推理。

大型语言模型能够通过适当提示生成逐步的自然语言推理步骤,即所谓的链式思维(CoT),来回答复杂的问题(Wei等,2022)。当回答问题所需的所有信息要么作为上下文提供(例如,代数问题),要么假设存在于模型的参数中(例如,常识推理)时,这种方法是成功的。

代码、数据和提示可在 https://github.com/stonybrooknlp/ircot 获得

介绍

然而,对于许多开放域问题,所有必需的知识并不总是可用或最新的,并且从外部来源检索知识是有益的(Lazaridou等,2022;Kasai等,2022)。

虽然基于问题的单次检索可以成功地为许多事实类任务(Lewis等,2020;Guu等,2020;Borgeaud等,2022;Izacard等,2022)增加相关知识,但这种策略在处理更复杂的多步骤推理问题时有明显的局限性。对于这些问题,通常需要检索部分知识,进行部分推理,并根据部分推理的结果进一步检索,并迭代进行。

例如,考虑下图中所示的问题,“丢失重力在哪个国家制造?”使用问题(尤其是过山车“丢失重力”)作为查询检索到的维基百科文档并没有提到丢失重力的制造地。相反,我们必须首先推断它是由一家名为Mack Rides的公司制造的,然后再进行进一步的检索,以获得指向制造国的证据。

在这里插入图片描述

基于此直觉,我们提出了一种交替方法,IRCoT,其中的理念是使用检索指导链式思维(CoT)推理步骤,并使用CoT推理指导检索。上图展示了我们称为IRCoT的检索方法的概述。我们首先使用问题作为查询检索一组基础段落。随后,我们在以下两个步骤之间交替进行:

  1. 扩展CoT:使用问题、到目前为止收集的段落和已生成的CoT句子生成下一个CoT句子;
  2. 扩展检索信息:使用最后一个CoT句子作为查询检索其他段落,并将其添加到已收集的段落中。

我们重复这些步骤,直到CoT报告答案或达到允许的最大推理步骤数。终止时,返回所有收集的段落作为检索结果。最后,我们使用这些段落作为上下文,通过直接QA提示(Brown等,2020)或CoT提示(Wei等,2022)来回答问题。

本文主要贡献是一种新颖的检索方法IRCoT,它利用LMs的链式思维生成能力来指导检索,并反过来使用检索来改进CoT推理。我们证明了IRCoT:

  1. 改进了多个多步骤开放域QA数据集的检索和少样本QA性能,在IID和OOD设置中均表现出色;
  2. 减少了生成CoT中的事实错误;
  3. 在无需任何训练的情况下提高了大规模(175B模型)和小规模模型(Flan-T5-,≤11B)的性能。

相关工作

开放域QA提示(CoT相关)

LLMs可以通过简单地使用一些示例作为提示来学习各种任务(Brown等,2020)。已经显示,当通过几个或零示例提示时,LLMs能够通过生成逐步的推理(链式思维,CoT)来回答复杂问题(Wei等,2022;Kojima等,2022)。提示已经应用于开放域QA(Lazaridou等,2022;Sun等,2022;Yu等,2023),但其在提高多步骤开放域问题的检索和QA方面的价值仍未得到充分探索。

监督的多步骤开放域QA

先前的工作在完全监督的设置下探索了开放域QA的迭代检索。

  1. Das等(2019)提出了一种迭代检索模型,该模型使用神经查询表示进行检索,然后基于阅读理解模型的输出进行更新。
  2. Feldman和El-Yaniv(2019)将类似的神经查询改写理念应用于多跳开放域QA。
  3. Xiong等(2021)将广泛使用的密集段落检索(DPR)(Karpukhin等,2020)扩展到多跳设置,自那以后Khattab等(2021)进行了改进。
  4. Asai等(2020)利用维基百科段落中存在的实体链接所诱导的图结构来执行迭代多步骤检索。GoldEn(Gold Entity)检索器(Qi等,2019)迭代生成基于段落的文本查询,但需要训练数据来生成下一个查询。
  5. Nakano等(2021)使用GPT-3通过与浏览器交互来回答长篇问题,但依赖于这些交互的人工注释。

所有这些方法都依赖于在大规模数据集上的监督训练,无法轻易扩展到少样本设置。

主要内容

我们的目标是在少样本设置下,使用包含大量文档的知识源来回答一个知识密集的多步骤推理问题Q。为此,我们遵循检索和阅读范式(Zhu等,2021),其中检索器首先从知识源中检索文档,QA模型阅读检索到的文档和问题以生成最终答案。我们的贡献主要在于检索步骤,我们使用标准的提示策略进行阅读步骤。

链式思维推理与检索的交替使用(Interleaving Retrieval with Chain-of-Thought Reasoning)

IRCoT步骤如下图所示:

  1. 一个基础检索器,可以接受查询并返回知识源或知识库中的一定数量的段落;
  2. 具有零/少样本链式思维生成能力的语言模型;
  3. 一小部分带有推理步骤的注释问题,解释如何在自然语言中得出答案(链式思维)以及一组段落,这些段落共同支持推理链和答案。

在这里插入图片描述

我们首先通过使用问题Q作为查询检索K个段落来收集基础段落集。然后,我们交替进行两个步骤(推理和检索),直到满足终止条件。(很像RNN循环神经网络下一个输入依赖于前一个输出的情况)

检索指导的推理步骤(“推理”)使用问题、到目前为止收集的段落和到目前为止生成的链式思维句子来生成下一个链式思维句子。任务的提示模板如下所示:

在这里插入图片描述

对于上面的测试实例,我们只显示模型到目前为止生成的链式思维句子,并让它完成其余部分。尽管模型可能会输出多个句子,但对于每个推理步骤,我们只取第一个生成的句子,其余的丢弃。

问题回答阅读器(Question Answering Reader)

QA阅读器使用检索到的段落和问题回答问题。我们考虑两种版本的QA阅读器,分别通过两种提示策略实现:链式思维提示(CoT Prompting)和直接提示(Direct Prompting)。对于链式思维提示,我们使用与§3.2中相同的模板,但在测试时,我们要求模型从头生成完整的链式思维。链式思维的最后一句预期为“答案是:…”,以便程序提取答案。如果不是这种形式,完整的生成内容将作为答案返回。对于直接提示,我们使用与链式思维提示相同的模板,但答案字段(“A: ”)仅包含最终答案,而不是链式思维。详见附录G。

实验

数据集

我们在四个多步骤QA数据集的开放域设置下评估了我们的方法:HotpotQA(Yang等,2018)、2WikiMultihopQA(Ho等,2020)、MuSiQue(Trivedi等,2022)和IIRC(Ferguson等,2020)。对于HotpotQA,我们使用其开放域设置随附的维基百科语料库。对于其他三个数据集,我们使用相关上下文构建了一个开放域设置的语料库(详见附录A)。对于每个数据集,我们从原始开发集随机抽取100个问题用于调整超参数,并从测试集中随机抽取500个其他问题作为我们的测试集。

实验结果

一步检索器(OneR)与 IRCoT检索器

  1. 一步检索器(OneR)使用问题作为查询检索K个段落。我们选择在开发集上表现最好的K ∈ {5, 7, 9, 11, 13, 15}。

  2. IRCoT检索器是我们在§3中描述的方法。我们使用BM25作为其底层检索器,并实验使用OpenAI GPT-3(code-davinci-002)(Brown等,2020;Ouyang等,2022;Chen等,2021)和不同规模的Flan-T5(Chung等,2022)作为其链式思维生成器。

在这里插入图片描述

上图比较了由Flan-T5-XXL和GPT-3 LM构建的OneR和IRCoT检索器。对于两种模型,IRCoT在所有数据集上显著优于一步检索。对于Flan-T5-XXL,IRCoT在HotpotQA上的召回率相对一步检索提高了7.9,在2WikiMultihopQA上提高了14.3,在MuSiQue上提高了3.5,在IIRC上提高了10.2点。对于GPT-3,这一提高分别为11.3、22.6、12.5和21.2点。

开放域QA(ODQA)模型

将检索器和阅读器结合在一起,我们实验了由不同语言模型构建的ODQA模型,分别称为OneR QA和IRCoT QA。对于IRCoT QA,链式思维生成器和阅读器使用相同的LM。我们还实验了无检索器的QA阅读器NoR QA,以评估LM仅从其参数知识中回答问题的能力。

在这里插入图片描述

上图比较了使用NoR、OneR和IRCoT检索器构建的ODQA模型在Flan-T5-XXL和GPT-3 LM上的表现。

  • 对于Flan-T5-XXL,IRCoT QA在HotpotQA上的F1得分比OneR QA提高了9.4,在2WikiMultihopQA上提高了15.3,在MuSiQue上提高了5.0,在IIRC上提高了2.5点。
  • 对于GPT-3,相应的提高(除了IIRC)分别为7.1、13.2和7.1点。对于GPT-3,尽管IRCoT显著改进了检索(如图3所示,提高了21点),但在IIRC上的QA得分没有提高。这可能是因为IIRC的相关知识可能已经存在于GPT-3中,如其NoR QA得分所示。
  • 对于其他数据集和模型组合,NoR QA明显低于IRCoT QA,表明模型的参数知识有其局限性。

IRCoT在OOD设置中同样有效

由于CoT并不总是容易为新数据集编写,我们在泛化到新数据集(即OOD设置)时评估了NoR、OneR和IRCoT。为此,我们使用一个数据集的提示演示来评估另一个数据集。对于所有数据集对和Flan-T5-XXL及GPT-3,我们发现与IID设置中相同的趋势:IRCoT检索优于OneR(图5),IRCoT QA优于OneR QA和NoR QA(图6)。

在这里插入图片描述

IRCoT生成的CoT包含较少的事实错误

为了评估我们的方法是否也提高了生成的CoT的事实性,我们手动标注了NoR QA、OneR QA和IRCoT QA使用GPT-3为四个数据集中的每个数据集随机抽取的40个问题生成的CoT。我们认为,如果至少有一个事实不真实,则CoT有事实错误。如图7所示,NoR的事实错误最多,OneR较少,而IRCoT最少。特别是,IRCoT在HotpotQA上比OneR减少了50%的事实错误,在2WikiMultihopQA上减少了40%。

在这里插入图片描述

上表说明了不同方法的CoT预测在质上的变化。由于NoR完全依赖于参数知识,它通常在第一句话就出现事实错误,导致整个CoT偏离轨道。OneR可以检索到最接近问题的相关信息,并且不太可能在早期出现这样的错误,但它仍会在CoT的后期出现错误。另一方面,IRCoT由于在每一步后都进行检索,通常可以防止每一步中的此类错误。

IRCoT对更小的模型也有效

为了了解IRCoT在不同LM规模下的有效性,我们展示了图8中的扩展图。我们比较了使用Flan-T5 {base(0.2B)、large(0.7B)、XL(3B)、XXL(11B)}和GPT-3 code-davinci-002(175B)进行的OneR和IRCoT检索的召回率。即使使用最小的模型(0.2B),IRCoT也优于OneR,并且性能随着模型规模的增大而改善。这表明即使是小模型的链式思维生成能力也可以用来改进检索。

此外,我们展示了图9中的QA得分随模型规模的变化。对于除了最小的模型(0.2B)之外的所有规模,我们发现IRCoT QA优于OneR QA。此外,IRCoT与3B模型甚至在所有数据集中优于OneR和NoR与58倍更大的175B GPT-3模型。

在这里插入图片描述

直接提示(Direct Prompting)与链式思维提示(CoT Prompting)

  • 直接提示(Direct Prompting)

在直接提示下,模型被要求直接生成最终答案,而不需要展示中间的推理过程。这样提示的模板通常较为简洁,仅包括问题和最终的答案部分。这种方法依赖于模型在其参数中内置的知识,直接生成答案。

  • 链式思维提示(CoT Prompting)

在链式思维提示下,模型被引导一步步地进行推理,逐步生成解决问题的步骤,直到得出最终答案。这种方法通过详细的推理过程来提高答案的准确性和透明度。它通常在模板中展示问题、逐步推理的过程以及最终的答案。

下表比较了Flan-T5-XXL和GPT-3在直接提示(Direct Prompting)与链式思维提示(CoT Prompting)下作为阅读器的效果。我们发现,对于Flan-T5-XXL,直接提示(Direct Prompting)效果更好,而对于GPT-3,链式思维提示(CoT Prompting)效果更好。因此,在主论文的实验中,我们选择了这种配置。需要注意的是,§ 5中讨论的趋势(IRCoT QA > OneR QA > ZeroR QA)在任何阅读器选择下都成立。

在这里插入图片描述

结论

链式思维提示显著提高了LLMs进行多步骤推理的能力。我们利用这种能力来改进检索,进而改进复杂知识密集型开放域任务在少样本设置下的QA性能。我们认为基于问题的一步检索对于这些任务是不足的,并介绍了IRCoT,它使用交替的链式思维推理和检索步骤来逐步相互指导。在四个数据集上,IRCoT在与一步检索相比显著提高了检索和QA性能,无论是大规模还是相对较小规模的LM。此外,IRCoT生成的链式思维包含较少的事实错误。

局限性

IRCoT依赖于基础LM具备零或少样本的链式思维生成能力。虽然这种能力在大规模LM(超过100B)中常见,但在小规模LM(少于20B)中并不常见,这在一定程度上限制了IRCoT的适用性。然而,随着最近对这一领域的兴趣激增(Tay等,2023;Magister等,2022;Ho等,2022),小规模LM将可能越来越具备这种能力,使IRCoT兼容更多的LM。

IRCoT还依赖于基础LM支持长输入,因为多个检索到的段落需要适应LM的输入,此外还需要一些QA或CoT的示例。我们使用的模型支持这一点,如code-davinci-002(GPT-3)允许8K个标记,Flan-T5-*使用相对位置嵌入,使其在GPU内存限制允许的情况下可扩展。未来工作可以探索重新排序和选择检索到的段落,而不是将所有段落传递给LM,以缓解LM对长输入的需求。

IRCoT检索器和QA的性能提升(相对于OneR和ZeroR基线)伴随着额外的计算成本。这是因为IRCoT为每个链式思维句子单独调用一个(L)LM。未来的工作可以关注,例如动态决定何时检索更多信息以及何时使用当前信息进行额外推理。

最后,我们的一部分实验是使用OpenAI的code-davinci-002商业LLM API进行的。在提交后,OpenAI不再支持此模型,尽管我们尽了最大努力,但仍使得这些实验的再现具有挑战性。我们认为,本文讨论的趋势(IRCoT > OneR > NoR)仍然成立。此外,我们使用Flan-T5-*进行的所有实验表现出与GPT-3类似的趋势,将继续可重复性,感谢其公开的模型权重。

一些补充

我们为HotpotQA、2WikiMultihopQA、MuSiQue和IIRC手动编写的链式思维注释分别在Listing 1、2、3和4中给出。我们用于GPT-3链式思维提示(CoT Prompting)的提示与这些相同,只是在问题的顶部添加了维基百科段落,如§3.1所示。我们用于GPT-3直接提示(Direct Prompting)的提示与CoT提示相同,只是在"A:"之后直接给出答案。我们用于Flan-T5-*的提示与GPT-3略有不同。对于链式思维提示,我们在问题行前添加了前缀:“Q: 通过逐步推理回答以下问题。<实际问题>”。对于直接提示,我们在问题行前添加了前缀:“Q: 回答以下问题。<实际问题>”。我们这样做是为了遵循Flan-T5-*的训练格式,发现这样有助于其生成链式思维。

在这里插入图片描述

在这里插入图片描述

参考文献

  1. Wei, J. et al., “Chain of Thought Prompting Elicits Reasoning in Large Language Models,” arXiv preprint arXiv:2201.11903, 2022.
  2. Kojima, T. et al., “Large Language Models are Zero-Shot Reasoners,” arXiv preprint arXiv:2205.11916, 2022.
  3. Brown, T. et al., “Language models are few-shot learners,” Advances in Neural Information Processing Systems, 2020.
  4. Guu, K. et al., “Retrieval augmented language model pre-training,” Proceedings of the 37th International Conference on Machine Learning, PMLR, 2020.
  5. Lazaridou, A. et al., “Internet-augmented language models,” arXiv preprint arXiv:2209.07858, 2022.
  6. Yao, S. et al., “ReAct: Synergizing reasoning and acting in language models,” arXiv preprint arXiv:2210.03629, 2022.
  7. Sun, T. et al., “Recite and verify: Answering questions with knowledge from large-scale retrieval and language models,” arXiv preprint arXiv:2209.11710, 2022.
  8. Press, O. et al., “Measuring and narrowing the compositionality gap in language models,” arXiv preprint arXiv:2210.03350, 2022.
  9. Khot, T. et al., “Decomposed prompt-based reasoning for multi-hop question answering,” arXiv preprint arXiv:2212.06094, 2023.
  10. Chen, M. et al., “Evaluating large language models trained on code,” arXiv preprint arXiv:2107.03374, 2021.

这些文献不仅涵盖了IRCoT方法的重要研究,还包括了关于链式思维提示(CoT Prompting)的关键研究,提供了对多步骤推理和大规模语言模型的全面理解。