Chain-of-Thought Prompting
思维链(CoT)提示让语言模型在给出答案前写出中间推理步骤,从而提高其解决多步骤问题的准确率。
思维链(CoT)提示是一种提示工程技术,大语言模型(LLM)会先写出中间推理步骤,再给出最终答案。模型不再从问题直接跳到“9”,而是先写出“23 - 20 = 3,3 + 6 = 9”,最后再给出答案。Google 的 Jason Wei 及其同事在 2022 年的论文思维链提示能激发大语言模型的推理能力中介绍了这项技术。PaLM 540B 在提示中加入八个解题示例后,在 GSM8K 基准上的得分从 17.9% 提升至 56.9%。GSM8K 是一个小学数学应用题基准;此前的最佳成绩为 55%,由经过微调的 GPT-3 与单独训练的验证器共同取得。
思维链提示的工作原理#
LLM 一次生成一个词元,每个词元都会经过固定数量的网络层。如果问题的答案需要多个步骤,模型必须在写出答案的第一个词元之前完成所有推理。当模型逐步写出推理过程时,每个中间结果都会进入上下文窗口,并影响之后生成的每个词元;因此,难题会在答案出现前消耗更多词元和更多计算资源。
少样本 CoT 会在提示中放入少量示例,每个示例都是一道题和对应的解题过程;模型随后会模仿这种格式回答新问题。这是根据提示中的示例进行的少样本学习。Wei 等人论文图 1 中的这段交互展示了这种格式。第一个答案是写入提示中的示例,第二个则是模型的回复:
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?
A: Roger started with 5 balls. 2 cans of 3 tennis balls each is 6 tennis balls. 5 + 6 = 11. The answer is 11.
Q: The cafeteria had 23 apples. If they used 20 to make lunch and bought 6 more, how many apples do they have?
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.如果把同一个示例缩减为“The answer is 11.”,模型对食堂问题的回答就会变成“The answer is 27.”。
零样本 CoT 无需示例。Takeshi Kojima 及其同事发现,只需在问题后附加 "Let's think step by step",就足以让模型写出思维链:使用 InstructGPT (text-davinci-002) 时,这句话使 MultiArith 基准上的零样本准确率从 17.7% 提升至 78.7%,并使 GSM8K 上的准确率从 10.4% 提升至 40.7%,正如大语言模型是零样本推理器中所报告的那样。
思维链何时有帮助#
效果提升取决于模型规模和任务。Wei 等人将 CoT 描述为一种随规模涌现的能力:只有约 1,000 亿参数的模型才出现性能提升,而较小模型“生成了流畅却不合逻辑的思维链”,得分低于标准提示。最大的提升出现在算术、常识和符号推理等多步问题上。对于仅包含一步运算题目的 SingleOp,效果则是负面或非常有限。
对多个推理链进行采样比使用单个推理链效果更好。在自洽性方法中,Xuezhi Wang 及其同事使用核采样或温度采样生成不同的推理路径,并选取大多数路径认可的答案;与单条贪心推理链相比,这使 GSM8K 准确率提高了 17.9 个百分点。每增加一条推理链都会生成更多词元,因此 CoT 和自洽性是在推理延迟与成本上作出权衡,以换取准确率。
视觉语言流水线会使用相同模式处理图像证据。在 Ultralytics Platform Agents 中,LLM 模块会接收图像和上游 YOLO26 检测结果;因此,这里的思维链提示可以让视觉语言模型逐个分析检测到的物体,然后再对整个场景作出判断。
推理模型与忠实性#
推理模型,例如 OpenAI 的 o1,于 2024 年 9 月发布;这类模型通过强化学习进行训练,会在每次回答前生成较长的思维链,因此不再依赖提示来触发这种行为。OpenAI 的推理最佳实践建议开发者不要对这些模型使用“逐步思考”指令,因为这类提示可能毫无帮助,有时甚至会降低效果。
书面推理链看起来也像是对答案的解释,因此很容易让人把它看作可解释 AI。Miles Turpin 及其同事在语言模型并不总是说出它们的想法中表明,推理链可能会歪曲真实原因:当少样本示例重新排序后,正确选项始终为 "(A)" 时,GPT-3.5 和 Claude 1.0 的回答更倾向于 "(A)",并写出为这些回答辩护、却不提及选项顺序的推理链。像这样的偏置特征使 13 项 BIG-Bench Hard 任务的准确率最多下降 36%。看似合理却错误的推理链是LLMs 中的幻觉的一个来源。










