Chain-of-Thought Prompting Elicits Reasoning in Large Language Models 论文阅读
The process of chain-of-thought prompting causes reasoning to be elicited within large language models during paper reading.
文章目录
-
-
Thinking Chains Prompting Encourages Reasoning within Large Language Models 论文阅读
-
Abstract
-
Introduction
-
- Chain of Thought Prompting
-
实验
-
- 数据
- Baselines
- CoT Prompting方案
- 语言模型
- 结果
- 消融研究
-
常识推理
-
- 数据集
- 结果
-
符号推理
-
- 任务
- 结果
-
结论
-
- 参考文献
-
Abstract
我们深入研究了生成连锁思维——一系列中间推理步骤——对大型语言模型增强复杂推理能力的作用。值得注意的是,在这项研究中我们发现了一种简洁有效的方法——称为连锁思维提示,在提供特定形式的连锁思维示例作为提示的情况下(即通过在提示中包含这些示例),大型语言模型能够自然地展现出这种增强推理能力的能力。通过对三个不同规模的语言模型进行实验研究发现,在一系列涉及算术、常识性和符号推理的任务上使用这种连锁思维提示明显提升了模型性能。这些实验结果表明该方法具有显著的有效性:例如,在仅使用八套特定形式的连锁思维提示PaLM 540B模型时,在GSM8K数学基准测试任务中的准确率达到了当前最先进的水平,并超越了经过微调并带有验证器支持的GPT-3模型的表现。
Introduction
本研究致力于探索突破大型语言模型推理能力的关键路径,并提出了一项基于两大理论指导的新方法。
首先,
算术推理技术依赖于生成自然语言推理过程作为其基础 。先前的研究表明,
- 模型能够借助从零开始训练的方式 (
Ling
等,
2017
) 或者微调预训练模型的方式 (
Cobbe
等,
2021
)
生成清晰的自然语言中间步骤;
此外,
还有研究采用形式而非自然语言的方法进行神经符号处理 (
Roy
和
Roth,
2015;
Chiang
和
Chen,
2019;
Amini
等,
2019;
Chen
等,
2019)。
其次,
大型预训练语言模型展示了在提示引导下进行上下文少样本学习的强大潜力 。即使替代每个新任务单独微调一个预训练语言模型的方法 (
Brown
等,
2020)
,
也可以只需提供一些示例输入输出来进行提示式建模;
这种方法对一系列简单的问答任务表现尤为出色。
在本文中

Chain of Thought Prompting
当我们面对一个复杂的推理任务(如多步骤的数学题解)时,在分析过程中我们自己的思维过程往往会被分解开来逐一探讨。通常采用分步分析的方法来解决问题:首先将整个问题拆分为若干中间环节逐一解决;然后整合各个部分的答案最终得出结论:例如,在Jane先送给母亲两朵花之后剩下十朵花……接着又送给父亲三朵花之后剩余七朵花……因此最终的答案就是七道题。
链式思维引导作为一种用于提升语言模型推理能力的手段具备多个显著优势。
在逻辑上,连锁思维原则支持模型将复杂问题拆分为子任务,从而能够合理分配计算资源以应对需要多重推理步骤的问题
实验
数据
我们考察了以下五个数学题求解基准:首先是以GSM8K作为基础构建的数据集(Cobbe等团队开发),其次是一个基于多种结构设计的SVAMP数据集(Patel团队开发),接着是一个包含多种类型的数据集用于ASDiv项目(Miao团队开发),然后是一个专门针对代数问题的数据集AQuA,在最后则是专注于算术运算的数据库MAWPS基准(Koncel-Kedziorski团队开发)。
Baselines
作为基准方案的研究基础,
我们采用基于少样本提示的标准方法。
该方法源自Brown等(2020)的研究成果。
在生成测试示例预测之前,
通过提供输入输出配对的上下文信息来指导模型训练与推理过程。
其呈现方式多为问答式结构。
模型能够直接生成相应的回答内容。
如图1(左)所示。
作为基准方案的研究基础,
我们采用基于少样本提示的标准方法。
该方法源自Brown等(2020)的研究成果。
在生成测试示例预测之前,
通过提供输入输出配对的上下文信息来指导模型训练与推理过程。
其呈现方式多为问答式结构。
模型能够直接生成相应的回答内容。
如图1(左)所示。
CoT Prompting方案
连贯思考提示:我们在少样本提示中每个示例中添加了连锁思维以生成相关答案(如图1右侧所示)。由于大多数数据集仅包含评估集而我们无法直接获取训练数据用于生成提示因而不得不手动编写八个带连锁思维的少样本提示用于训练——图1右侧展示了一个典型的连锁思维示例完整的提示集合见附录表20。(这些特定案例并未经过额外的提示工程优化健壮性研究将在第3.4节及附录A.2节中进行探讨。)为了考察这种形式下的连锁思维提示是否能够成功引导系统跨越一系列数学题解的成功推理我们采用了该组八个带有连锁思维的提示集合进行了系统测试除了AQuA系统它采用多项选择而非自由回答的方式外其余基准系统均采用了自由回答的方式——如附录表21所示为方便后续分析我们选取了四个典型案例及其解决方案作为测试集。
语言模型
们评估了五个大型语言模型。
以下是经过同义改写的文本
采用贪心算法进行模型采样(值得注意的是后续研究发现将多个采样生成的答案进行投票处理可提高连锁思维的效果(Wang等،2022a))。针对LaMDA系统我们计算了五个不同随机起点下的平均性能每个运行次序各具特色由于实验结果显示不同运行次序对性能提升的影响微乎其微因此为了简化计算过程我们将其他模型的结果基于单一运行次序呈现
结果

