大语言模型推理指南:2024思维链(CoT)技术深度解析
本文全面解析了增强大语言模型推理能力的思维链(CoT)提示技术,涵盖从基础CoT到零样本CoT、自洽性、最少到最多提示及微调CoT等高级方法的演进,并探讨其应用、局限及对AI发展的影响。
背景:从提示学习到思维链
2021年,提示学习(prompt learning)浪潮兴起,而早在2020年,OpenAI 就在论文 Language Models are Few-Shot Learners 中提出了如何使用 prompt learning 提升大模型的推理能力。论文中提出了 Zero-shot、One-shot、Few-shot 三种不同的 prompt 方法。
图1: 不同提示方法与微调的对比
- Few-Shot (FS):指模型在推理时给予少量样本,但不允许进行权重更新。Few-shot 的主要优点是大幅度降低了对特定任务数据的需求,并减少了从微调数据集中学习过度狭窄分布。主要缺点是该方法的结果迄今为止远不如最先进的微调模型。
- One-Shot (1S):与 Few-Shot 类似,只允许一个样本。将 One-Shot 与 Few-Shot、Zero-Shot 区分开的原因是它最接近某些任务与人类沟通的方式。
- Zero-Shot (0S):不允许提供样本,只给出描述任务的自然语言指令。该方法提供了最大的方便性、稳健性以及避免虚假相关的可能性,但也是最具挑战性的设置。
然而,即使是 Few-Shot,这种方法对于需要逻辑推理的问题(如简单的算术应用题)效果依然有限。于是,思维链(Chain-of-Thought,CoT)很自然地被提出了。
大模型“涌现”的思维链
在大模型领域,“涌现”指的是当模型突破某个规模时,性能显著提升,表现出让人惊艳、意想不到的能力,如逻辑推理能力。强大的逻辑推理是大语言模型“智能涌现”出的核心能力之一,而推理能力的关键,在于思维链技术。
1. 思维链的开山之作:Chain-of-Thought Prompting
1.1 提出者与核心思想
思维链的概念由华人科学家 Jason Wei 等人于2022年初提出。其核心思想是通过向大语言模型展示少量包含推理过程的示例,引导模型在回答问题时也展示其推理步骤,从而得出更准确的结果。
1.2 技术细节与效果
CoT 在实现上修改了提示中每个示例的“目标”(target)。Source(输入)保持不变,但 target 从原先的最终答案(answer, a)替换成了推理依据(rationale, r)加上答案(a),即 r + a。模型被引导生成推理过程而不仅仅是答案。
以一个数学题为例:
标准提示:问:“罗杰有5个网球。他又买了两罐网球。每罐有3个网球。他现在有多少个网球?” 答:“11”
CoT提示:问:“罗杰有5个网球。他又买了两罐网球。每罐有3个网球。他现在有多少个网球?” 答:“罗杰先有5个球。2盒3个网球等于6个,5 + 6 = 11。所以答案是11。”
这种方法将多步骤推理问题分解为中间步骤,分配更多计算量,使模型的决策过程更具可解释性。实验表明,在数学推理数据集(如GSM8K)上,CoT 能将大模型(如PaLM 540B)的性能提升300%以上,甚至超过当时有监督学习的最优表现。
2. 零样本思维链:Zero-shot-CoT
零样本思维链是对 CoT 的后续发展。研究者发现,只需在问题末尾附加“Let‘s think step by step”这句话,大语言模型就能自主生成推理链,从而提升答案准确性。
从技术上讲,Zero-shot-CoT 是一个两阶段的流程:
- 生成推理链:使用包含“Let‘s think step by step”的提示让模型生成思考过程。
- 提取答案:将第一步生成的推理链和原始问题组合,配合如“The answer is ”这样的提示,激励模型输出最终答案。
实验显示,Zero-shot-CoT 能显著提升模型在推理任务上的表现,例如将 GPT-3 在某个任务上的准确率从 17% 提升至 78%。
3. 自洽性:通过多数投票提升性能
自洽性(Self-consistency)是 CoT 的一个重要改进。其核心思想不是只生成一条推理路径,而是利用大模型的随机性(通过调整温度等参数)生成多条不同的推理路径,然后从这些路径得出的答案中选取出现次数最多的那个作为最终答案。
这种方法类似于“三个臭皮匠,顶个诸葛亮”,通过聚合多个可能不完美的推理过程来获得更可靠的结果。实验证明,自洽性能够持续稳定地提升 CoT 在各种推理任务上的性能。
4. 最少到最多提示:Least-to-Most Prompting
最少到最多提示过程将思维链提示进一步发展,专门用于解决复杂问题。其策略分为两步:
- 分解:将原问题分解为一系列顺序相关的子问题。
- 依次解决:逐个解决子问题,并将已解决的子问题及其答案作为上下文,用于解决下一个子问题,直至解决最终问题。
这种方法模仿了人类解决复杂问题时的策略(“分而治之”),并且可以与 CoT 结合使用(即在解决每个子问题时使用 CoT)。在诸如 SCAN(指令映射)等复杂任务上,LtM 配合 Codex 模型能将准确率从 16% 提升至接近 100%。
5. 指令微调与 CoT 的结合:Flan-PaLM/T5
Google 的 Flan 系列工作探索了如何通过大规模指令微调来极大提升模型的泛化能力。Flan-PaLM/T5 的关键创新之一是将 CoT 数据纳入微调任务。
其方法核心包括:
- 任务统一:将 1800+ 个 NLP 任务统一为相同的文本输入输出格式。
- 提示模板:根据任务是否需要推理(CoT)和是否需要示例(Few-shot),设计了四种提示模板。
- 混合训练:在众多任务中混合了少量(如9个)CoT 任务进行微调。
结果表明,即使 CoT 任务只占微调任务的很小一部分,也能显著提升模型在所有任务(包括非 CoT 任务)上的整体推理和泛化能力,且不会对非推理任务造成损害。这证明了 CoT 与指令微调框架的优秀兼容性。
6. 知识蒸馏:让小模型获得推理能力
CoT 的一个主要局限是依赖超大规模模型(百亿/千亿参数)。为了将推理能力赋能给更易部署的小模型,研究者提出了 Fine-tune-CoT 方法。
其核心流程是利用具备强大 Zero-shot-CoT 能力的大模型(如 ChatGPT)作为“教师”,为大量问题生成带有推理步骤的答案,然后用这些生成的〈问题,推理链,答案〉数据对“学生”小模型进行微调。这种方法无需人工标注推理数据,即可将推理能力有效迁移到小模型上。
7. 思维链的局限性
尽管强大,思维链仍有明显局限:
- 规模依赖:CoT 的“涌现”能力严重依赖模型规模(通常需百亿参数以上),限制了其在资源受限场景的应用。
- 领域局限:目前 CoT 主要在数学、常识推理等特定领域效果显著,在其他任务(如机器翻译)上的提升有待验证。
- 并非真正理解:即使使用 CoT,模型仍可能犯低级计算错误(如 6*13=68)。这表明其推理更多是“模式模仿”而非真正理解数学或逻辑原理。
- 错误传播:在 LtM 等多步方法中,前期子步骤的错误会导致后续步骤失败。
总结与展望
思维链及其衍生技术(Zero-shot-CoT, Self-Consistency, LtM)通过显式地引导大语言模型展示中间推理步骤,显著提升了其在数学、常识推理等复杂任务上的性能。它不仅是提升模型能力的有效工具,也增强了模型决策过程的透明度和可解释性。
未来的方向包括:
- 探索在更小模型上实现有效推理的技术(如更高效的知识蒸馏)。
- 将 CoT 原则扩展到更多模态和任务类型。
- 深入研究 CoT 的机理,并与模型的可解释性研究结合。
- 克服其当前局限,例如对错误更鲁棒,以及实现更深层次的理解而非表面模仿。
思维链揭示了大语言模型当前的能力边界:它们擅长利用海量数据与算力进行模式关联和生成,但在需要精确、抽象、深层次逻辑理解的领域,依然面临挑战。善用如 CoT 这样的工具,让人脑的精确逻辑与 AI 的生成能力协同工作,才是智能时代的有效策略。
版权与免责声明:本文仅用于信息分享与交流,不构成任何形式的法律、投资、医疗或其他专业建议,也不构成对任何结果的承诺或保证。
文中提及的商标、品牌、Logo、产品名称及相关图片/素材,其权利归各自合法权利人所有。本站内容可能基于公开资料整理,亦可能使用 AI 辅助生成或润色;我们尽力确保准确与合规,但不保证完整性、时效性与适用性,请读者自行甄别并以官方信息为准。
若本文内容或素材涉嫌侵权、隐私不当或存在错误,请相关权利人/当事人联系本站,我们将及时核实并采取删除、修正或下架等处理措施。也请勿在评论或联系信息中提交身份证号、手机号、住址等个人敏感信息。



