解锁AI潜能的“魔法”:思维链提示法如何让大模型学会“思考”AI生成的内容集合

解锁AI潜能的“魔法”:思维链提示法如何让大模型学会“思考”

26分钟 ·
播放数3
·
评论数0

Jason Wei et al. “Chain-of-Thought Prompting Elicits Reasoning in Large Language Models.” Advances in Neural Information Processing Systems 35 (2022)- 24824–24837

1. 摘要

这份研究论文探讨了思维链(Chain-of-Thought, CoT)提示如何显著提高大型语言模型(LLMs)进行复杂推理的能力。通过在提示中提供少量包含中间推理步骤的示例,CoT 提示能够让足够大的语言模型自然地展现出推理能力。实验表明,CoT 提示在算术、常识和符号推理任务上显著优于标准提示方法,甚至在某些基准测试上达到了最先进的性能。

2. 核心概念与方法

  • 思维链(Chain of Thought)
  • 被定义为“一系列导致最终输出的自然语言中间推理步骤”。
  • 它模仿了人类在解决复杂问题时将问题分解为中间步骤的思维过程。例如,解决一个多步骤的数学应用题时,通常会先解决每个中间步骤再给出最终答案。
  • “A: The cafeteria had 23 apples originally. They used 20 to make lunch. So they had 23 - 20 = 3. They bought 6 more apples, so they have 3 + 6 = 9. The answer is 9.” (引自图1示例)
  • 思维链提示(Chain-of-Thought Prompting)
  • 这是一种通过在少样本提示(few-shot prompting)中提供一系列输入、思维链、输出三元组作为示例,来诱导大型语言模型生成中间推理步骤的方法。
  • 与传统的少样本提示(直接给出问答对)不同,CoT 提示明确地展示了如何逐步得出答案。
  • “一个提示,由三元组组成:<输入,思维链,输出>。”

3. 思维链提示的吸引力特性

CoT 提示具有以下几个关键优势:

  1. 问题分解:“思维链原则上允许模型将多步骤问题分解为中间步骤,这意味着可以将额外的计算分配给需要更多推理步骤的问题。”
  2. 可解释性:“思维链提供了模型行为的可解释窗口,揭示了模型是如何得出特定答案的,并提供了调试推理路径错误之处的机会。”
  3. 广泛适用性:“思维链推理可用于数学应用题、常识推理和符号操作等任务,并且(至少在原则上)可能适用于人类可以通过语言解决的任何任务。”
  4. 易于实现:“只需在少样本提示的示例中包含思维链序列,就可以在足够大的现成语言模型中轻松地激发思维链推理。”

4. 实验结果与发现

  • 性能显著提升
  • CoT 提示在算术、常识和符号推理基准测试中显著优于标准提示。
  • “例如,仅用八个思维链示例提示 PaLM 540B,就在数学应用题基准 GSM8K 上实现了最先进的准确率,甚至超越了经过微调的带有验证器的 GPT-3。”
  • 在 GSM8K 基准测试中,PaLM 540B 使用 CoT 提示的解决率从标准提示的 17.9% 大幅提升到 56.9%。
  • 模型规模的涌现能力
  • “思维链推理是模型规模的一种涌现能力。”
  • CoT 提示对小型模型没有积极影响,仅在模型参数量达到约 100B 时才产生性能增益。较小的模型会生成流畅但不合逻辑的思维链,导致性能低于标准提示。
  • 这种能力的涌现现象在所有评估的推理任务中都得到了观察(图4)。
  • 复杂问题的收益更大
  • CoT 提示对更复杂的问题产生了更大的性能提升。例如,在 GSM8K(基线性能最低的数据集)上,最大型的 GPT 和 PaLM 模型的性能翻了一倍多。
  • 对于简单的单步问题(如 MAWPS 的 SingleOp 子集),性能提升很小甚至为负。
  • 与先前的最先进技术比较
  • 通过 CoT 提示的 GPT-3 175B 和 PaLM 540B 的性能优于通常在标注训练数据集上微调任务特定模型的现有最先进技术。
  • 错误分析洞察
  • 对 LaMDA 137B 生成的正确答案的 CoT 进行手动分析发现,绝大多数(49/50)的 CoT 在逻辑和数学上都是正确的。
  • 对错误答案的 CoT 分析发现,46% 的 CoT 几乎正确,仅存在小错误(如计算器错误、符号映射错误或缺少一个推理步骤),而 54% 的 CoT 存在语义理解或连贯性方面的重大错误。
  • 将 PaLM 从 62B 扩展到 540B 修复了 62B 模型中很大一部分的单步缺失和语义理解错误,这表明模型规模的增长有助于提高语义理解和逻辑推理能力。

