🧠 从 Chain-of-Thought 到 Self-Consistency:大模型推理能力是如何被"解锁"的?
近年来,大语言模型(LLMs)在自然语言处理任务中取得了突破性进展,但一个长期存在的问题是:它们在复杂推理任务上的表现并不稳定。例如,在数学应用题、常识推理或逻辑推理问题中,模型往往会给出错误答案,即使模型规模已经非常大。
围绕这一问题,研究者提出了一系列方法,其中最具代表性的就是:
-
Chain-of-Thought Prompting(CoT)
-
Self-Consistency(自一致性)
这篇文章将带你完整理解:
👉 CoT是如何工作的
👉 它解决了什么问题,又带来了什么新问题
👉 Self-Consistency是如何进一步提升推理能力的
一、背景:为什么大模型"不会推理"?
在传统的prompt设计中,我们通常采用如下形式:
Q: 问题
A: 答案
这种方式本质上要求模型完成一个直接映射(input → output)。对于简单任务(如分类、翻译),这种方式是有效的。但在复杂任务中,例如:
"一个人有5个苹果,又买了2袋,每袋3个,一共有多少?"
这个问题实际上包含多个步骤:
-
理解已有数量
-
计算新增数量
-
合并结果
然而,标准prompt要求模型一步直接输出结果,这对模型来说是困难的。
二、CoT:让模型"把思考说出来"
为了解决这个问题,论文《Chain-of-Thought Prompting》提出了一种简单但有效的方法:
👉 让模型输出中间推理过程
2.1 CoT的核心思想
将prompt从:
Q → A
改为:
Q → 推理过程 → A
例如:
Q: Roger有5个球,他又买了2罐,每罐3个,现在一共有多少?
A: 他原来有5个球。2罐每罐3个,共6个球。5 + 6 = 11。所以答案是11。
2.2 为什么CoT有效?
CoT之所以有效,本质上是因为它做了三件事:
1️⃣ 分解问题(Decomposition)
将复杂问题拆成多个简单步骤
2️⃣ 延长计算过程(More tokens)
模型可以在生成过程中逐步修正
3️⃣ 更符合预训练数据分布
自然语言推理比公式更符合模型训练方式
2.3 CoT的效果
在GSM8K等数学任务中:
-
标准prompt:约17%
-
CoT prompt:约56%
👉 提升超过3倍
三、CoT的问题:为什么还不够?
虽然CoT已经显著提升了性能,但它仍然存在一个关键问题:
❗ 模型只生成"一条推理路径"
而这条路径可能是:
-
正确的
-
也可能是错误的
3.1 一个关键现象
即使使用CoT:
-
有些推理是正确的
-
有些推理是"看起来合理但其实错误"
而我们没有办法判断:
👉 当前这条推理是否可靠
3.2 根本原因(论文洞察)
Self-Consistency论文指出:
模型的概率分布并不能很好地区分"正确推理"和"错误推理"
也就是说:
-
最可能的推理 ≠ 正确推理
-
greedy decoding ≠ 最优选择
四、Self-Consistency:让模型"多想几种可能"
为了解决这个问题,论文《Self-Consistency Improves Chain-of-Thought Reasoning》提出了一种非常直观但强大的方法:
❗ 不再依赖一条推理路径,而是生成多条路径并投票
4.1 核心思想
论文提出一个重要观察:
一个问题可能有多种推理路径,但正确答案通常是唯一的
例如:
-
方法A算 → 18
-
方法B算 → 18
-
方法C算 → 26(错误)
👉 那么18更可能是正确答案
4.2 方法流程(非常重要)
Self-Consistency可以分为三步:
Step 1:使用CoT Prompt
Q → reasoning → answer
Step 2:采样多条推理路径(核心变化)
不再使用greedy decoding,而是:
👉 使用sampling生成多条路径
Path1 → Answer1
Path2 → Answer2
Path3 → Answer3
...
Step 3:答案投票(关键)
选择出现最多的答案:
18, 18, 26, 18 → 最终答案 = 18
4.3 数学表达(论文形式)
论文形式化为:
\\arg\\max_a \\sum_i \\mathbf{1}(a_i = a)
即:
👉 选择出现频率最高的答案
五、为什么Self-Consistency有效?
论文的核心解释非常值得理解:
5.1 正确路径更"稳定"
-
正确推理路径 → 更容易得到同一个答案
-
错误路径 → 更随机、更分散
👉 因此:
一致性 = 正确性信号
5.2 多样性(diversity)是关键
论文强调:
推理路径的多样性直接影响性能
-
sampling → 多样性高
-
beam search → 多样性低
5.3 避免局部最优
greedy decoding的问题:
-
只选概率最高路径
-
容易陷入错误推理
Self-Consistency:
-
探索多个路径
-
再做全局判断
六、实验结果:提升到底有多大?
6.1 数学任务(最显著)
在GSM8K上:
-
CoT:56.5%
-
Self-Consistency:74.4%
👉 提升 +17.9%
6.2 常识推理
如StrategyQA:
- 提升约 +6%
6.3 关键结论
👉 所有任务、所有模型都提升
👉 模型越大 → 提升越明显
七、与其他方法的对比
论文还对比了多种方法:
❌ Sample-and-Rank
-
按概率选最优输出
-
提升有限
👉 原因:概率不等于正确性
❌ Beam Search
-
多路径但相似度高
-
缺乏多样性
❌ Ensemble(多模型)
-
成本高
-
效果不如Self-Consistency
✅ Self-Consistency
-
单模型
-
多路径
-
投票机制
👉 本质:self-ensemble
八、更深层的意义(很重要)
Self-Consistency不仅是一个技巧,它揭示了一个重要事实:
8.1 模型已经具备推理能力
但:
❗ 单次输出无法稳定体现
8.2 推理能力是"分布式的"
-
不在某一条路径
-
而在"多条路径的统计规律中"
8.3 推理 ≠ 单次生成
而是:
采样 + 聚合
九、总结(可以直接作为结尾)
从Chain-of-Thought到Self-Consistency的发展,体现了大语言模型推理研究的重要转变:从"让模型学会一步步推理",到"让模型在多种推理路径中寻找一致答案"。CoT通过引入自然语言推理步骤激发了模型的推理能力,而Self-Consistency进一步通过多路径采样与答案聚合,显著提升了推理的稳定性和准确性。这一方法不仅无需额外训练或标注数据,还揭示了大模型内部推理能力的本质------它并非体现在单次生成中,而是体现在多个潜在推理路径的整体分布中。