一道题问 40 遍,AI 居然突然变聪明了?——2022 年这篇论文,把「大模型爱猜错」治好了
- 关联论文:2203.11171
你有没有过这种瞬间——
你让 GPT 算「23 - 5 + 8」,它回「剩 22」; 你换个问法再问一遍,它答对了。
——AI 不是不会,是 它刚好「脑子抽了」,走错了一条推理路。
2022 年 Google Research 的 Wang 等人在 ICLR 2023 发表 "Self-Consistency",做了一件反直觉的事:
不让 AI 只走一条推理路。让它走 40 条,再让答案们「投票」。
就这一招,GSM8K 小学数学题准确率从 56.8% 推到 74.4%。被引 7938 次,OpenAI o1/o3、Claude、Llama 全部沿用——它是今天所有大模型「多采样+投票」默认机制的祖师爷。
为什么「只走一条路」这么容易错
2022 年初,大模型刚会「一步步想」——Chain-of-Thought(CoT)。AI 在给答案前先把推理过程写出来:
问:23 - 5 + 8 = ?
AI 答:23 减 5 等于 18,18 加 8 等于 26。所以答案是 26。
但 CoT 默认 「贪心解码」——每步都选概率最高的 token,绝不回头。三个老问题:
- 一步错,步步错。第一步幻觉,后面再优雅也是错;
- 多思路被扔掉。一道题常有 3、4 种等价解法,贪心只走第一条,其余「脑子里有但没说出来」;
- 小波动大灾难。换个例子顺序、改温度,结果能差 10%。
Wang 他们的洞察——
如果一个答案从不同思路都能推出来,这个答案大概率是对的。
Self-Consistency 怎么「作弊」:40 条路 + 投票
伪代码(改编自论文):
def self_consistency(question, n_sample=40, temperature=0.7):
responses = [llm.generate(question, temperature=0.7) for _ in range(n_sample)]
return Counter(extract_answer(r) for r in responses).most_common(1)[0][0]
三件事讲明白:
第一,采样代替贪心。temperature=0.7 是「甜点」——太低样本都长一样,太高模型胡说。
第二,投票的是「答案」,不是「推理路径」。一条写「用减法」得 26,另一条写「分两次运算」也得 26——不在乎路径怎么走,只在乎它们是否指向同一答案。
第三,N 条路径里哪怕有些过程错了,只要答案汇到一起,就被吸收——过程错 + 答案对,在投票里被视为正常。
涨了多少?那张表差点刷屏
论文在 5 个基准上对照(主模型 code-davinci-002):
| 任务 | Greedy CoT | Self-Consistency | 涨多少 |
|---|---|---|---|
| GSM8K(小学应用题) | 56.8% | 74.4% | +17.6% |
| SVAMP(应用题变体) | 76.9% | 86.6% | +9.7% |
| AQuA(选择题算术) | 35.8% | 48.0% | +12.2% |
| StrategyQA(隐式推理) | 65.4% | 73.9% | +8.5% |
| ARC-challenge | 75.0% | 85.6% | +10.6% |
消融实验:前 5~10 个样本带来 绝大部分 增益;温度 0.7 是甜点;同等算力下「多样性 + 投票」显著优于「单点最优搜索」;7B 以下模型基本没收益——模型太弱,采样出的 N 条大多错,投票退化成「错错投票」。
为什么这件事在今天还重要
今天 ChatGPT、Claude、Gemini 几乎所有推理类产品都在用 Self-Consistency 的精神内核:
- OpenAI o1/o3——你以为它「会思考」?核心机制是 「采样 N 条推理路径 + 用过程奖励模型 PRM 选最佳」,是 Self-Consistency 的「Plus 版」。
- Tree-of-Thoughts、Self-Refine、Process Reward Model——这一串名字全是 Self-Consistency 的徒子徒孙。
- 2024 年 Test-Time Compute Scaling 浪潮——直接以 Self-Consistency 为方法论基石。
一个几乎零训练成本、纯解码侧 trick 的小改动,撑起了 2023-2025 整个「推理时算力换精度」的产业。
但它有五个明显的坑
- 时延和成本直接 ×N。在线聊天场景用户等 40 秒反人类。
- 答案抽取是 single-point-of-failure。模型答「The answer is (C)」或「26.」或「答案是 26」——你要写正则抠。格式飘一下,投票就崩。
- 一致性 ≠ 正确。模型对一道题 「集体自信地走向错误」,投票反而强化错。Adversarial prompt、bias 测试上尤其明显。
- 中间推理错了它不知道。它只对 final answer 投票,「过程性错误」完全无信号。
- 7B 以下模型用了等于没。投票退化成「随机」。
工程落地的 6 条实操
- 离线任务无脑上:批量数据、模型自评、标注流水线——N=40 无约束。
- 在线服务用「低 N + 强约束」:N=5 + JSON-schema constrained decoding + 答案 verifier。
- 答案抽取三层加固:Prompt 强格式约束 + 多正则兜底 + 小模型回退抽取。
- 加「答案可信度检验」:39 个同答案时警惕「集体自信错」;无多数派时降级为 Greedy CoT 或返回「不确定」。
- KV-cache 复用:N 次采样共享前缀,vLLM、TGI 已内置 prefix-caching。
- 升级路径:Self-Consistency baseline → 引入 PRM 排序层 → Best-of-N + PRM → o1 路线。
写在最后:为什么一个 2022 年的 trick 撑起了 2025 年
读完 Self-Consistency,你会发现一件有意思的事:
AI 真的「会思考」吗?不,它只是「被问了 N 次同一个问题,然后答得最多的那个答案被选了出来」。
听起来像民主投票——不是「正确答案」找到了,而是「最一致的答案」被认定。
但在 GSM8K 这种「单一确定答案」的任务上,最一致 ≈ 最对——因为正确答案能由多条路径抵达,错误答案往往只能「正好踩中某个具体错」到达。
这就是 Self-Consistency 跨越四年、跨越四代模型、跨越所有厂商,成为 test-time compute scaling 这个产业级话题的奠基直觉——
不要花更多算力训练更大的模型;花更多算力「让模型多想想,再选一个最好的答案」。
论文里那张表,不是一个学术数字,是 2023-2026 年推理侧所有故事的起点。
走小红书通道:3 个标题变体 + 卡片文案
变体标题 A(悬念 / 反差感):
让 ChatGPT 把一道题算 40 遍,它居然从 56% 直接冲到 74%?
变体标题 B(数字冲击 / 教科书型):
GSM8K 从 56.8% 到 74.4%:2022 年这篇论文,是 o1/o3 时代的真正起点
变体标题 C(口语 / 种草型):
你以为 AI「会思考」?它只是「被问了 40 次同一个问题」🤯
小红书风格卡片正文(300-600 字):
家人们,谁懂啊——AI 不是不会算数学题,是它「脑子抽了」走错了一条推理路 🧠💥
2022 年 Google 这篇《Self-Consistency》就一个 idea:让 AI 把同一道题算 40 次,然后让 40 个答案投票 🤝
就这一招,小学数学题 GSM8K 准确率 56.8% → 74.4%,直接 +17.6%。被引 7938 次,OpenAI o1/o3 沿用至今 ✨
它解决的事很简单:之前的大模型每步都「贪心选最优」,一步错步步错,一道题 3-4 种解法只用 1 种,AI 脑子里的另外几种都被扔掉 😩
Self-Consistency 反过来:温度调高(0.7 甜点),让 AI 多走几步,40 条推理路径里只要多数指向同一个答案,那个答案就赢 👑
听起来像民主投票?本质就是。但管用——正确答案能由多条路径抵达,错误答案往往只能「刚好踩中某个错」到达 🧐
这就是为什么今天 ChatGPT、Claude、Gemini 都在用「多采样+投票」——这就是祖师爷 📚
6 条实操干货 ⚡ 1. 离线任务无脑上:N=40 不心疼 2. 在线用「低 N + 强约束」:N=5 + JSON schema 答案校验 3. 答案抽取三层加固:强 prompt + 多正则 + 小模型兜底 4. 加「答案可信度检验」:39 同答案时要警惕「集体自信错」 5. KV-cache 复用:vLLM、TGI 都内置 prefix-caching 6. 升级路径:Self-Consistency → 引入 PRM → Best-of-N+PRM → o1 路线 🚀
AI干货 #大模型 #LLM #SelfConsistency #推理 #o1 #论文解读 #人工智能 #机器学习 #深度学习