连锁思维提示的最强结果总结在上图中,
首先展示连锁思维提示作为一个新兴能力(Wei等, 2022b)。这表明连锁思维提示对小型模型没有积极效果, 仅在参数规模达到100B时才会带来性能提升表现.我们实证发现小规模模型在生成流畅但逻辑性欠佳的连锁思维方面存在局限性, 导致其性能低于标准提示.
其次, 在解决更为复杂的问题时, 锁定思维提示展现出更大的性能优势.例如, 对于GSM8K(基准测试中表现最差的)来说, 最大的GPT和PaLM模型在该指标上的改进几乎达到了一倍的增长.另一方面, 对于只需一步即可解决的MAWPS中最简单的SingleOp子集而言, 性能改进要么为负值要么非常微小(参考附录表3).
最后, 通过使用GPT-3 175B和PaLM 540B进行连锁思维提示的方法与目前最先进的同类方法相比通常表现更优.这些先前的方法通常是基于特定任务进行模型微调并在标注训练数据上进行优化开发的.
消融研究
采用连锁思维方式所带来的潜在优势引发了诸多疑问:是否有其他提示方式能够达到类似的提升效果?图5呈现了这三种不同连锁思维变化所进行的消融实验结果。

仅方程的部分可能有助于生成所需的数学方程。
连锁思维提示可能有助于生成需要评估的数学方程。
因此我们测试了一个变化即提示模型在给出答案之前仅输出数学方程。
图5显示仅方程提示对GSM8K帮助不大这意味着GSM8K问题的语义过于复杂无法直接翻译为方程而不需要连锁思维中的自然语言推理步骤。
然而对于一步或两步问题的数据集我们发现仅方程提示确实提高了性能因为方程可以容易地从问题中得出(见附录表6)。
常识推理
虽然在解答数学题时,连锁思维表现出色,然而,在处理广泛的人工智能推理问题方面,连锁思维也展现出显著的能力。这些问题主要关注物理现象和人类行为的推理过程,并依赖于广泛的知识库作为基础。
数据集
我们考虑了五个覆盖多种常识推理类型的数据集。
- 流行的CSQA研究(Talmor等人的研究,在2019年)专门针对涵盖复杂语义的世界常识问题进行了深入研究。
- StrategyQA模型(Geva团队开发)设计了一个复杂的多步推理过程来解答各类问题。在本研究中我们选择了BIG-bench项目中的两个评估子集(BIG-bench合作团队在2021年提出的),这两个子集分别聚焦于日期理解和体育理解任务。
- SayCan数据集(Ahn及其同事在2022年开发)专注于将自然语言指令转换为一系列离散动作的样本集合。

结果

通过增大模型规模来增强标准提示的效果;引入连锁思维方法则进一步提升了系统性能;该特定模型——PaLM 540B——展现出显著的优势,在多个评估基准上均表现出色。当采用连锁思维提示策略时,在StrategyQA测试中表现优异(75.6%正确率较69.4% baseline),较之常人展示了更高的准确率;而在体育理解任务中超越了体育爱好者(95.4%正确率较84% baseline)。实验结果表明多种基于常识推理的任务均能见到显著提升。
符号推理
在我们的最终实验评估中涉及到了符号推理任务。尽管对于人类而言这显得很简单但对于人工智能模型而言这却是一个具有挑战性的任务。通过引入连锁思维提示方法我们不仅成功地指导人工智能模型完成在常规提示框架下难度较高的符号推理任务而且也显著提升了其在超出示例范围时进行逻辑推演的能力。
任务
任务:我们使用以下两个玩具任务。
- 最后字母连接:该任务要求模型结合名字中每个单词的最后一个字母(例如,“Amy Brown”结合为“yn”)。这属于更高级的首字母连结问题。为此,我们从前一千个随机选取的名字中生成完整的连结。
- 抛硬币:该任务涉及模型根据某人是否翻转硬币来判断最终结果。例如,“一枚硬币正面朝上。Phoebe翻转了硬币。Osvaldo没有翻转硬币。请问此时结果如何?”→ “不”。
基于这些明确构造的符号推理任务,我们针对每个任务设计了专门的领域内验证集和领域外测试集合。在这些验证集中,默认情况下所有示例的数量与训练样本/少样本训练示例相同;而在此基础上又增加了显著多于训练样本数量的领域外测试用例。对于最后字母连接任务,在最后字母连接过程中模型仅使用了包含两个单词的名字作为训练数据;随后,在处理包含三个和四个单词的名字时继续进行实验验证。对于抛硬币过程中的可能结果数目问题我们也采取了相同的策略来生成数据集。我们的实验设置使用了前两节中所述的方法与架构参数配置方案;同时,在撰写实验方案时我们特别针对每个研究方向编写了相应的基础案例说明。
结果
图8显示了PaLM的域内和OOD评估结果,LaMDA的结果见附录表5。

