Chain-of-Thought Prompting Elicits Reasoning in Large Language Models 论文阅读

Chain-of-Thought Prompting Elicits Reasoning in Large Language Models 论文阅读

Abstract

我们探讨了生成连锁思维——一系列中间推理步骤——如何显著提高大型语言模型执行复杂推理的能力。特别地,我们展示了通过一种简单的方法,称为连锁思维提示,在提供一些连锁思维示例作为提示的情况下,大型语言模型自然地表现出这种推理能力。在三个大型语言模型上的实验表明,连锁思维提示在一系列算术、常识和符号推理任务上提高了性能。这种实证收益是显著的。例如,仅使用八个连锁思维示例提示PaLM 540B,就在GSM8K数学题解基准上达到了最先进的准确性,甚至超过了微调过的带验证器的GPT-3。

Introduction

本研究探讨了通过一种简单的方法解锁大型语言模型的推理能力,该方法受两个理念启发。

  1. 首先,算术推理技术可以通过生成自然语言推理过程来获益,这些推理过程导致最终答案。先前的工作已使模型能够通过从零开始训练(Ling等,2017)或微调预训练模型(Cobbe等,2021)生成自然语言中间步骤,此外还有使用形式语言而非自然语言的神经符号方法(Roy和Roth,2015; Chiang和Chen,2019; Amini等,2019; Chen等,2019)。
  2. 第二,大型语言模型提供了通过提示进行上下文少样本学习的令人兴奋的前景。也就是说,取代为每个新任务微调一个单独的语言模型检查点,可以简单地通过一些展示任务的输入输出示例“提示”模型。这对于一系列简单的问答任务非常成功(Brown等,2020)。

在本文中,我们结合这两个理念的优势,避免其局限性。具体而言,我们探讨了语言模型在少样本提示下执行推理任务的能力,给定的提示由三元组组成:〈输入、连锁思维、输出〉。连锁思维是一系列中间自然语言推理步骤,导致最终输出,我们将这种方法称为连锁思维提示。图1显示了一个示例提示。

在这里插入图片描述

Chain of Thought Prompting

考虑在解决一个复杂的推理任务(如多步骤的数学题解)时,我们自己的思维过程。通常会将问题分解为中间步骤并逐步解决,然后给出最终答案:“在Jane给她妈妈2朵花后,她还有10朵……然后她给她爸爸3朵后,她还有7朵……所以答案是7。

连锁思维提示作为一种促进语言模型推理的方法具有以下几个吸引人的特点:

  1. 首先,连锁思维原则上允许模型将多步骤问题分解为中间步骤,这意味着可以为需要更多推理步骤的问题分配更多的计算资源。
  2. 其次,连锁思维提供了一个可解释的窗口,展示模型如何得出特定答案,并提供了调试推理路径出错位置的机会(尽管完全描述支持答案的模型计算仍是一个开放问题)。
  3. 第三,连锁思维推理可用于数学题解、常识推理和符号操作等任务,原则上(至少)适用于人类可以通过语言解决的任何任务。
  4. 最后,只需在少样本提示中包含连锁思维序列的示例,就可以在足够大的现成语言模型中轻松引出连锁思维推理。

实验

数据

我们考虑以下五个数学题解基准:(1)GSM8K数学题解基准(Cobbe等,2021),(2)结构多样的数学题解SVAMP数据集(Patel等,2021),(3)多样化的数学题解ASDiv数据集(Miao等,2020),(4)代数题解AQuA数据集,以及(5)MAWPS基准(Koncel-Kedziorski等,2016)。

Baselines

作为基线,我们考虑标准的少样本提示,这种方法由Brown等(2020)提出,语言模型在输出测试示例预测之前,给定输入输出对的上下文示例。示例格式为问答形式。模型直接给出答案,如图1(左)所示。

CoT Prompting方案

连锁思维提示:我们提出的方法是在少样本提示中的每个示例中添加一个连锁思维来生成相关答案,如图1(右)所示。由于大多数数据集只有评估部分,我们手动编写了八个带连锁思维的少样本示例用于提示——图1(右)显示了一个连锁思维示例,完整的示例集见附录表20。(这些特定示例未进行提示工程;健壮性研究见第3.4节和附录A.2。)为了调查这种形式的连锁思维提示能否成功引出跨越一系列数学题解的成功推理,我们使用这一组八个连锁思维示例进行所有基准测试,除了AQuA,它是多项选择而非自由回答。对于AQuA,我们使用了四个示例及其训练集中的解决方案,如附录表21所示。

语言模型

们评估了五个大型语言模型。

  • 第一个是GPT-3(Brown等,2020),我们使用了text-ada-001、text-babbage-001、text-curie-001和text-davinci-002,这些模型分别对应350M、1.3B、6.7B和175B参数的InstructGPT模型(Ouyang等,2022)。
  • 第二个是LaMDA(Thoppilan等,2022),其模型参数分别为422M、2B、8B、68B和137B。
  • 第三个是PaLM,模型参数分别为8B、62B和540B。
  • 第四个是UL2 20B(Tay等,2022),
  • 第五个是Codex(Chen等,2021,OpenAI API中的code-davinci-002)。

