摘要
大型语言模型的最新进展已经展示了它们在各个领域的卓越泛化性。然而,他们的推理能力仍有很大的提高空间,特别是在面对需要多步骤推理的场景时。虽然大型语言模型拥有广泛的知识,但它们的推理往往不能有效地利用这些知识来建立连贯的思维范式。这些模型有时表现出幻觉,因为它们的推理过程不受逻辑原则的约束。为了提高大型语言模型的零枪思维链推理能力,我们提出了LoT (Logical Thoughts),这是一个自我完善的提示框架,利用植根于符号逻辑的原则,特别是还原法,系统地验证和逐步纠正推理过程。对不同领域的语言任务进行的实验评估,包括算术、常识、符号、因果推理和社会问题,证明了通过逻辑增强推理的功效。LoT的实现代码可以访问:https://github.com/xf-zhao/LoT
关键词:大型语言模型,思维链,提示,推理,还原法
1 引言
大型语言模型(LLMs)因其处理需要常识或特定领域知识任务的卓越能力,几乎显得无所不知。它们在众多领域取得了成功,这些领域远远超出了语言处理的范畴(Bubeck等人,2023年;Yao等人,2023b年;Ahn等人,2022年;Zhao等人,2023年)。然而,生成式LLMs中存在的一个主要问题尚未解决,即它们倾向于以自信的风格虚构错误的陈述(Bang等人,2023年)。一个快速的例子是询问一个非基于互联网的LLM关于最近的新闻——它会毫不犹豫地轻易编造事实。
一个受过教育且擅长逻辑推理的人类可以系统地检查词语,然后得出结论。与人类的逻辑推理不同,LLMs的逻辑推论无能使其决定不可靠。LLMs可能有大量可用的逻辑概念和技巧,但未能以有组织的方式积极利用它们。然而,人类良好适应的逻辑原则可以利用语言模型的推理能力。以一个简单的逻辑推理任务为例:“如果汤姆在外面踢足球,那么约翰也会加入踢球;如果约翰踢足球,那么玛丽不会出去。已知玛丽在外面,汤姆在踢足球吗?”ChatGPT1的十个答案中有九个会得出结论:“我们不能确定汤姆是否在踢足球。”然而,借助逆否命题与原命题具有相同真值的知识,我们可以提示ChatGPT“使用逆否命题”以另一种方式推理。然后它正确地推断出:“……使用第一条陈述的逆否命题,如果约翰不加入踢球(我们已推断出),那么这意味着汤姆没有在外面踢足球。因此,根据给定的信息和逆否命题,可以推断出汤姆没有在踢足球。”尽管逻辑概念对LLM来说并不新奇,但模型最初仍难以将它们融入其中。参见附录A中的图3以获取完整的对话。
通过提示LLM利用逻辑等价,即在逻辑上等价但用自然语言表达不同,原始的前提可以用不同的方式表示,有效地促进潜在解决方案的探索。受到逻辑推理过程的启发,我们提出了LoT(逻辑思维)提示框架,这是一个完全自动化的推理范式,用于进一步自我提高LLMs的零样本推理能力,这不仅让LLM一步一步地思考,而且根据归谬法原理的指导,一步一步地验证,并在必要时修正推理链,以确保可靠的推理(见图1概述)。
图1:CoT(思维链提示,Wei et al, 2022)和LoT (our)的概述。在CoT中,蕴涵()的失败使得演绎的其余部分不可信(),阻碍了演绎的整体成功。而LoT则采用“思考-验证-修改”的方式,采用验证通过的(),对未通过的()进行修正,从而有效地提高了整体推理能力。
2 相关工作
为了释放预训练生成语言模型的力量,交互提示的质量起着重要作用。
2.1 思维链提示
先前的研究表明,大语言模型有能力解决复杂的任务,但需要适当的策略来释放这种能力,例如,人在环校准调谐(Ouyang等人,2022)和思维链提示(CoT) (Wei等人,2022)。为了生成将原始问题分解为语言模型可以轻松处理的几个小部分的思维链,CoT创建了一些详细推理路径的示例,以供模型遵循。Least-to-most (Zhou et al ., 2023)明确提示LLM将复杂问题划分为子问题,逐个解决。此外,zero-shot-CoT (Kojima et al ., 2022)展示了简单地附加句子“Let 's think step by step”的令人印象深刻的效果。在任何推理线索开始之前。
我们在零样本设置下构建我们的方法,并将零样本- cot作为基线进行比较。虽然现有的基于cot的方法侧重于鼓励推理步骤具体化,但缺乏对其可信度的监督,但我们提出了一种逐步验证机制。
2.2 变分提示
作为一种自回归模型,LLM的输出会受到其输入的影响。因此,人们对提示语变化进行了大量的研究。
总结现有的工作,推理过程受益于提示(1)与推理任务相关,(2)表达多样,(3)导致复杂任务的分解,(4)建议以已知事实为基础,(5)导致推理步骤的逐步修订。在LoT提示的设计中,我们有选择地采用这些有效的提示属性。
相关性。大语言模型很容易被提示中不相关的单词分散注意力。预先选择上下文可以增强推理的正确性(Creswell等人,2023;克雷斯韦尔和沙纳汉,2022;Ling et al ., 2023)。以前的作品通常采用语言模型来评估事实的相关性,并根据有助于推理步骤的事实进行推断(Creswell等人,2023;Ling et al ., 2023)。我们对每个推理步骤的验证是通过提示语言模型选择相关的前提来推导的。
多样性。来自一组推理路径(通常是采样N次)的集体智能有助于在这些变体中产生几乎一致的可靠答案。尽管成本增加了n倍,但这种集成方法已与其他技术广泛结合以获得更高的精度(Li et al, 2023b;Ling等,2023;姚等人,2023a;郑等,2023)。单一的推理轨迹可能存在偏差。为了产生一组推理候选者,以前的工作采用使用相同的提示多次生成样本(Wang et al ., 2023),或者在开始为变体创建不同的提示(Li et al ., 2023b)。然而,基于集成的方法既昂贵又低效。多数投票策略的表现是有限的,因为它不是一个有指导意义的、深入思考的策略。
分解。难问题的自动分解提高了推理的可靠性,least - to- most (Zhou et al ., 2023)、Zero-shot-CoT (Kojima et al ., 2022)和许多提示技术(Yao et al ., 2023a;小岛等人,2022;Wei et al, 2022)。
接地。外部功能,例如,用于数学问题的第三方计算器(Schick等人,2023),从维基百科获取信息(Yao等人,2023b),或机器人中的功能评估(Ahn等人,2022),可以使生成具有意义。这种验证可以在特定条件下触发,也可以应用于推理过程(Lightman et al, 2024;Ling等,2023;Li et al ., 2023b)。LoT主要受到逻辑立场的启发,以逻辑原则为基础的LLM世代,使LLM能够争论不同的可能性。它提出了验证的建议,并对可疑的推理步骤进行了修订。
修订。修订(或细化)可以看作是一种特殊的多样性,但它是以前一代作为提示为条件的。它重新检查单词,重点关注它们的质量,例如有效性和简洁性(Madaan等人,2023;郑等,2023;Welleck等人,2023)。这是一个以以前的内容为条件的迭代生成过程。许多以前的作品实际上受益于这种方式,虽然没有明确提及。例如,ProgressiveHint prompts (Zheng et al ., 2023)通过使用累积的可能答案提示逐步引导LLM生成一致的答案。它重复生成,直到认为答案与前一个一致。其他作品生成的内容不仅以先前的内容为条件,还以额外的反馈为条件(Madaan et al, 2023)。为了获得高质量的修订,这个指导性反馈应该是具体的和可操作的。LoT避免了在无争议的推理步骤上不必要的重复,只修改被认为不可信的步骤,从而形成了一条只在需要时才增长的链(图1蓝色圆圈)。此外,我们采用事后解释(Jung et al ., 2022)为有目的的修订提供建设性建议。
2.3 Neurosymbolic模型
神经符号模型将神经网络与符号表示和推理技术相结合。他们的成功源于他们利用符号(结构化)知识来增强学习或推理的能力(Sarker等人,2021;d 'Avila Garcez and Lamb, 2020;Nye et al, 2021)。
与端到端黑盒框架不同,这些神经符号模型由于其透明度更易于解释和解释。
已有作品采用符号逻辑的概念(Agler, 2012)来建立可靠的推理路径(Creswell et al, 2023;Jung et al ., 2022)。
为了解决二元问答问题,Jung等人(2022)提出为语句生成事后解释图,并计算其相对关系,从而形成符号逻辑表达式。通过求解这个符号表达式的可满足性问题来确定命题的真值。LoT框架采用受控提示策略,该策略利用逻辑规则和事后参数来增强错误检测。
3 方法
正如引言中提出的对位示例所示,当使用已知的逻辑规则来实现逻辑等效时,所产生的独特自然语言表达为大语言模型提供了从另一个角度进行推理的机会。
一个挑战是语言模型必须首先识别固有的逻辑结构,才能知道某些先验知识是否可以有效地应用。此外,将现实世界的一切转化为象征性的表达是不现实的。适用的场景是有限的,因为在逻辑之外的许多推理领域的问题,例如数学问题的解决,很难用符号逻辑来表达。然而,整合有助于论证过程的逻辑概念以构建神经符号框架是有希望的(d 'Avila Garcez and Lamb, 2020;Creswell等人,2023),促进因果推理的痕迹,即前提和主导思想需要背后的思想。延续zeroshot-CoT中“让模型说话”的成功,例如“让我们一步一步地思考”(Kojima et al ., 2022),我们进一步提出用逻辑来引导对话,以探索解决方案。导图如图2所示。
图2:展示LoT的思考-验证-修订循环的图表。两个放大框分别显示了当一个想法通过验证(左上)和验证失败(底部)时的过程。通过验证的思想被保留在推理跟踪中,而未通过验证的思想被修改,并在修改的基础上生成新的思想链。图中的符号将在3.2节和3.3节中介绍。另见附录D中的图4,详细说明。
3.1. 归谬法
自检对于LLMs来说是一项挑战性的任务(Ling等人,2023年;Huang等人,2024年),人类在这项任务上也可能感到困难。在逻辑学中,确立一个主张的有效技术被称为归谬法,它涉及一个初始假设以及随后推导出的荒谬或矛盾。设P和Q表示两个命题。前提P与其结论Q之间的关系可以表示为P ⊢ Q。这里的“⊢”是一个语法turnstile,意味着Q是P的语法结果(Agler, 2012年),即存在一个证明,它声称在给定前提P的情况下得出结论Q。为了使用归谬法证明Q,让我们假设它的否定¬Q是有效的,然后检查合取命题的矛盾。
其中“∧”是一个二元合取运算符,意味着合取的真实性需要两边都为真。在P和¬Q共存的矛盾之上,P ⊢ Q因此被证明为真,然后我们可以声称在给定前提P的情况下结论Q的有效性。
许多逻辑原则,例如引言部分提到的逆否命题(详见附录B的证明),可以通过遵循这一规则的推导得出。这种思维范式帮助人类在得出结论之前仔细检查论点。正如我们稍后将要展示的,LLMs的推理能力也可以通过受益于这种范式而得到提高。
3.2 LoT 提示
有证据表明,一系列连贯的解释可以帮助LLM释放其推理能力(Wei等人,2022年;Kojima等人,2022年;Zhou等人,2023年),而对其发言的挫败感,例如,“只告诉我结果,不需要任何解释”的提示,会负面影响LM的推理能力。因此,我们详细阐述了明确推理过程的成功。
一个典型的N步推理轨迹可以表示为{P, , · · · , },其中P是已知的前提,是来源于普通CoT输出的第i步思考。通常,总结了思考并回答了指定的问题。
不幸的是,LLMs会产生幻觉。LLMs通常以自回归方式生成内容,这意味着的生成基于前面的内容{P, · · · , }。中的错误会传播并逐渐影响i′ > i的Ti′,使得后续的推论以及最终的结论变得不可靠(参见图1)。因此,我们提出了一个验证循环来重新检查每一步推理。根据等式1,这个双重检查程序通过检查P, · · · , ⊢ 的有效性来展开,即检查的矛盾。
一旦通过了验证,如果任何步骤Ti未能通过验证,这意味着前提和之前验证过的思考并不蕴含。在这种情况下,需要修改T≥i。
为了通过LLM否定,一个直接的方法是将¬格式化为“说是错误的”,或者给LLM一个“否定”的指令。然后,LLM需要进一步识别Ci(等式2)中可能的矛盾。
Cmps-LoT。鉴于是用自然语言表达的,并且可能包含多个句子,我们希望通过采用链式思考方法来推导出一个更有洞察力的否定。在这里,我们让模型编写一个事后的解释E¬i,关于¬(Jung等人,2022年),然后提示LLM检查C′i = Ci ∧ E¬i的有效性。我们称这个简单的方法为Cmps-LoT。
Adpt-LoT。考虑到LLM生成的文本中的逻辑错误很难被LLM自身发现(Huang等人,2024年),我们另外提出通过生成Ti和¬Ti的事后解释Ei和E¬i的一对,让LLM在Ti ∧Ei和¬Ti ∧E¬i之间做出决定并采纳其中之一,以此来减轻验证Ti的难度。我们称这个完整的方法为Adpt-LoT或简称为LoT。
LLM通常会受到提示的影响,因此生成与提示一致的解释。由于这种“强制性”行为,一旦在引导性提示中认为某个陈述是错误的,LLM就会努力发现错误,即使它们不那么明显。LoT从这种强制性的错误检测行为中获益。
此外,当从Cmps-变体过渡到Adpt-变体时,问题转变为了一个偏好区分任务(Saunders等人,2022年),它对T和¬T进行了更平衡的审查,并且更容易管理。
3.3 链增长
为了调查步骤,LoT放弃了所有后续的思考T>i,并在条件{T≤i, E¬i}下分支出来进行修订T'i。由于精确的反馈对修订的成功至关重要(Madaan等人,2023年),我们还鼓励LLM在建议推理“为什么它是错误的”,即E¬i的情况下,修订任何不适当的思考。然后,可以根据到目前为止已验证的思考的串联,即{T<i, T'i},重新生成带有新结论的适应链。这个循环继续进行,直到最终结论通过验证,结果是所有节点都被验证的链(参见图2的抽象描述和图4的详细示例)。请注意,这个链只有在需要时才会增长。
算法1显示了计算(Adpt-)LoT推理轨迹的函数的伪代码。Cmps-LoT的伪代码可以在附录C的算法3中找到,其中强调了识别矛盾的独特程序。
4 实验
由于以下原因,我们在零样本设置下进行实验:1)零样本- cot (Kojima et al ., 2022)具有广泛的任务不可知应用潜力,而少数样本需要领域知识;2)即使在相同的数据集上,几次提示也会严重影响性能,因此随着提示的变化,很难公平地评估。
由于任务设置和后端语言模型的差异,与文献中的其他提示作品进行直接比较是具有挑战性的。这些作品中的许多都是在少样本设置下进行的,这就需要进行额外的修改以适应零样本推理。我们认为这是未来研究的一个领域。
由于我们的工作是对zero-shot- cot产生的链的增强(Kojima等人,2022),我们将LoT与它作为基线进行比较,以证明逐步验证和修订零样本推理的好处。我们评估了各个领域任务的准确性作为整体性能衡量标准,并报告了逻辑修正对原始推理链的影响。
我们的目的是通过实验来回答以下研究问题:
1、LoT是否在不同领域以及不同模型尺度的大语言模型中增强了CoT的性能?(第4.2节)
2、LoT对个别推理链的影响(例如修订频率、长度)是什么?(第4.3节)
3、事后解释有助于大语言模型自我检查吗?(第4.4节)
4.1 实验设置
数据集。我们证明了LoT在不同语言主题上的有效性:(1)数学推理任务GSM8K Cobbe等(2021)和AQuA Ling et al .(2017)。GSM8K数据集包含应该用数字答案回答的小学数学问题;AQuA有更高级的问题,但有几个可选的答案可供选择。(2)常识推理任务DateUnderstanding和OddOneOut Srivastava等人(2023)。DateUnderstanding任务需要利用常识和基本的算术计算来找出正确的日期,这使得它具有足够的挑战性,不能通过简单的一步推理来解决。OddOneOut需要常识来推断上下文中的不寻常对象。(3)因果推理任务CauseEffect和ShuffledObjects (Srivastava等人,2023),这两个任务都需要从上下文进行推理以进行正确的演绎。(4)符号推理任务LastLetter (Srivastava等,2023)。在这个任务中,语言模型必须提取给定候选词的最后一个字母,并按顺序将它们连接起来,这对人类来说很简单,但由于标记化,这对语言模型来说很有挑战性(Mielke et al, 2021)。(5)社会互动推理任务,SocialQA (Srivastava et al, 2023),用于测量模型在人类日常活动中的情绪和社会智力。完成这项任务需要理解人类的行为。
为了得到一个格式化的答案,可以直接与上述数据集中的基础真理进行比较,在推理跟踪之后附加一个询问最终答案的最终提示,例如,对于GSM8K数据集,我们只需在末尾附加“因此,最终的数字答案是:”。为了鲁棒性,此答案与正则表达式匹配,以便在与基本事实进行比较之前仅提取数字。
后端LLMs。先前的工作表明,当CoT技术应用于不同能力的语言模型时,其性能提升程度会有所不同(Wei等人,2022年;Kojima等人,2022年)。因此,我们使用一系列模型对LoT方法进行了评估,包括Vicuna-7b、Vicuna-13b和Vicuna-33b模型(Chiang等人,2023年),以及GPT-3.5-turbo和GPT-4。Vicuna模型是一个开源的语言模型,通过在用户共享的对话上微调LLaMA(Touvron等人,2023年)来训练。它在各种场景下表现出色,并且在模型大小选择上提供了灵活性。另一方面,GPT-3.5-turbo和GPT-4是更大的模型,因在众多任务中的最先进性能而闻名。
为了确保稳定的结果并促进模型内的自我错误检测,我们将温度参数设置为0.1。此外,max_token参数被设定为2048,这是一个足够的限制,可以容纳我们评估中使用的所有数据集。
4.2 LoT能提高CoT的性能吗?
为了回答第一个问题,我们对涵盖更多样化主题的数据集和不同大小的语言模型进行了零射击实验。
表1将LoT增强后的性能与零样本基线进行比较。实验表明,LoT可以在不同的领域提高基础CoT的性能。当模型大小相当大(>7B个参数)时,性能优势更加一致。此外,随着模型能力的提高(例如GPT-4),性能增益变得更加突出。
表1:我们评估了我们的方法的准确性,并将它们与使用各种模型和数据集的基线方法进行比较,并基于地面真值注释进行计算。每个细胞组下方显示了使用不同llm进行(✓)LoT增强的CoT (Kojima等人,2022)(绿色表示阳性,红色表示阴性)的百分比差异(Kojima等人,2022)。通过LoT增强后,CoT通常会获得更好的性能。较大的模型,如GPT-4,具有较强的自校正能力。
4.3 对独立推理链的影响是什么?
在本节中,我们报告了更多有见地的案例统计和讨论,包括(1)表2中的平均修订频率;(2)表3所得推理步数;(3)通过案例分析说明逻辑推理过程。更详细的统计数据,包括恶化率(即原本由CoT纠正但经LoT“纠正”为错误的)和改善率(即原本错误但经LoT纠正的),见附录E表5。
表2:平均逐级修订频率以百分比表示,反映了LoT对推理步骤进行修订的频率。
表3:不使用(✓)LoT和使用(✓)LoT的结果推理步骤的平均数量。
修改频率。为了衡量修订的复杂性,我们在表2中列出了每条链的平均修订,在表3中列出了CoT和LoT所需的典型推理步骤。请注意,由于我们的设置是0 -shot,因此步骤的数量不是人为定义或提示的,因此语言模型由自己决定推理链的长度。
修订百分比显示了LoT修订候选推理链的频率。我们观察到,能力强大的语言模型(例如GPT-4和GPT-3.5-turbo)在修订上比小型模型更为活跃;并且挑战性的任务,如数学推理任务,会导致更多的修订。然而,修订并不一定会改变最终的推理答案。例如,使用GPT-3.5-turbo后端的LoT在SocialQA上修订了几次,但达到了与CoT相同的准确率。直观地说,解决一个问题可能会导致多种路径,一些修订可能旨在通过引入额外的已知条件和修辞补充来丰富句子。
结果步骤。平均步数是最终CoT和LoT推理路径中的有效推理步骤(即中间的验证、细化等步骤不显示)。从表3中,我们可以得出以下结论:1)较大的语言模型通常生成更长的链,并且在修订上也更为活跃;2)LoT细化的推理链通常比原始的零样本CoT稍短。我们的猜测是,这种现象可能是因为在细化过程中,语言模型努力融入额外信息,从而产生简洁的推理链。
案例研究。我们在日期理解任务上展示了一个成功的案例,以演示应用于零样本-CoT初始化的思考链的验证和修订过程。(详见附录F中的详细提示和更多案例研究。)
在片段A中,有初始化的零样本-CoT推理步骤,其中步骤#6实际上是错误推断的(用红色标出)。在这里,黑色表示给定的上下文或固定的提示;非黑色表示LLM生成的内容。错误发生是因为零样本-CoT被无关的前提“Jane的约会将在3天后”分散了注意力,并得出错误的答案。
为了验证第6步,如图Snippet B所示,LLM被提示在问题上下文和前五个已验证步骤的基础上生成两个相反的评论6。由于内容限制,我们省略了长提示,并专注于结果生成。请注意,评论Y成功检测到了不明显错误,并提供了一个可以在稍后修订时采用的更正。在Snippet C中,鼓励LLM根据相关前提进行提取和推论。最终,它采纳了评论Y并得出了正确的结论。
4.4 事后解释有助于LLM自我检查吗?
为了检验错误查找能力,表4展示了在三个挑战性任务上使用LoT及其消融变体的结果,其中“Self-Check”是归谬法的消融变体,即LLM仅被提示“双重检查该步骤”,而无需逻辑提示。
使用LoT时,复杂的检验问题被分解为两个步骤:1)事后解释机制,用于严格的错误检测;2)单选偏好,从两个候选中选择更为合理的观点。Adpt-LoT的更好表现表明,当涉及到LLM推理中的错误检测时,对于LLM来说,拥抱两个相反观点中的一个(T, E或¬T, E¬)比直接编写验证(这是“Self-Check”和Cmps-LoT的情况)更有效,尤其是在处理像数学推理这样困难的任务时。
表4:LoT(即Adpt-)及其消融变体的零射击精度结果(以%为单位)。底层LLM是gpt -3.5 turbo。
5. 结论及未来工作
大语言模型在需要常识、专业知识、全面理解等领域具有令人印象深刻的推理能力。
然而,他们的多步推理能力仍有提高的空间。在零样本cot的基础上,我们从符号逻辑的角度推导出LoT提示框架,利用广泛适用的归谬论原则,得到一个具有合理提示属性的健壮的思考-验证-修改框架。在跨越不同领域的各种推理任务上进行的实验表明,使用LoT增强零样本思维链可以提高推理能力,特别是当应用于大规模的LLM时。
未来的工作。虽然我们的研究主要集中在将人类知识整合到CoT提示中,但进一步探索额外的逻辑演绎原则可以增强推理过程。此外,我们证明了通过区分相互冲突的输出来增强复杂推理的鲁棒性的有效性,这表明该方法可以扩展到提示和改进LLM以进行自我完善。这可能需要利用自检输出从AI反馈(RLAIF)中进行强化学习(Li等人,2023a;Lee et al, 2023)。这样的努力显示出了希望,特别是在存在积极的“GD差距”的情况下(Saunders等人,2022),即,有希望通过识别其生成的质量来进一步改进的语言模型,但我们将这一途径的调查推迟到未来的研究工作中。
局限性
提示和微调。LoT建立了一种受控的提示策略来自我纠正。然而,探索未来对LLMs进行微调以实现自发逻辑推理的努力仍然是值得的。
生成概率。除了让LLM从不同的评论中选择,另一种可能的方法是访问和比较生成的概率。遗憾的是,目前还没有公开访问GPT-3.5-turbo的生成概率,尽管这对于完成模型(如text-davinci-003)是可能的。考虑到更便宜的价格和更好的性能,我们使用聊天模型进行了实验,并将这个可能性留给了未来的工作。
零样本、少样本及以后。由于我们的工作旨在尽可能具有普遍性,所有实验都是在零样本设置下进行的。然而,将领域知识融入到示例提示中被证明有利于提高性能(Kojima等人,2022年;Wei等人,2022年),未来在少样本设置下应用LoT的潜力仍然值得探索。