文章目录
- 1. COT:Chain of Thought
- 1. 研究背景
- 2. CoT的原理
- 3. CoT Prompt
1. COT:Chain of Thought
COT 是 2022.01 由 google 提出的针对提升 LLM 的推理能力的 Prompt Engineering 方法。
paper:
- Chain-of-Thought Prompting Elicits Reasoning in Large Language Models
- v1:https://arxiv.org/abs/2201.11903
- v2:https://arxiv.org/abs/2201.11903v2
参考资料:
- 【跟李沐学AI 论精精读-43】Chain of Thought论文、代码和资源
- 一文读懂「Chain of Thought,CoT」思维链
1. 研究背景
- LLM 使用大力出奇迹的方法(增加模型的训练数据和参数量)在情感分析和主题分类等 NLP 任务上已经实现了强大的性能。这些任务称为 system-1 tasks,这些任务能够很快很直观的被人类所理解。
- 但 LLM 在推理任务中具有局限性:难以在推理任务中取得良好的性能,比如数学、符号、常识推理。这类任务称为 system-2 tasks,人类对这些任务需要详细的推理。
LLM 在推理任务中的局限性被称为 flat scaling curves,即简单地增加模型规模不会导致实质性的性能增益(大力不能出奇迹了)。
2. CoT的原理
CoT 的核心在于让 LLM 模拟人类一步一步思考和推理的过程(step-by-step thought process),并将该过程写入到 prompt 中。因此 CoT 是一种 Prompt Engineering 方法,并不涉及模型结构的改进。
传统的 Standard Prompt 只是 LLM 能力的下限,通过各种 Prompt Engineering 方法可以提高 LLM 的性能。
区别于传统的 Standard Prompt 从输入直接到输出的映射 「 input --> output 」 的方式,CoT 完成了从输入到思维链再到输出的映射,即 「 input --> reasoning chain --> output 」。如果将使用 CoT 的 Prompt 进行分解,可以更加详细的观察到 CoT 的工作流程。COT的原理如下图所示:
3. CoT Prompt
一个完整的包含 CoT Prompt 由指令(Instruction),逻辑依据(Rationale),示例(Exempes)三部分组成:
- Instruction:用于描述问题并且告知大模型的输出格式
- Rationale:指 CoT 的中间推理过程,可以包含问题的解决方案、中间推理步骤以及与问题相关的任何外部知识
- Exempes:指以 Few-Shot 的方式为大模型提供输入输出对的基本格式,每一个示例都包含:问题、推理过程、答案。
以是否包含 Exempes 为区分,可以将 CoT 分为 Zero-Shot CoT 与 Few-Shot CoT:
- Zero-Shot CoT:不添加 Exempes 而仅仅在指令中添加一行经典的 “Let’s think step by step”(GPT-3是这个指令),就可以“唤醒”LLM的推理能力。
- Few-Shot Cot:在 Exempes 中详细描述了“解题步骤”,让模型照猫画虎得到推理能力。最早的 Exempes 是人为制定的,这可能导致 LLM 的性能依赖于 Exempes 的质量,因此后面出现了 Auto Cot 的工作,使 LLM 自动生成 Rationale