大模型思维链(CoT)全新升级,多链元推理(MCR)显著提升LLM推理能力

2023-06-09 21:26 1095 阅读 ID:1135
将门
将门

最近一段时间我们看到,大型语言模型(LLMs)例如ChatGPT、GPT-4以及谷歌最新提出的PaLM 2都可以完成一些数学计算问题。一般来说,人类在解决复杂的数学问题时需要进行多步的逻辑推理过程,需要先将复杂的问题进行拆分,有时还需要将上一步得到的结论作为假设推出下一步的结果。

目前,研究者们也在LLMs中模仿人类推理过程设计了一种名为思维链(chain-of-thought,CoT)的技术,例如我们向ChatGPT询问一个复杂的数学问题时,模型首先会将问题分解成一系列的推理步骤,通常情况下,模型会在多个链中进行采样,并通过投票机制得到最终答案,但是这些中间过程随后会被丢弃掉。虽然这种思维链方法可以显著的提高LLMs在复杂情况中的推理性能,但是直接丢弃中间过程的做法可能是次优的。

本文介绍一篇来自特拉维夫大学、艾伦人工智能研究所和巴伊兰大学合作完成的工作,该工作在原有思维链的基础上考虑了不同链之间的中间步骤关系,提出了一种多链推理方法(Multi-Chain Reasoning,MCR)。MCR可以使用现有的LLMs同时对多个思维链进行元推理(meta-reason),而不是直接投票聚合它们的答案。此外,MCR可以高效的整合不同思维链中的信息,并从中选取与问题最相关的事实来生成解释和预测答案,作者在7个常见的multi-hop问答数据集上对MCR的多步推理性能进行了评估,MCR目前已达SOTA效果。

论文链接:

https://arxiv.org/abs/2304.13007
代码链接:

https://github.com/oriyor/reasoning-on-cots

一、引言

在思维链(CoT)prompting学习中,需要将一个具体的推理问题进行拆分,并将每步推理的解释信息送入到LLMs中才能使其得到最终的答案。这种CoT方法已经被证明可以解决具有很大推理难度的问题,并且在训练数据量达到一定程度后会促使大模型出现“涌现能力”。此外,刚刚发表在ICLR2023上的一篇论文表明[1],如果能够对多个思维链进行采样,并将它们的结果进行投票可以进一步提高LLMs的推理准确性,作者将这种现象称为自一致性(self-consistency,SC)。虽然SC提高了性能,但这种投票机制也有一定的局限性。首先,在输出空间很大的情况下,每个推理链可能会产生不同的输出,在这种情况下,模型可能无法顺利完成投票。其次,如果只关注最终输出,就会丢弃中间推理步骤中存在的有效信息。

上图中展示了一个推理问题回答示例,问题是“Brad Peyton需要了解地震学吗?” 其中推理链1推理的结果是错误的,但是它的中间步骤却提供了一些有用的信息。例如,“什么是地震学”,并且模型针对这一信息给出了正确的中间回答(图中粉色标注的文字)。但是这一信息在其他两个推理链中是不存在的,因此将三个链的推理结果送入到SC投票模块中得到的最终推理结果是错误的,并且完全丧失了推理结果的可解释性。

为了解决这一问题,本文作者提出了一种多链推理方法(MCR)。MCR首先使用一个LLM来对问题产生多条思维链,但其与SC方法不同,MCR从多个思维链中进行采样可以看做是一种收集多条有用“证据”的手段。上图中也对SC和MCR这两种形式进行了对比,虽然两种方法都依赖于在多个思维链上进行采样,但是SC方法直接对采样结果进行投票(上图右下角的灰色框)。相比之下,MCR将每个链的中间步骤连接起来,形成一个统一的上下文,并将其与原始问题一起传递给元推理模型。元推理模型是另外一个独立的LLM,其会根据信息更为丰富的统一上下文在多个推理链上进行元推理并生成最终答案和解释(上图左下角的粉色框)。基于这种设计,MCR可以有效缓解上文提到的CoT缺陷,整合来自于多个链的事实因素从而产生最终的正确答案,同时保证强可解释性。

二、方法

本文提出的MCR框架主要由三个模块构成:分解模块、检索模块和元推理模块,如下图所示。其中分解模块和检索模块共同对输入的问题生成多个推理链,然后将这些链连接成统一的多链上下文,并将其送入到元推理模型中进行结果推理。

