AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


思维链(Chain-of-Thought)技术的背后,是人类思考问题的方式!
发布日期:2024-07-04 07:08:34 浏览次数: 2732 来源:AI信息Gap



Q: Roger has 5 tennis balls. He buys 2 more cans of tennis balls. Each can has 3 tennis balls. How many tennis balls does he have now?

问题:罗杰有5个网球。他又买了2罐网球,每罐有3个网球。现在他总共有多少个网球?

这是一道小学水平的数学推理题目,对于现在的我们来说,肯定是毫无压力。甚至对于现在大多数LLM模型来说,也能够回答正确。但要知道,一个语言模型为什么能够回答正确这种带有推理的数学计算,这是值得玩味和深思的问题。

遵循人类的思考逻辑来说,为了解决上面这道题目,首先需要分析:当前有5个网球。其次2罐网球,每罐3个,可知共6个。最后,相加得到“11”这个答案。这样的思维过程是一个步步紧扣的链式思维,也被称之为思维链(Chain-of-Thought)

思维链技术同样可以应用于LLM模型上,它能够模拟人类大脑处理信息的逻辑链条,面对复杂问题时,会自然地将其拆解为若干个可管理的小问题,逐一攻克,最终汇聚成完整的解决方案。语言模型通过思维链提示,能够模仿这一过程,逐步推理出正确答案。思维链技术最早出现在一篇2022年发布的题为《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》的论文中,研究人员探索了生成思维链——一系列中间推理步骤——如何显著提升大型语言模型执行复杂推理的能力。

思维链提示(Chain-of-Thought Prompting)

论文探讨了一种名为思维链提示Chain-of-Thought Prompting)的技术,旨在提升语言模型解决复杂问题的能力。通过模仿人类解决问题时的逐步思考过程,该技术使模型能够通过一系列逻辑推理步骤来得出答案。论文展示了在提供少量示例的情况下,大型语言模型能够生成思维链,从而在算术、常识和符号推理任务上取得显著的性能提升。这种提示方法不仅提高了模型的推理能力,还为理解模型的决策过程提供了透明度。此外,这种方法的普适性意味着它可以应用于任何可以通过语言表达的人类任务,为模型的使用场景增加新的可能性。

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

  1. 首先,从原则上讲,思维链允许模型将多步骤问题分解为中间步骤,这意味着可以为需要更多推理步骤的问题分配额外的计算。

  2. 其次,思维链提供了一个可解释的窗口,了解模型的行为,表明它可能如何得出特定答案,并提供机会来调试推理路径在哪里出了问题(尽管完全描述支持答案的模型计算仍然是一个开放性问题)。

  3. 第三,思维链推理可以用于数学文字问题、常识推理和符号操作等任务,并且原则上可能适用于任何人类可以通过语言解决的任务。

  4. 最后,通过在少量提示的示例中包含思维链序列的例子,可以轻松地在足够大的现成语言模型中引发思维链推理。

算术推理(Arithmetic Reasoning)

研究背景与目标

  • 尽管算术推理对于人类来说很简单,但语言模型在这类任务上常常表现不佳。
  • 通过使用思维链提示,特别是与具有540B参数的大型语言模型结合时,可以实现与特定任务微调模型相媲美的性能,甚至在GSM8K这一挑战性基准测试中达到新的最佳状态。

实验设置

  • 研究者在多个算术文字问题基准上测试了不同语言模型的思维链提示效果。
  • 包括GSM8K、SVAMP、ASDiv、AQuA和MAWPS等五个不同的数据集。
  • 对比了标准提示和思维链提示两种方法。标准提示是给出输入-输出对的示例,而思维链提示是在每个示例中增加一个推理链。

实验结果

  • 思维链提示在大型模型上表现出色,特别是当模型参数规模达到约100B时,性能提升显著。
  • 对于更复杂的问题,如GSM8K数据集,思维链提示带来的性能提升更为显著,而在简单的问题上提升较小或为负。
  • 与之前的最佳方法相比,使用GPT-3 175B和PaLM 540B的思维链提示在多个数据集上达到了新的最佳性能。

错误分析

  • 研究者手动检查了LaMDA 137B在GSM8K数据集上生成的思维链,发现在正确答案的情况下,几乎所有的思维链在逻辑和数学上都是正确的。
  • 对于错误答案的情况,分析表明,部分思维链几乎正确,只是存在小错误,而其他的思维链则在语义理解或连贯性上有较大错误。

消融研究

研究还进行了消融实验,测试了其他类型的提示对性能的影响:

  • 仅方程提示:对复杂问题帮助不大,仅在简单问题上有改善。
  • 仅变量计算:性能与基线相当,表明仅变量计算不是链式思维提示成功的原因。
  • 答案后的思维链:性能与基线相当,表明思维链的顺序推理超出了仅激活知识的用途。