5. 消融研究(Ablation Study)

研究团队对 CoT 提示的不同变体进行了消融研究,以理解其成功的原因:

  • 仅方程(Equation only):提示模型只输出数学方程。在 GSM8K 等语义复杂的数据集上效果不佳,但在单步或两步问题上有所改善。这表明自然语言推理步骤对于将复杂语义转化为方程至关重要。
  • 仅变量计算(Variable compute only):提示模型输出与解决问题所需方程字符数相同的点序列(...)。结果与基线模型性能相似,表明单纯增加计算量(即中间 token 数量)并非 CoT 提示成功的关键,而通过自然语言表达中间步骤的实用性是存在的。
  • 答案后推理(Reasoning after answer):在给出最终答案后再提供思维链。结果与基线模型性能相似,这表明思维链中体现的顺序推理对于得出最终答案是有用的,而不仅仅是激活预训练知识。

这些发现强调了“通过自然语言表达中间步骤的实用性”以及“思维链中体现的顺序推理”是 CoT 提示成功的关键因素。

6. 鲁棒性分析(Robustness Analysis)

CoT 提示对多种因素表现出鲁棒性:

  • 不同标注者:由不同标注者编写的思维链示例仍能大幅优于标准基线,尽管存在一些性能差异。这表明 CoT 的成功不依赖于特定的语言风格。
  • 不同示例集:从 GSM8K 训练集随机抽样的不同示例集也表现出与手动编写示例相当的性能,且显著优于标准提示。
  • 示例顺序和数量:CoT 提示的收益在不同示例顺序和不同数量的少样本示例下保持鲁棒。

尽管 CoT 提示表现出鲁棒性,但提示工程仍然很重要,因为它可以在许多情况下显著提高性能。

7. 适用性与局限性

  • 适用性:CoT 提示在以下三种情况下最有效:(1) 任务具有挑战性并需要多步推理;(2) 使用大型语言模型;(3) 缩放曲线相对平坦。
  • 局限性
  • “推理”的本质:CoT 模仿人类的思维过程,但不能确定神经网络是否真的在“推理”。
  • 标注成本:虽然少样本设置中手动标注 CoT 成本很低,但对于微调来说可能过高(尽管可以通过合成数据生成或零样本泛化来解决)。
  • 推理路径的正确性:不能保证生成的推理路径总是正确的,可能导致正确或不正确的答案。提高语言模型的事实生成能力是一个开放的研究方向。
  • 成本高昂:CoT 推理仅在大型模型规模下出现,这使得在实际应用中部署成本较高。未来研究可以探索如何在小型模型中诱导推理。

8. 相关工作

CoT 提示的灵感来源于多个研究方向:

  • 提示(Prompting):该研究属于通用提示方法范畴,旨在通过优化输入提示来提高大型语言模型执行各种任务的能力。
  • 自然语言解释(Natural Language Explanations, NLEs):与 NLEs 旨在提高模型可解释性不同,CoT 提示的目标是让模型将多跳推理任务分解为多个步骤,可解释性只是一个副作用。
  • 程序合成与执行:与生成程序然后执行它(可以看作一种推理)不同,CoT 提示将这种特定领域的原语推广到自然语言。
  • 数值与逻辑推理:许多工作旨在通过各种方式(如增强预定义操作、使用图神经网络、专门训练程序)向语言模型注入数值推理能力。
  • 中间语言步骤:许多现有工作表明,通过训练或微调使神经网络能够生成中间步骤,可以带来多种好处,如提高性能、鲁棒性、训练速度、减轻偏见等。与这些训练或微调方法不同,CoT 提示表明,通过简单的提示,可以在足够规模的现成语言模型中激发各种自然语言推理能力,而无需进行任何微调。

9. 结论

思维链提示是一种简单且广泛适用的方法,用于增强语言模型中的推理能力。通过在算术、符号和常识推理任务上的实验,研究发现思维链推理是模型规模的一种涌现特性,它使足够大的语言模型能够执行那些在标准提示下缩放曲线平坦的推理任务。拓宽语言模型能够执行的推理任务范围有望激发更多关于基于语言的推理方法的研究。