COT三个缺陷:计算错误(7%)、遗漏步骤错误(12%)和语义误解错误(27%)
Plan-and-Solve Prompting:设计一个计划,将整个任务划分为更小的子任务,然后根据计划来划分子任务,优于Zero-Shot-COT的一种prompt
Zero shot prompt:Let’s think step by step
Plan-and-Solve Prompt:Let’s first understand the problem and devise a plan to solve the problem. Then, let’s carry out the plan and solve the problem step by step
当提示中包含更详细的指令来指导llm时,llm能够生成高质量的推理文本
在问题句子中添加特定描述的策略是一种提高复杂推理zero shot性能的新方法
原文链接:2023.acl-long.147.pdf (aclanthology.org)
以下是翻译和个人理解
摘要
大型语言模型(LLM)最近被证明在各种NLP任务中提供了令人印象深刻的性能。为了解决多步骤推理任务,少镜头思维链(CoT)提示包括一些手工制作的逐步推理演示,使LLM能够显式生成推理步骤,并提高其推理任务的准确性。为了消除手动操作,Zero-shot CoT将目标问题状态与“让我们一步一步地思考”连接起来,作为LLM的输入提示。尽管Zero-shotCoT取得了成功,但它仍然存在三个缺陷:计算错误、遗漏步骤错误和语义误解错误。为了弥补遗漏的步骤错误,我们提出了计划和解决(PS)提示。它由两个部分组成:首先,设计一个计划,将整个任务划分为更小的子任务,然后根据计划来划分子任务。为了解决计算错误并提高生成推理步骤的质量,我们将PS提示扩展为更详细的指令,并推导出PS+提示。我们在三个推理问题的十个数据集上评估了我们提出的提示策略。在GPT-3上的实验结果表明,我们提出的零样本提示在所有数据集上的表现都大大优于零热CoT,与思想提示的零热程序相当或超过零热程序,并且在数学推理问题上具有与8次CoT提示相当的表现。代码可在找到https://github.com/AGIEdgerunners/Plan and Solve Promoting。
1 引言
大型语言模型(LLM)(Brown等人,2020年;托皮兰等人,2022年;Chowdhery等人,2022年)最近已证明在各种自然语言处理任务中非常有效。与以前的预先训练的语言模型(PTMs)不同,这些llm通常作为一种服务提供,由于商业考虑和潜在的误用风险,无法访问模型参数(Sun et al.,2022)。因此,对下游任务的llm进行微调具有挑战性(He等人,2021年;Houlsby等人,2019年;Devlin等人,2019年)。相反,我们利用llm来解决复杂的推理问题,通过使用指令(或触发句子)来激发它们对其嵌入的知识的强大推理能力。到目前为止,llm在解决新的推理问题方面表现出了令人印象深刻的能力,通过简单地调整它们到一些说明性的例子(即少射击学习),或者在没有说明性例子的情况下提示解决新问题(即零射击学习)。
为了解决使用LLMs的多步骤复杂推理任务,Wei等人(2022b)提出了少镜头思维链(CoT)提示,使LLMs能够通过一些手动逐步推理演示例子,在预测最终答案之前明确地生成中间推理步骤。在(Kojima et al.,2022)中,零镜头CoT通过附加“让我们一步一步地思考”的目标问题,消除了在提示中手工制作示例的需要。令人惊讶的是,这个简单的提示策略使llm能够产生类似于少镜头CoT提示的性能。
尽管Zero-shotCoT在解决多步推理任务方面取得了显著的成功,但它在100个算术测试样本上的结果仍然指向三个缺陷(如图1所示):(i)计算错误(7%):这些计算错误导致错误答案;(ii)缺少步骤错误(12%):当遗漏一些中间推理步骤时,特别是当涉及很多步骤时;(iii)语义误解(占27%的测试示例):在对问题的语义理解和推理步骤的一致性等方面存在其他错误,这可能是由于llm的能力不足造成的。
为了解决由于缺少推理步骤而引起的零射击问题,我们提出了计划和解(PS)提示。它由两个组成部分组成:首先,设计一个计划,将整个任务划分为更小的子任务,然后根据计划执行子任务。在我们的实验中,我们简单地将零的“让我们一步一步思考”替换为“让我们首先理解问题并设计一个解决问题的计划”。然后,让我们来实施计划,并逐步解决问题”(见图2 (b))。
为了解决零喷射钴的计算误差,提高生成的推理步骤的质量,我们在PS提示中添加了更详细的说明。具体地说,我们用“提取相关变量及其相应的数字”和“计算中间结果(注意计算和常识)”的说明来扩展它。这种提示变体被称为PS+提示策略(参见图3 (b))。尽管PS+策略很简单,但它极大地提高了生成的推理过程的质量。此外,这种提示策略可以很容易地定制,以解决除数学推理以外的各种问题,如常识推理和符号推理问题。
我们评估六个数学推理数据集,包括AQuA(凌等,2017)、GSM8K(科比等,2021)、多元、加法、单格和SVAMP(帕特尔等,2021)、两个常识推理数据集(通用QA(Talmor等,2019)和战略QA(Geva等,2021))和两个符号推理数据集(最后一个字母和硬币翻转(Wei等,2022b))。我们用GPT-3进行的实验结果表明,我们提出的零-ps+提示在所有推理问题和数据集上始终优于零-cot,并且与或超过零-思维程序(PoT)提示相当(Chen et al.,2022))。此外,尽管PS+提示不需要手动演示示例,但它的性能类似于算术推理中的8次CoT提示
总的来说,我们的结果表明,(a)零镜头PS提示能够产生比零镜头提示更高质量的推理过程,因为PS提示提供了更详细的指令指导llm执行正确的推理任务;(b)零镜头PS+提示优于少镜头手动提示,这表明在某些情况下,它有潜力优于手动少镜头提示,这将激发新的镜头提示方法,以诱导llm推理。
2 Plan-and-Solve Prompting
概述。我们引入了PS提示,一种新的零射击CoT提示方法,它使llm能够明确地设计一个解决给定问题的计划,并在预测输入问题的最终答案之前生成中间推理过程。与之前提示中包含的少镜头CoT方法不同,零镜头PS提示方法不需要演示示例,它的提示涵盖了问题本身和一个简单的触发句。与零镜头类似,零射击PS提示包括两个步骤。在步骤1中,提示符首先使用建议的提示模板进行推理,以生成推理过程和问题的答案。在步骤2中,它通过使用答案提取提示来提取要进行评估的答案,例如“因此,答案(阿拉伯语数字)是”。
2.1 步骤1:提示推理生成
为了解决输入问题,同时避免由错误的计算和缺少推理步骤而导致的错误,这一步的目的是构建满足以下两个标准的模板:
•模板应该引出llm来确定子任务并完成子任务。
•模板应该指导llm更多地关注计算和中间结果,并确保它们尽可能正确地执行它们。
为了满足第一个标准,我们遵循Zero-shotCoT,首先将输入数据示例转换为一个具有简单模板“Q:[X]”的提示符。 A: [T]".具体来说,输入槽[X]包含输入问题语句,并在输入槽[T]中指定了一个手工制作的指令来触发llm来生成一个推理过程,其中包括一个计划和完成计划的步骤。在零镜头-cot中,输入槽中的指令包括触发指令“让我们一步一步地思考”。我们的零镜头PS提示方法反而包括了“设计计划”和“执行计划”的指令,如图2(b).所示因此,提示符将是“Q:[X]”。 A: 让我们先了解这个问题,并设计一个计划来解决这个问题。然后,让我们来实施计划,逐步解决问题。”
然后,我们将上述提示符传递给LLM,LLM随后输出一个推理过程。根据零射击cot,我们的方法默认使用贪婪解码策略(1输出链)来生成输出。
为了满足第二个标准,我们对基于平面的触发句,扩展了更详细的指令。具体来说,在触发语句中添加了“注意计算”,以要求llm尽可能准确地执行计算。为了减少由于缺少必要的推理步骤而导致的错误,我们包括“提取相关变量及其相应的数字”来明确地指示llm不要忽略输入问题语句中的相关信息。我们假设,如果llm遗漏了相关的和重要的变量,那么它就更有可能错过相关的推理步骤。对生成的变量内容和缺失的推理步长误差的相关性分析,如图5所示,实证支持了这一假设(相关性值小于0)。
此外,我们还在提示符中添加了“计算中间结果”,以增强LLM生成相关和重要的推理步骤的能力。具体的例子如图3(b).所示在步骤1的最后,LLM生成包含答案的推理文本。例如,图3(b)中生成的推理文本包括“Grace和Alex = 125 + 498 = 623磅的组合重量”。在触发器句子中添加特定描述的策略是一种提高复杂推理零射击性能的新方法。
2.2 步骤2:提示提取答案
与Zero-shot-CoT类似,我们在步骤2中设计了另一个提示符,让LLM从步骤1中生成的推理文本中提取最终的数值答案。这个提示包括附加在第一个提示后面的答案提取指令,后面是LLM生成的推理文本。这样,LLM将以所需的形式返回最终答案。
基于图3(b)中的例子,步骤2中使用的提示将包括“Q:Grace重125磅···变量: Grace: 125磅···回答: Grace和Alex =的总重125 + 498 = 623磅。”因此,答案(阿拉伯语数字)是“”。对于这个例子,LLM返回的最终答案是“623”。
3 实验设置
3.1 基准
十大基准数据集评估三类推理问题:
算术推理:
(1)GSM8K(Cobbe等,2021)数据集的高质量语言多样性的小学数学字问题由人类问题作者
(2)SVAMP(帕特尔等,2021)基准的一个未知的算术字问题的4年级学生通过简单改变一组问题从另一个现有的数据集
(3)(罗伊和罗斯,2016)数据集的数学单词问题需要多个推理步骤和操作
(4)AddSub(胡塞尼等。,2014)数据集的加法和减法算术词问题
(5)AQUA(凌等,2017)数据集的代数词问题与自然语言原理
(6)SingleEq(Koncel-Kedziorskietal.,2015)数据集的单方程小学代数词问题与多个数学运算在非负有理数和一个变量
常识推理:
(7)CSQA(Talmor等人,2019)多项选择题基准数据集,需要不同类型的常识知识才能获得正确答案
(8)SraticyQA(Geva等人,2021)基准数据集的问题需要多步骤推理,但推理步骤没有给出。因此,他们将被推断
象征推理:
(9)最后一个字母连接(Wei et al.,2022b)数据集的问题需要最后一个字母的名字连接(例如,“詹姆斯·布朗“→“sn”)
(10)硬币翻转(魏et al.,2022b)数据集的问题一个硬币是否仍然抬头后翻转或不翻转基于步骤给出的问题。表1显示了数据集的统计信息。
3.2 Zero-shot and Few-shot Baselines
我们将我们提出的零射击PS和PS+提示方法与三种类型的提示基线进行了比较: (1)零射击基线。我们包括零射击cot(Kojima等人,2022年)和零pot(Chen等人,2022年)。前者在提示符中附加了“让我们一步一步地思考”,而没有任何演示示例。后者使用LLM(主要是OpenAI Codex1)生成Python程序,然后通过在Python解释器上执行生成的程序来获得答案;(2)手动演示。ManualCoT(Wei et al.,2022b)创建了8个手工制作的例子作为演示。(3)很少有自动演示。Auto-CoT(Zhang et al.,2022)通过多样性聚类自动选择例子,并使用零射击-CoT生成推理链来构建演示。
3.3 实施
在Auto-CoT(Zhang等人,2022)之后,我们使用公共GPT-3(Brown等人,2020)(175B)作为主干语言模型,这是最广泛使用的具有公共api2的llm之一。由于文本-davinci-003是文本-达文奇-002的升级版本,它可以产生更高质量的写作,适应更复杂的指令,并在长形式的内容生成方面表现更好,我们在主论文中使用文本-davinci-003引擎报告结果。在贪婪解码策略的整个实验中,我们将温度设置为0(argmax采样)。我们还包括两个基线,手动和自动,我们使用8演示例子,GSM8K,SVAMP,4个例子,7个例子CSQA和6例战略建议的原始论文,魏等人(2022b)和张等人(2022)。在评估指标方面,我们遵循Manual-CoT(Wei et al.,2022b),并跨数据集报告所有方法的准确性。
4 实验结果
4.1 主要结果
算术推理。表2报告了我们的方法与现有的零镜头和少镜头方法在算术推理数据集上的精度比较。在零射击设置中,我们的PS+提示(即具有更详细指令的PS提示)在所有算术推理数据集上始终大大优于零射击cot。具体来说,除了PSM8K外,PS+提示的准确率提高了至少5%,比零镜头CoT提高了2.9%。例外的原因可能是由于GSM8K是一个更具挑战性的数据集。PS提示在所有数据集上的表现也优于零射CoT,其平均精度比零射CoT高2.5%。
与另一个竞争的零射击基线PoT相比,PS(+)和PS提示的性能仍然令人印象深刻。PS+提示在6个算术数据集中的5个上优于PoT。PS提示在三个算术数据集上也优于PoT。结果表明,在提示符中添加更详细的指令可以有效地从llm中获得更高质量的推理步骤。
与少镜头法、人工CoT和Auto-CoT相比,PS+提示的平均准确率(76.7%)略低于ManualCoT(77.6%),但高于Auto-CoT(75.9%)。虽然这是一个不公平的比较,但这一结果表明,零镜头提示可以超过少镜头的CoT提示,这将有望激发进一步发展的新方法,用更少的人工努力来有效地在llm中引出推理。
评论推理。表3显示了常识推理数据集的结果:通用QA和ShaticyQA。在这个比较中,我们只包括了我们更好的零射击PS+提示策略。零镜头PoT被排除在外,因为它不能解决这个问题。虽然PS+提示在这个问题上的表现低于少射钴(手动),但它在通用QA(71.9%对65.2%)和策略QA(65.4%对63.8%)数据集上的表现始终优于零射线。
象征性推理。表4显示了PS+提示在符号推理数据集上的准确性:最后的字母和硬币翻转。零镜头的PoT再次被排除在外,因为它不是为这个问题而设计的。在最后的信件中,我们的零喷射PS+提示(75.2%)优于手动CoT(70.6%)和零喷射CoT(65.2%)。在硬币翻转方面,零射击PS+提示(99.6%)略低于手动+(100.0%),但明显优于零射击+(96.8%)。实验结果中的更多例子见附录A.2。
4.2 分析
用自一致性提示的结果。提出了自一致性(Wang et al.,2022b)(SC),通过生成N个推理结果并通过多数投票确定最终答案来减少LLM输出的随机性。对于SC,这些方法的结果通常被期望是一致的和更好的。因此,我们在GSM8K和SVAMP数据集上使用SC评估零镜头PS+提示。在SC实验中,我们将温度设置为0.7,N设置为10。图4显示,在GSM8K和SVAMP上,PS+提示(73.7%和84.4%)明显优于没有SC(58.7%和75.7%)。前者在GSM8K和SVAMP上的性能也始终优于SC(70.7%和81.7%),尽管零射击CoT的自一致性方法也有改进。
Self-Consistency(自一致性):通过生成N个推理结果并通过多数投票确定最终答案来减少LLM输出的随机性(思路有点像,但是不同,这篇文章是通过不同的LLM,取长补短,获得最优的输出,Self-Consistency是通过一个LLM的多次输出获取一个稳定的最终输出)
提示的影响。表5展示了6种不同的输入提示的性能比较。提示1和提示2分别用于零射击警察和零射击机器人。其余的是贪婪解码的PS+提示策略步骤1中使用的提示变体。我们观察到,具有变量和数字提取的提示3比零射击训练的提示1表现更差。原因是提示3不包括设计和完成计划的说明。然而,当我们添加了更多关于中间结果计算、计划设计和实现的说明时,Zero-shot-PS+的其他提示表现良好。以上结果表明,当提示中包含更详细的指令来指导llm时,llm能够生成高质量的推理文本。更多关于不同推理问题的提示可以在附录A.1中找到。
错误分析。为了定性地评估零shot-ps+提示对计算错误和缺失错误的推理步骤的影响,我们检查了GSM8K数据集上的错误分布。我们首先从GSM8K中随机抽取100个问题,生成推理文本,并使用零射击-cot、零-ps和零射击-ps+提示策略提取答案。ZeroShot-CoT为其中的46个问题产生了错误的最终答案,零-PS43个,零-PS+39个。随后,我们分析并确定了所有这些问题的错误类型,如表6所示。
分析结果表明,PS+提示的计算误差最小(5%)和失误误差(7%),语义理解误差与零shot-cot相当。零射击ps的误差略多,但仍然比零射t好。因此,他们的计划和解决提示可以有效地指导llm生成清晰和完整的推理步骤。此外,PS+提示中附加的详细说明(即“提取相关变量及其对应的数字”和“计算中间变量”)使llm能够生成高质量的推理步骤,从而减少计算错误。
生成的推理与错误类型的相关性分析。为了更深入地了解PS+提示对错误类型的影响,我们检查了生成的推理的子部分和错误类型之间的相关性。具体地说,我们分析了生成的推理文本中变量定义、推理计划和解决方案的存在性,并将它们与三种错误类型关联起来。本分析研究中使用的问题集与早期错误类型分析中使用的问题集相同。图5显示了变量定义、计划、解决方案和三种不同类型的误差之间存在的相关矩阵。结果表明,变量定义和计划存在性与计算误差和缺失推理步长误差呈负相关。Zero-shot-PS+提示符可以通过减少计算误差和缺失推理步骤错误,进一步提高llm在数学推理问题上的性能。
探索在PS预测中存在的计划的存在。为了确定在PS所做的每个预测中是否存在一个计划,我们对100个数据样本进行了随机抽样,并检查了它们相应的预测。我们的分析显示,100个预测中的90个确实包含了一个计划。这一观察结果表明,在最近的,如GPT-3.5和GPT-4等llm中出现了很强的规划能力。
5 相关工作
5.1 NLP中的推理
众所周知,复杂的推理问题对NLP模型具有挑战性,这些问题包括数学推理(Cobbe等人,2021年;帕特尔等人,2021年;凌等人,2017;康塞尔-科齐奥尔斯基等人,2016年)(需要理解数学概念、计算和多步推理的能力)、常识推理(Talmor等人,2019年;Geva等人,2021年)(要求基于常识的判断能力)和逻辑推理(Wei等人,2022b)(要求通过应用正式逻辑规则操作符号的能力)。在大型语言模型(LLMs)出现之前,Talmor等人(2019)使用精细的GPT模型生成的解释对NLP模型进行了训练,发现训练后的模型在常识性QA问题上产生了更好的性能。Hendrycks等人(2021)试图用标记的理由对预先训练好的语言模型进行微调,但发现这些微调后的模型不能轻易生成高质量的推理步骤。Wei等人(2022a)最近的工作表明,当扩展到数百亿个参数时,如GPT-3(Brown等人,2020)和PaLM(Chowdhery等人,2022)时,llm显示出很强的推理能力。这些带有一些演示示例的llm可以在不同的NLP任务中产生令人印象深刻的性能。然而,这些模型在需要多步骤推理的问题中表现仍然很差。这可能是由于所提供的少数范例不足以解锁llm的能力。
5.2 提示方法
为了利用llm中的推理能力,Wei等人(2022b)提出了思维链提示,在输入问题的答案之前附加了多个推理步骤。有了这种简单的少镜头提示策略,llm能够在复杂的推理问题中表现得更好。随后,许多作品(王等,2022a;苏兹根等,2022;谢克等,2022;萨帕罗夫和他,2022)建议进一步在不同方面改进成本提示,包括提示格式(陈等,提示选择(卢等,2022);2022;2022;2022;翁等,2022;2022;周等,2022;2022;2022;刘等,2023;孙等,2023;姚等,2023)。Chen等人(2022)引入了PoT提示,使用带有代码预训练的llm来编写程序,作为分离计算和推理的基本原理。为了消除人工的努力,Kojima等人(2022)提出了零喷射钴,以在没有样本的情况下引出推理步骤生成。为了利用演示示例的好处并最小化手工工作,Zhang等人(2022)设计了自动成本成本。首先,通过对给定数据集的聚类,自动得到k个示例。然后,它遵循零射线cot来生成所选示例的基本原理。最后,根据CoT的提示,将生成的基本原理添加到选定的示例中,从而构建演示示例。我们的工作不同于上述的工作,我们专注于采用零射击方法的多步骤推理。我们要求llm编写一个计划,将一个复杂的推理任务分解为多个推理步骤。此外,我们对提示介绍了详细的说明,以避免推理步骤中的明显错误。我们请读者参考本次调查(Huang和Chang,2022)。
6 结论
在本文中,我们发现零射击-cot仍然存在三个缺陷:计算错误、误推理步长错误和语义理解错误。为了解决这些问题,我们引入了计划和解决提示策略(PS和PS+提示)。它们是新的零镜头提示方法,指导llm设计一个计划,将整个任务划分为更小的子任务,然后根据计划执行子任务。对三种推理问题的10个数据集的评估显示,PS+提示优于之前的零射击基线,并且在多个算术推理数据集上的性能与少镜头CoT提示的性能相当。总的来说,我们的结果表明,(a)零射击PS+提示比零射击提示可以产生更高质量的推理过程,因为PS提示可以提供更详细的指令,指导llm执行正确的推理;(b)零射击PS+提示有潜力比人工提示更好,这将激发新的射击提示方法的进一步发展,以引出推理。此外,PS(+)提示是一个一般的想法,可以用于非推理的任务,而细化计划也是一个有趣的想法。我们把他们留给以后的工作。
7 局限性
这项工作有两个限制。首先,它需要努力设计提示符来指导llm生成正确的推理步骤。GPT-3模型对提示中的表达式很敏感。因此,我们需要仔细设计提示。其次,提出的计划求解提示可以帮助解决计算错误和缺失推理步骤错误,但语义误解错误仍然存在。在未来,我们将探讨如何通过提示而不是升级llm来解决语义误解错误。