思维链的稳健性

  • 研究者评估了由不同注释者编写的思维链的稳健性,发现尽管存在差异,但所有思维链提示都显著优于标准基线。
  • 进一步的实验表明,思维链提示对于不同的示例集、不同的注释者和不同的语言模型都具有稳健性。

结论

  • 思维链提示作为一种简单而广泛适用的方法,能够显著提升语言模型在算术推理任务上的性能。
  • 该方法的效用不依赖于特定的语言风格,且在大型模型上表现出了对复杂问题的解决能力。
  • 这项工作强调了通过少量示例和自然语言数据,大型语言模型能够学习并执行多步骤推理任务。

常识推理(Commonsense Reasoning)

研究背景与目标

  • 尽管思维链提示特别适合解决数学文字问题,但其基于语言的特性实际上使其适用于广泛的常识推理问题。
  • 常识推理对于与世界互动至关重要,但目前的自然语言理解系统在这方面仍有局限。

基准数据集

  • 研究者考虑了五个覆盖不同常识推理类型的数据集:
    • CSQA:询问涉及复杂语义的世界常识问题。
    • StrategyQA:要求模型推断出回答问题的多步骤策略。
    • Date Understanding:从给定上下文中推断日期。
    • Sports Understanding:判断与体育相关的句子是否合理。
    • SayCan:将自然语言指令映射到一系列离散的机器人动作。

实验设置

  • 实验沿用了前一节的设置,为CSQA和StrategyQA从训练集中随机选择例子,并手动编写了用作少量示例的思维链。
  • 对于没有训练集的两个BIG-bench任务,研究者选择了评估集中的前十个例子作为少量示例,并在其余评估集上报告结果。
  • 对于SayCan数据集,研究者使用了Ahn等人(2022年)使用的六个训练集例子,并手动编写了思维链。

实验结果

  • 思维链提示显著提升了语言模型在所有任务上的性能,特别是对于PaLM 540B模型,其性能提升最为显著。
  • 通过思维链提示,PaLM 540B在StrategyQA上超越了之前的最佳水平(75.6%对比69.4%),在体育理解任务上也超越了未辅助的体育爱好者(95.4%对比84%)。
  • 这些结果表明,思维链提示可以改善需要一系列常识推理能力的任务的性能,尽管在CSQA上的性能提升较小。

结论

  • 思维链提示不仅适用于数学问题,还能提高语言模型在常识推理任务上的表现。
  • 通过在少量示例中加入思维链,可以显著提高模型的推理能力,尤其是在大型模型上。
  • 这项研究进一步证明了思维链提示是一种强大且灵活的方法,能够扩展语言模型在多种复杂任务上的应用范围。

符号推理(Symbolic Reasoning)

研究目标

  • 展示思维链提示不仅能够使语言模型解决在标准提示下难以处理的符号推理任务,而且还能够处理比少量示例中见到的更长的输入序列。

任务设计

  • 姓氏字母连接任务:要求模型将姓名中每个词的最后一个字母连接起来(例如,“Amy Brown” → “yn”),这是对语言模型已经能够处理的首字母连接任务的扩展。
  • 硬币翻转任务:要求模型回答在一些人翻转或不翻转硬币后,硬币是否仍然是正面朝上(例如,“A coin is heads up. Phoebe flips the coin. Osvaldo does not flip the coin. Is the coin still heads up?” → “no”)。

实验设置

  • 为了测试模型的泛化能力,研究者为每个任务设计了领域内(in-domain)和领域外(OOD)的测试集。领域内测试集的示例步骤与训练/少量示例中的步骤相同,而领域外测试集的示例步骤则更多。
  • 在姓氏字母连接任务中,模型仅看到两个词的姓名示例,然后对包含3个和4个词的姓名进行字母连接。
  • 在硬币翻转任务中,模型在示例中只看到两次可能的翻转,然后在测试时处理更多次的翻转。

实验结果

  • 领域内测试:使用PaLM 540B模型,思维链提示几乎达到了100%的解决率。值得注意的是,即使是标准提示在硬币翻转任务上也能达到PaLM 540B的解决率,但对于LaMDA 137B则不行。
  • 领域外测试:标准提示在两项任务中都失败了。而使用思维链提示,语言模型展现出向上的性能提升曲线(尽管性能低于领域内设置)。
  • 这些结果表明,对于足够规模的语言模型,思维链提示有助于在未见过的更长思维链上进行泛化。

结论

  • 思维链提示作为一种方法,不仅提高了语言模型在符号推理任务上的性能,还促进了模型对更长序列的泛化能力。
  • 实验结果强调了模型规模的重要性,只有在达到约100B参数规模时,模型才展现出对未见符号进行抽象操作的能力。
  • 这项工作进一步证明了思维链提示是一种强大且灵活的方法,能够扩展语言模型在多种复杂任务上的应用范围,并为未来的研究提供了新的方向。



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询