我们通过贪心解码对模型进行采样(尽管后续工作表明,通过对多个采样生成的最终答案取多数可以改进连锁思维提示(Wang等,2022a))。对于LaMDA,我们报告了五个随机种子上的平均结果,每个种子有不同的示例顺序。由于LaMDA实验未显示出种子之间的大变化,为节省计算资源,我们对所有其他模型报告单一示例顺序的结果。

结果

在这里插入图片描述

连锁思维提示的最强结果总结在上图中,

  1. 首先显示连锁思维提示是模型规模的一个新兴能力(Wei等,2022b)。也就是说,连锁思维提示对小模型没有积极影响,只有在模型参数达到100B时才会产生性能提升。我们定性发现小规模模型生成流畅但不合逻辑的连锁思维,导致性能低于标准提示。
  2. 其次,连锁思维提示在解决更复杂问题时表现出更大的性能提升。例如,对于GSM8K(基准中表现最低的),最大的GPT和PaLM模型的性能几乎翻倍。另一方面,对于仅需一步即可解决的MAWPS最简单子集SingleOp,性能改进要么是负数要么很小(见附录表3)。
  3. 第三,通过GPT-3 175B和PaLM 540B进行的连锁思维提示与先前最先进的方法相比,通常优于后者,这些先前的方法通常是针对特定任务微调模型并在标注的训练数据集上进行训练的。

消融研究

使用连锁思维提示的好处引发了一个自然的问题:是否可以通过其他类型的提示获得相同的性能提升。图5展示了以下三种连锁思维变化的消融研究结果。

在这里插入图片描述

  1. 仅方程。连锁思维提示可能有助于生成需要评估的数学方程,因此我们测试了一个变化,即提示模型在给出答案之前仅输出数学方程。图5显示,仅方程提示对GSM8K帮助不大,这意味着GSM8K问题的语义过于复杂,无法直接翻译为方程而不需要连锁思维中的自然语言推理步骤。然而,对于一步或两步问题的数据集,我们发现仅方程提示确实提高了性能,因为方程可以容易地从问题中得出(见附录表6)。
  2. 仅变量计算。另一个直觉是,连锁思维允许模型在更难的问题上花费更多的计算资源(即中间标记)。为了将变量计算的效果与连锁思维推理隔离,我们测试了一种配置,提示模型仅输出与解决问题所需方程字符数相等的点(……)。这一变化的性能与基线相当,这表明仅变量计算不是连锁思维提示成功的原因,表达中间步骤的自然语言有其效用。
  3. 答案后的连锁思维。连锁思维提示的另一个潜在好处是,这些提示允许模型更好地访问预训练期间获取的相关知识。因此,我们测试了一种配置,即连锁思维提示仅在答案之后给出,以隔离模型是否实际依赖生成的连锁思维给出最终答案。这一变化的性能与基线相当,这表明连锁思维中体现的顺序推理对于激活知识之外的其他原因也是有用的。

常识推理

尽管连锁思维特别适用于数学题解,但连锁思维的语言特性实际上使其适用于广泛的常识推理问题,这些问题涉及对物理和人类互动的推理,并假设具备一般背景知识。

数据集

我们考虑了五个覆盖多种常识推理类型的数据集。

  1. 流行的CSQA(Talmor等,2019)提出了关于世界常识问题,这些问题涉及复杂语义,通常需要先验知识。
  2. StrategyQA(Geva等,2021)要求模型推断出多步策略以回答问题。我们选择了BIG-bench项目中的两个专项评估集(BIG-bench合作,2021):日期理解,涉及从给定上下文中推断日期;体育理解,涉及确定与体育相关的句子是否合理。
  3. SayCan数据集(Ahn等,2022)涉及将自然语言指令映射为一系列离散集合中的机器人动作。图3显示了所有数据集的带有连锁思维注释的示例。

在这里插入图片描述

结果

在这里插入图片描述

对于所有任务,扩大模型规模提高了标准提示的性能;连锁思维提示进一步提升了性能,对于PaLM 540B模型的提升尤为显著。使用连锁思维提示,PaLM 540B在多个基准上相对于基线取得了优异表现,在StrategyQA(75.6%对69.4%)上超越了先前的最先进水平,在体育理解任务中超越了体育爱好者(95.4%对84%)。这些结果表明,连锁思维提示也能提高需要多种常识推理能力的任务的性能(尽管在CSQA上的提升最小)。

符号推理

我们的最后实验评估考虑了符号推理,这对人类来说很简单,但对语言模型来说可能具有挑战性。我们展示了连锁思维提示不仅使语言模型能够执行在标准提示设置下具有挑战性的符号推理任务,还促进了对长于示例的推理步骤的推理泛化。

任务