使用PaLM 540B的主要依赖是连锁思维提示机制的显著提升(注意,在这些评估指标下(尤其是针对少样本示例),尽管连锁思维提供了完美的解决方案结构)。基于标准提示机制的整合,该系统成功解决了抛硬币任务测试。然而,在三个关键领域中均未能有效实现目标的小模型仍然未能达到预期效果。只有当模型参数达到特定规模时才能实现这一能力的突破性进展。
在OOD评估的标准下,在这两个相关领域中均未取得显著效果。借助连锁思维提示方法,在训练过程中生成的语言模型获得了上升型扩展曲线(然而其性能低于域内设置)。因此,在经过足够规模训练后的大规模语言模型得以在超出预期范围内的长度上获得泛化能力。
结论
作为模型规模的一种表现形式,在大规模语言模型领域中形成了一定规律性的特点(Wei等, 2022b)。对于那些呈现出线性扩展趋势的标准提示类型,在应用连锁思维提示后会带来明显地扩大了推理能力的效果。通过连锁思维提示的应用, 研究者似乎显著增加了大型语言模型处理复杂逻辑关系的能力——换句话说, 我们的这项研究强调, 单靠标准提示提供的只是大型语言模型能力的基本下限水平。这一发现可能引发出更多值得探讨的问题——例如, 如果进一步提高模型规模在推理能力方面的应用效果, 又能达到何种程度?还有哪些新的提示方法能够进一步拓宽语言模型所能够解决的任务范畴?
对于局限性而言,在现有研究中主要存在以下几点:第一点是值得探讨的问题:即使连锁思维模仿了人类推理者的行为模式这一事实本身并不能充分回答神经网络是否真的具备"推理"能力这一根本问题;这是值得深入研究的一个开放性课题(Rashkin等, 2021;Ye和Durrett, 2022;Wiegreffe等, 2022等)。第二点也是重要的关注点:尽管在小样本训练环境中增加带连锁思维的数据成本相对较低;但对于微调任务而言这种注释数据的成本可能会变得难以承受(尽管可以通过生成合成数据集或者零样本泛化的方法来缓解这一问题)。第三点是关键性的挑战:缺乏确保正确的推理路径的方法;这可能导致得出正确答案与错误答案之间的混淆(Rashkin等, 2021;Ye和Durrett, 2022;Wiegreffe等, 2022等)。第四点也是不容忽视的问题:目前的研究仅聚焦于大型语言模型的情况;这种情况下其应用到实际场景中往往面临高昂的成本负担;未来的工作应着重于探索如何使较小规模的语言模型也能实现类似的能力
参考文献
- Ahn, M. et al. (2022). “Do as I can, not as I say: Grounding language in robotic affordances.” arXiv preprint arXiv:2204.01691.
- 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.
- Brown, T. et al. (2020). “Language models are few-shot learners.” NeurIPS.
- Cobbe, K. et al. (2021). “Training verifiers to solve math word problems.” arXiv preprint arXiv:2110.14168.
- Devlin, J. et al. (2019). “BERT: Pre-training of deep bidirectional transformers for language understanding.” NAACL.
- Geva, M. et al. (2021). “Did aristotle use a laptop? A question answering benchmark with implicit reasoning strategies.” TACL.
- Hendrycks, D. et al. (2021). “Measuring mathematical problem solving with the math dataset.” arXiv preprint arXiv:2103.03874.
- Kaplan, J. et al. (2020). “Scaling laws for neural language models.” arXiv preprint arXiv:2001.08361.
- Ling, W. et al. (2017). “Program induction by rationale generation: Learning to solve and explain algebraic word problems.” ACL.
- Miao, S. et al. (2020). “A diverse corpus for evaluating and developing English math word problem solvers.” ACL.
- Nye, M. et al. (2021). “Show your work: Scratchpads for intermediate computation with language models.” arXiv preprint arXiv:2112.00114.
- Ouyang, L. et al. (2022). “Training language models to follow instructions with human feedback.” arXiv preprint arXiv:2203.02155.
- Patel, A. et al. (2021). “Are NLP models really able to solve simple math word problems?” NAACL.
- Peters, M. et al. (2018). “Deep contextualized word representations.” NAACL.
- Thoppilan, R. et al. (2022). “LaMDA: Language models for dialog applications.” arXiv preprint arXiv:2201.08239.
