前言
- 思维链(Chain-of-Thought,简称 CoT)是一种先进的提示(Prompt)技术。它旨在显著提升大型语言模型(LLMs)在复杂推理任务中的表现。在处理复杂问题,尤其是复杂的数学难题时,大型语言模型很难直接给出正确答案。这些任务包括算术推理(比如解复杂的方程式和应用题)、常识推理(例如理解日常生活场景中的隐含意义和后果)以及符号推理(比如处理逻辑符号和形式符号)。
- 思维链通过要求模型在给出最终答案之前,明确展示中间的逐步推理过程,来增强大型语言模型的算术、常识和推理能力。这种方法简单却非常有效,因为它能让模型将复杂问题分解成可处理的部分,从而得出更准确的答案。
思维链就是一系列中间的推理步骤(a series of intermediate reasoning steps) 。通过让大模型逐步参与将一个复杂问题分解为一步一步的子问题并依次进行求解的过程可以显著提升大模型的性能。
一个完备的涵盖思维链(CoT)的提示(Prompt)通常由以下三个关键部分构成:指令(Instruction)、逻辑依据(Rationale)以及示例(Exemplars)。
指令部分主要用于清晰地阐述问题,并向大模型明确规定输出的格式要求。它犹如一盏明灯,为大模型指引着回答问题的方向与形式。
逻辑依据,其实就是思维链所涉及的中间推理流程。这其中不仅涵盖了针对问题的具体解决方案,还有各个中间推理的详细步骤,甚至包括与问题相关联的一切外部知识信息。它像是一条推理的脉络,串联起问题与答案之间的思维路径。
示例则是以少样本学习的方式,为大模型呈现输入输出对的基本样式。每一个示例都包含了特定的问题、完整的推理过程以及对应的答案。这些示例就像是一个个学习的范例,供大模型参考借鉴。
依据是否包含示例这一标准,可以将思维链分为零样本思维链(Zero-Shot-CoT)与少样本思维链(Few-Shot-CoT)两类。
零样本思维链无需添加示例,仅在指令当中添加一句经典的 “让我们逐步思考”(Let’s think step by step),便能有效地 “激活” 大模型内在的推理潜能,使其在面对问题时开启推理模式。
而少样本思维链则是在示例中极为详尽地描述了 “解决问题的具体步骤”,从而让大模型能够依葫芦画瓢般地获取推理能力,通过对示例的学习与模仿来应对新的问题情境。
思维链技术极大地提升了大语言模型(LLM)在处理复杂推理任务时的表现水平。而且,其输出的中间推理步骤能够让使用者清晰地洞察模型的思考进程,这无疑显著增强了大模型推理过程的可解释性。在当下,思维链推理已然成为大模型应对复杂任务时极为常用且有效的一种手段。