任务:我们使用以下两个玩具任务。

  • 最后字母连接:此任务要求模型连接名字中单词的最后一个字母(例如,“Amy Brown”→ “yn”)。这是首字母连接的更具挑战性的版本,语言模型已经可以在没有连锁思维的情况下执行首字母连接。我们通过随机连接名字数据中的前一千个名字生成完整名字(https://namecensus.com/)。
  • 抛硬币:此任务要求模型回答在某人翻转或未翻转硬币后,硬币是否仍然正面朝上(例如,“一枚硬币正面朝上。Phoebe翻转了硬币。Osvaldo没有翻转硬币。硬币仍然正面朝上吗?”→ “不”)。

由于这些符号推理任务的构造是明确的,我们为每个任务考虑了一个域内测试集,其中示例与训练/少样本示例的步骤数相同,以及一个域外(OOD)测试集,其中评估示例比示例中的步骤更多。对于最后字母连接任务,模型只看到了包含两个单词的名字示例,然后在包含3个和4个单词的名字上执行最后字母连接。对于抛硬币任务,我们对可能的翻转次数进行了相同的处理。我们的实验设置使用了前两节中的相同方法和模型。我们再次手动为每个任务编写了少样本示例的连锁思维,

结果

图8显示了PaLM的域内和OOD评估结果,LaMDA的结果见附录表5。

在这里插入图片描述

使用PaLM 540B,连锁思维提示几乎达到了100%的解决率(注意,标准提示在使用PaLM 540B时已经解决了抛硬币任务,但LaMDA 137B未能解决)。需要注意的是,这些域内评估是“玩具任务”,因为少样本示例中的连锁思维已经提供了完美的解决结构;模型只需用测试示例中的新符号重复相同的步骤。然而,小模型仍然失败了——在这些三个任务中,对未见过符号进行抽象操作的能力仅在100B模型参数规模时出现。

对于OOD评估,标准提示在这两个任务上都失败了。使用连锁思维提示,语言模型实现了上升的扩展曲线(尽管性能低于域内设置)。因此,连锁思维提示促进了足够大规模的语言模型对见过的连锁思维之外的长度泛化。

结论

连锁思维推理作为模型规模的结果是一种普遍现象(Wei等,2022b)。对于许多标准提示具有平坦扩展曲线的推理任务,连锁思维提示带来了显著的扩展曲线增长。连锁思维提示似乎扩展了大型语言模型能够成功执行的任务集——换句话说,我们的工作强调标准提示仅提供了大型语言模型能力的下限。这一观察可能提出的问题多于答案——例如,进一步增加模型规模推理能力能提高多少?还有哪些提示方法可以扩展语言模型能够解决的任务范围?

对于局限性,首先要指出,尽管连锁思维模仿了人类推理者的思维过程,但这并不能回答神经网络是否真的在“推理”的问题,我们将此作为一个开放问题。其次,尽管在少样本设置中手动增加带连锁思维的示例成本较低,但对于微调来说,这种注释成本可能是难以承受的(尽管这可以通过生成合成数据或零样本泛化来克服)。第三,没有保证正确的推理路径,这可能导致正确和错误的答案;改进语言模型的事实生成是未来工作的一个开放方向(Rashkin等,2021;Ye和Durrett,2022;Wiegreffe等,2022等)。最后,连锁思维推理仅在大规模模型中出现,使其在实际应用中成本高昂;进一步研究可以探索如何在较小模型中引发推理。

参考文献

  1. Ahn, M. et al. (2022). “Do as I can, not as I say: Grounding language in robotic affordances.” arXiv preprint arXiv:2204.01691.
  2. Amini, A. et al. (2019). “MathQA: Towards interpretable math word problem solving with operation-based formalisms.” Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), Minneapolis, Minnesota. Association for Computational Linguistics.
  3. Brown, T. et al. (2020). “Language models are few-shot learners.” NeurIPS.
  4. Cobbe, K. et al. (2021). “Training verifiers to solve math word problems.” arXiv preprint arXiv:2110.14168.
  5. Devlin, J. et al. (2019). “BERT: Pre-training of deep bidirectional transformers for language understanding.” NAACL.
  6. Geva, M. et al. (2021). “Did aristotle use a laptop? A question answering benchmark with implicit reasoning strategies.” TACL.
  7. Hendrycks, D. et al. (2021). “Measuring mathematical problem solving with the math dataset.” arXiv preprint arXiv:2103.03874.
  8. Kaplan, J. et al. (2020). “Scaling laws for neural language models.” arXiv preprint arXiv:2001.08361.
  9. Ling, W. et al. (2017). “Program induction by rationale generation: Learning to solve and explain algebraic word problems.” ACL.
  10. Miao, S. et al. (2020). “A diverse corpus for evaluating and developing English math word problem solvers.” ACL.
  11. Nye, M. et al. (2021). “Show your work: Scratchpads for intermediate computation with language models.” arXiv preprint arXiv:2112.00114.
  12. Ouyang, L. et al. (2022). “Training language models to follow instructions with human feedback.” arXiv preprint arXiv:2203.02155.
  13. Patel, A. et al. (2021). “Are NLP models really able to solve simple math word problems?” NAACL.
  14. Peters, M. et al. (2018). “Deep contextualized word representations.” NAACL.
  15. Thoppilan, R. et al. (2022). “LaMDA: Language models for dialog applications.” arXiv preprint arXiv:2201.08239.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PD我是你的真爱粉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值