2.1 推理链生成

2.2 在推理链上推理

作者通过实验发现,MCR能够对给定的多个推理链进行信息聚合,从而挖掘出与当前问题最相关的事实依据,并将其作为答案的解释信息,这种方式比之前的其他CoT方法更为准确、且更具可解释性。

三、实验效果

本文的实验部分在7个包含常识、组合、比较和事实验证等广泛推理技能的QA数据集上进行。作者对比了MCR与其他现有CoT方法的推理性能,其中MCR得到的结果是从三次运行中平均得出的。由于本文的研究重点是开放域下的多步推理问题,因此所有数据集都包含需要多次推理才能回答的问题。此外,为了对比公平,作者也限制了大模型API调用的次数,作者从每个数据集中随机选择500-1000个示例进行评估,选取的对比baseline方法为Self-Ask(SA)[2]和Self-Consistency(SC)[1]。

3.1 多步推理性能对比

下表展示了MCR方法与其他baseline方法在7个QA数据集上的性能对比结果,在该实验中,作者在MCR中使用了5个推理链来进行分步推理,并从这5个链中选取最佳答案。可以看到,MCR在所有的数据集上都超过了对比基线SA和SC,效果分别为STRATEGYQA(+1.4%),FERMI(+0.6%),QUARTZ(+4.0%),HOTPOTQA(+5.7%),2WIKIMQA(+2.5%),BAMBOOGLE(+1.5%)和FEVEROUS(+1.5%)

3.2 推理链数量消融实验

通过上文,我们可以看到在SC和MCR中设置多条推理链可以使LLM在推理问题中取得不错的效果。但是这其中需要重点考虑的就是推理链数量的设置,推理链数量太少有可能无法完整的涵盖当前问题所需要的中间证据和结果,相反如果一味地增加推理链的数量,也有可能会增加模型的计算量。因此作者对推理链数量进行了消融实验,如下表所示。

由于在SC和MCR中增加推理链数量会受到LLM上下文长度的限制,因此作者采用了一个简单直接的方法,在三次MCR运行的结果中执行一次投票操作(即执行一次SC操作),然后将SC@15(在SC中设置15个推理链)与使用15条推理链的MCR+SC@3模型进行比较,其中每个MCR运行使用5条推理链。表中结果显示,无论是在推理链数量为5还是15的情况下,MCR方法的推理效果均优于SC方法。

3.3 官方测试集评估

此外,作者还在STRATEGYQA和FERMI提供的官方测试集上对MCR进行了评估,其中分别包括490个和558个样本示例。对比结果如下表所示,可以看到,在使用相同数量的推理链时,本文的MCR始终优于SC,此外,MCR+SC@3的75.3%的准确率在官方STRATEGYQA测试集上创造了新的SOTA。

四、总结

本文深入探索了现有LLMs内部的思维链(CoT)推理机制,通过将问题拆分并执行多步推理,可以帮助大模型更精确地得到推理结果。作者通过观察CoT方法的中间思维链,观察到LLMs生成的中间链中蕴含着对问题解答起到关键作用的证据信息,因此文本基于CoT的中间推理链,提出了一种称为MCR的多链元推理模型,MCR可以在先前CoT方法的基础上,在多个思维链中进行采样,并将每个链的中间步骤连接起来,形成一个统一的上下文,再使用一个元推理模块得到最终答案,通过这种方式,MCR可以高效的整合多个思维链的有用信息,从而提高模型的推理性能,同时思维链也可以作为推理结果的有力证据。本文也提醒我们,深入研究现有大模型的内部机理并进行改进可能会帮助我们激发出大模型的更多潜力。

参考文献

[1] Xuezhi Wang, Jason Wei, Dale Schuurmans, Quoc V Le, Ed H. Chi, Sharan Narang, Aakanksha Chowdhery, and Denny Zhou. 2023. Self-consistency improves chain of thought reasoning in language models. In The Eleventh International Conference on Learning Representations.

[2] Ofir Press, Muru Zhang, Sewon Min, Ludwig Schmidt, Noah A. Smith, and Mike Lewis. 2022. Measuring and narrowing the compositionality gap in language models. ArXiv, abs/2210.03350.

作者:seven_

免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
反馈
to-top--btn