论文 · arXiv 2201.11903
思维链提示激发大语言模型的推理能力
Chain-of-Thought Prompting Elicits Reasoning in Large Language Models
三句话总结
- 🎯 标准少样本提示难以完成复杂的多步推理(算术、常识、符号),并表现出平缓的扩展曲线。
- 🔧 在预测最终答案之前,用思维链——即中间推理步骤的自然语言序列——来扩充少样本示例。
- 📈 使用 8 个思维链示例的 PaLM 540B 在 GSM8K 上达到了 56.9% 的准确率(结合外部计算器达 58.6%),超越了带验证器的微调 GPT-3。
摘要
我们探索了生成思维链(chain of thought,即一系列中间推理步骤)如何显著提升大语言模型进行复杂推理的能力。特别地,我们展示了这种推理能力如何通过一种称为思维链提示(chain of thought prompting)的简单方法在足够大的语言模型中自然涌现,该方法在提示中提供了少量思维链演示作为示例。在三种大语言模型上的实验表明,思维链提示在一系列算术、常识和符号推理任务上均提升了性能。实证收益尤为显著。例如,仅使用八个思维链示例对 540B 参数的语言模型进行提示,即可在数学应用题基准 GSM8K 上取得前沿性能(SOTA)的准确率,甚至超越了带有验证器的微调 GPT-3。
英文原文摘要
We explore how generating a chain of thought -- a series of intermediate reasoning steps -- significantly improves the ability of large language models to perform complex reasoning. In particular, we show how such reasoning abilities emerge naturally in sufficiently large language models via a simple method called chain of thought prompting, where a few chain of thought demonstrations are provided as exemplars in prompting. Experiments on three large language models show that chain of thought prompting improves performance on a range of arithmetic, commonsense, and symbolic reasoning tasks. The empirical gains can be striking. For instance, prompting a 540B-parameter language model with just eight chain of thought exemplars achieves state of the art accuracy on the GSM8K benchmark of math word problems, surpassing even finetuned GPT-3 with a verifier.
论文解读
问题与动机
标准少样本提示为语言模型提供输入-输出示例,使其在许多直接问答任务中表现出色。然而,在多步推理任务中(例如小学数学、多跳常识问题和符号操作),在标准提示下仅扩展模型规模通常会导致平缓的扩展曲线和较差的性能。先前解决多步问题的方法要么依赖于训练/微调专门的推理依据模型(这需要大量昂贵且有监督的推理依据数据),要么依赖于形式化的神经符号表示。本文探讨了通用语言模型是否可以完全在上下文语境中执行多步推理,而不需要任何参数更新。
核心理念
- 思维链分解: 人类在给出答案前会将复杂问题分解为连续的推理步骤。当以三元组 形式的上下文示例进行引导时,语言模型可以模仿这一行为。
- 规模涌现性: 对于小模型( 参数),思维链(CoT)提示并不能带来有意义的改进,甚至往往会降低性能。它仅在拥有约 或更多参数的模型中才作为一种有效能力涌现出来。
- 可变中间计算量: 生成自然语言标记允许模型(通过自回归标记生成)动态地为更困难的多步问题分配额外的计算资源,而直接预测答案无法做到这一点。
方法(及核心公式)
该方法修改了少样本提示范式。标准提示使用的是输入-输出对 :
此时模型直接计算 ;与此不同,思维链提示在最终答案之前插入了一串自然语言推理链 :
在测试输入 的推理阶段,模型自回归地生成推理链和答案:
针对算术基准,作者还评估了一种事后外部计算器扩展:使用 Python 的 eval 计算 中生成的数学等式,并通过字符串匹配向前传递结果,以防止算术计算错误。
实验结果(及关键数据)
- 算术推理 (GSM8K): 在 GSM8K 上,PaLM 540B 的标准提示准确率为 17.9%,而 8-shot CoT 提示达到了 56.9%(结合外部计算器达 58.6%),超越了此前由带验证器的微调 GPT-3 175B 保持的 55% 的有监督最佳水平。Codex 达到了 63.1%(结合计算器达 65.4%)。
- 其他数学基准: PaLM 540B 在 SVAMP 上达到 79.0%(标准提示为 69.4%),在 ASDiv 上达到 73.9%(标准提示为 72.1%),在 AQuA 上达到 35.8%(标准提示为 25.2%),在 MAWPS 上达到 93.3%(标准提示为 79.2%)。
- 常识推理: PaLM 540B CoT 在 StrategyQA 上创下了 75.6% 的新 SOTA(标准提示为 68.6%,此前有监督最佳为 69.4%),并在 Sports Understanding 上超越了体育爱好者人类水平(95.4% 对比 84.0%)。
- 符号操作与长度泛化: 在末尾字母拼接任务中,PaLM 540B 在域内(2 个词)从 7.6%(标准)跃升至 99.4%(CoT)。当在域外 4 个词上测试时,标准提示下降至 0.0%,而 CoT 仍保持 63.0% 的准确率。
- 消融实验: 在 LaMDA 137B 上的消融实验证实,“仅等式”提示(GSM8K 上为 5.4%)、通过省略号实现的“仅可变计算”(6.4%)以及“答案后给出推理”(6.1%)均无法与标准 CoT 提示(14.3%)相匹配,这表明答案前的中间自然语言步骤至关重要。
局限性与待解决问题
- 不保证事实推理正确: 生成的思维链可能是不忠实的、存在语义缺陷或包含幻觉,有时只是巧合得出正确答案(特别是在二元判断或多项选择题中)。
- 模型规模限制: 该技术在生产环境中部署成本高昂,因为它需要模型参数达到约 才能稳定发挥作用。
- 真正推理的未解之谜: 论文指出,模仿人类的推理过程并不能证明底层的神经表征执行了真正的形式化推理。
关键术语
- chain of thought (思维链)
- 在预测问题的最终答案之前生成的一系列连贯的自然语言中间推理步骤。
- chain-of-thought prompting (思维链提示)
- 一种提示策略,在不更新模型权重的情况下,将少样本示例格式化为输入、中间推理链和输出组成的三元组。
- emergent ability (涌现能力)
- 在较小规模语言模型中不存在甚至有害,只有当模型规模超过特定阈值(约 100B 参数)时才会出现的能力。
- GSM8K
- 一个包含 1,319 道高质量、多步骤小学数学应用题的基准测试集,解答通常需要 2 到 8 个算术步骤。
- standard prompting (标准提示)
- 标准的少样本上下文学习设置,其中示例仅由输入和最终输出对组成。
- length generalization (长度泛化)
- 模型在测试时成功处理比少样本示例中所展示的包含更多步骤或更长序列长度的推理链的能力。
- external calculator (外部计算器)
- 一种事后评估机制,从生成的思维链中提取等式,使用 Python 的 eval 执行计算,并更新后续文本。
- variable compute (可变计算量)
- 通过分配可变数量的中间生成标记,允许在更难的问题上投入更多计算资源。
常见问题
为什么思维链提示在小型语言模型上失效?
低于约 10B 参数的模型通常会生成流畅但不合逻辑或重复的思维链,并在基本符号映射和算术上遇到困难,导致性能往往低于直接回答。
思维链提示对提示词措辞和标注者的敏感度如何?
尽管具体准确率会因标注者和提示风格而异,但在三位独立标注者以及 GSM8K 随机样本上的实验表明,所有 CoT 变体均大幅度且稳定地优于标准提示。
直接生成数学等式是否能提供与自然语言推理相同的好处?
不能。在 GSM8K 等复杂数据集上,LaMDA 137B 采用“仅等式”提示的准确率仅为 5.4%,而采用 CoT 时为 14.3%,这是因为在没有中间自然语言步骤的情况下,直接将语义转化为单个等式难度过大。
思维链能帮助语言模型泛化到比提示中更长的输入吗?
可以。在末尾字母拼接和抛硬币等符号任务中,即使提示中仅演示了 2 步序列,CoT 也能使 PaLM 540B 等模型泛化到 3 步和 4 步的域外输入。
本页解读由 AI 根据论文生成,可能有错误;细节请以原文为准。