本页基于 arXiv HTML 全文(已直接核验,v6)撰写;所有数字出自论文表格与正文,出处随文标注。
| 摘要短语 | 对应论文章节 | 本页章节 |
|---|---|---|
| "生成一系列中间推理步骤(chain of thought)" | §1 方法示例 | 二.1 |
| "简单方法:在 few-shot 提示中给出思维链示例" | §1、§2 实验设置 | 二.1、二.2 |
| "推理能力在足够大的模型中自然涌现" | §3 结果、§4 消融与讨论 | 二.4、二.5 |
| "算术/常识/符号推理三类任务均有提升" | §3 三组结果表 | 二.3 |
| "仅 8 个示例即令 PaLM 540B 在 GSM8K 超过带验证器的微调 GPT-3" | §3.1 Table 1 与 prior best 对比 | 二.3、三.1 |
in-context learning(few-shot 提示)——本文的基座能力
↓ 示例从 ⟨输入,输出⟩ 扩为 ⟨输入,思维链,输出⟩
CoT 提示 ←—— 枢纽节点
↓ ↘
算术基准(GSM8K等) 常识/符号基准
↓
规模消融(涌现曲线) → 三变体消融(为何有效) → 鲁棒性分析
主干线:方法定义 → 算术主结果 → 规模消融 → 变体消融。枢纽节点是"中间步骤作为额外计算"这一概念:三变体消融(equation-only / variable-compute / after-answer)全都是在检验这个概念的不同侧面。
| # | 声称的贡献 | 预评证据强度 | 理由 |
|---|---|---|---|
| 1 | CoT 提示大幅提升大模型的复杂推理成绩 | 强实验支撑 | 三个模型家族 × 五个算术基准 + 常识/符号任务,方向一致 |
| 2 | 收益随模型规模涌现(~100B 以下无收益甚至负收益) | 仅有内部扫描 | LaMDA/PaLM 各有规模阶梯,但阈值本身依赖所选任务与度量 |
| 3 | 成功源于自然语言中间步骤,而非额外计算或答案后置 | 强实验支撑 | 三个精心设计的对照变体逐一排除竞争解释(Figure 5) |
| 4 | "模型真正在进行推理" | 作者自己声明无法断言 | 局限节原话承认不回答神经网络是否真的"在推理";且答对≠路径对 |
| 5 | 结果对标注者/示例选择鲁棒 | 仅有小样本检验 | 3 位标注者 + 3 组众包示例的方差分析,覆盖面有限 |
必读主线:二.1(方法与示例)→ 二.3(数字)→ 二.5(三变体消融)。跳过二.5 是最常见的读法错误——那才是这篇论文区别于"我们试了个 prompt 效果很好"报告的灵魂。
可跳读支线:二.6 鲁棒性细节;但其中"列表反转任务上两位作者写不出有效思维链"一例值得专门看一眼,它是对"prompt engineering 已死"论调的提前反驳。
来源:论文 §1、§2
失效模式先行。标准 few-shot 提示下,模型必须从问题一步跳到答案。对多步问题这意味着两件事:① 中间推导全部发生在一次前向传播内部,没有"草稿纸";② 无论题目多难,解码预算恒定——一道一步加减法和五步应用题消耗同样的算力。GSM8K 上标准提示的成绩长期趴在 15–20%,就是这个失效模式的直接体现。
CoT 的改动小到令人发笑:在每个 few-shot 示例的答案前,人工写上一步步的自然语言推理过程,即把 ⟨input, output⟩ 扩成 ⟨input, chain of thought, output⟩。论文给的示例:"Jane 先给妈妈 2 朵花剩 10……再给爸爸 3 朵剩 7……所以答案是 7。"测试时模型自动模仿这种格式,先吐推理链、再吐最终答案,贪心解码。
实验纪律值得注意【§2】:除 AQuA 外,五个算术数据集共用同一套 8 个手写思维链示例,不做针对各数据集的 prompt engineering;LaMDA 结果为 5 个随机种子平均。
论文列出四个诱人特性【§1】:① 允许按问题难度分配更多计算(难=更长推理链);② 推理链是可检查的行为窗口,能定位错在哪一步;③ 适用一切可用语言求解的任务;④ 零微调、即插即用。
类比:CoT 就是给闭卷考生发了草稿纸。类比在哪里失效:人的草稿纸是外部暂存区,写错了可以划掉重来;语言模型的"草稿纸"是它自己的输出 token——一旦某个中间步骤生成出来,它就变成了后续生成的条件上下文,错误会被当真并放大而不是被擦除。所以 CoT 同时是加速器也是错误传播器。
来源:论文 §2、附录
| 家族 | 规模档位 |
|---|---|
| GPT-3(Instruct 系列) | 350M / 1.3B / 6.7B / 175B(text-davinci-002) |
| LaMDA | 422M / 2B / 8B / 68B / 137B |
| PaLM | 8B / 62B / 540B |
| 其他 | UL2 20B、Codex(code-davinci-002) |
这张阶梯表是后面"涌现"叙事的数据地基:没有跨三个数量级的同构扫描,就画不出 Figure 4 那种小模型平躺、大模型起飞的曲线。【解读者补充】注意 GPT-3 用的是 Instruct 系列而非原始 GPT-3,这既是工程现实也埋着一个混杂变量——见三.1。
来源:Table 1–5(PaLM 540B 行为主,贪心解码)
| 算术基准 | PaLM 540B:Standard → CoT(+外接计算器) | ||
|---|---|---|---|
| GSM8K | 17.9 → 56.9(58.6) | 提升 +39.0 | 超过微调 GPT-3+验证器(Cobbe et al. 的 55) |
| SVAMP | 69.4 → 79.0 | +9.6 | 超先前微调最优 57.4 |
| ASDiv | 72.1 → 73.9 | +1.8 | 距微调最优 75.3 差 2 点内 |
| AQuA | 25.2 → 35.8 | +10.6 | 距微调最优 37.9 差 2 点内 |
| MAWPS | 79.2 → 93.3 | +14.2 | 超微调最优 88.4 |
其他模型同向:Codex GSM8K 19.7→63.1(+43.4);GPT-3 175B 15.6→46.9(+31.3);LaMDA 137B 6.5→14.3(+7.8);UL2 20B 几乎不动(4.1→4.4)。MAWPS 子集拆解最见规律:单步题 SingleOp 上 PaLM 94.1→94.1(增益为零),而需四步的 MultiArith 上 42.2→94.7——增益与题目所需推理步数强相关。
常识推理(PaLM 540B):Sports 80.5→95.4(超过自称体育爱好者的无辅助人类 84%);Date Understanding 49.0→65.3;SayCan 91.7 vs 80.8;StrategyQA +9.2;CSQA 仅 78.1→79.9。符号推理(Table 5)最能说明泛化性:LASTLETTER 域内 2 词 7.6→99.4;OOD 3 词 0.2→94.8、OOD 4 词 0.0→63.0——标准提示在长度外推上完全崩塌,CoT 给出一条向上延伸的标度曲线。Coin Flip 同型:OOD 4 次 54.8→90.2。
手算验证:GSM8K 提升 (56.9−17.9)/17.9 ≈ 218% 相对提升,绝对 +39 分;MultiArith 相对提升 (94.7−42.2)/42.2 ≈ 124%。再看反例 LaMDA 137B 的 AQuA:25.5→20.6,−4.9——这是全文唯一显著的负增益点,提醒"CoT 万能"不成立(AQuA 为多选代数题,自由文本推理可能引入干扰选项偏差)【Table 1】。
常见误读:
① "CoT 让模型学会了新东西"——训练全程未动一个参数;改变的是已有能力的调用方式(论文标题用词 elicit,"引出",很精确)。
② "56.9 说明模型会做小学数学了"——GSM8K 仍有 43% 错误率;且错误分析显示部分正确来自侥幸(见 2.4)。
③ "8 个示例是精心调出来的魔法"——附录 A.3 明说众包工人写的 ≤2 步短示例效果相当,且跨数据集复用仍有效;真正的门槛在模型规模不在示例。
来源:论文 §4 讨论部分
对 LaMDA 137B 在 GSM8K 抽样 50 个答对样本:除 2 个碰巧蒙对外,思维链的逻辑与算术全部正确;50 个答错样本中,46% 只差一点(一步缺失、符号映射错、计算器错),54% 存在严重语义理解失败。PaLM 62B 的 45 个错误分类:语义理解 20、缺一步 18、幻觉/重复/符号映射 7——扩到 540B 后三类错误大部分消失。主张 vs 事实:"思维链质量随规模提高"抽样支持(但每格只有 50 题);"大模型更会推理"依赖对'推理'的定义。
来源:Figure 5(LaMDA 137B 与 PaLM 540B)
三个对照设计堪称教科书级:
① Equation-only:示例只写方程不写自然语言。GSM8K 上几乎无帮助——题目语义太绕,不经语言化无法直接翻译成方程;但 SVAMP/ASDiv 等 1–2 步题有效。
② Variable-compute only:让模型输出与方程等长的"……"占位符。表现与基线持平——证明"多算了 token"本身不是原因,内容才是。
③ Chain-of-thought-after-answer:先给最终答案再给推理链。也与基线持平——排除"只是激活了预训练知识/答案泄漏"的解释,顺序推理过程本身有用。
三者合围后的结论非常干净:起作用的是以自然语言表达的、位于答案之前的中间推理步骤。
来源:附录 A
三位作者各自独立写的思维链效果都有大幅超越基线(个别任务方差可观:coin flip 上标注者 A 达 99.6%、标注者 C 仅 71.4%,但均高于标准提示的 50%);从 GSM8K 训练集随机抽的 3 组众包示例(≤60 token、≤2 步)效果与专家版相当,跨数据集使用亦然;示例顺序几乎不影响(coin flip 是唯一例外)。附录 A.3 总结的适用三条件:任务困难且需多步、模型足够大、标准提示的 scaling 曲线平坦。诚实的反面记录:列表反转任务上两位作者怎么都写不出有效思维链,第三位却写出完美版本——prompt 写作本身仍是手艺活。
"超过微调 GPT-3+验证器"是全文最响亮的句子,但两边不对称:对手 Cobbe et al. 是在 GSM8K 训练集上微调过 175B 模型并外挂验证器重排序的系统;本文是零训练的提示法。表面看零样本胜过全监督是奇迹,实际上 (a) GSM8K 的题型高度集中于小学应用题模板,预训练语料大概率见过大量同类内容(数据污染风险,论文未检测——【解读者观点】);(b) 本文用的 text-davinci-002/PaLM 本身经过指令微调,其预训练分布远大于 2021 年的 GPT-3。"零微调 vs 微调"的对决里,微调一方的底模落后了一个世代。另外 SVAMP 上标准提示(69.4)就已超过先前最优(57.4),说明部分"超越 SOTA"应记给底模进步而非 CoT 方法本身。
规模曲线显示 ~100B 参数以下 CoT 无正收益、<10B 反而有害(小模型产出"流畅但不合逻辑"的思维链)。这是论文的核心卖点,但要警惕两点:① 阈值位置取决于任务与指标——GSM8K 这种精确匹配指标天然造成"跳崖式"曲线,后续研究(如 Schaeffer et al. 2023)指出部分"涌现"是非线性度量的人工制品,换连续指标后曲线趋平(此为学界后续争论,属【解读者补充】,非本文内容);② 三个家族的阶梯不是严格受控变量——架构、数据、训练 token 数都不同。
CoT 的代价常被忽略:推理链使生成长度增加数倍到数十倍,延迟与推理成本同比上升;"给难题更多计算"的另一面是"给简单题也强加了格式开销"。SingleOp 上 94.1→94.1 的零增益就是纯亏的例子——多花了 token 什么也没换来。此外 8 个示例本身占用上下文窗口(每个 ≤60 token 的要求正是为此设的)。【解读者整理】
仅凭两个数字——"标准提示 GSM8K≈17.9%"、"MultiArith 标准提示≈42%"——推演:为什么解决该问题的方案必然指向"显式中间步骤",而不是更大的稠密模型或更好的解码策略?(L4)
42% 说明多步题在"一步到位"模式下接近随机水平之上但不稳,瓶颈不是知识缺失而是计算组织方式:自回归模型的一次前向难以完成多步串联。更大模型只能抬高常数(事实:GSM8K 标准提示从 350M 到 175B 也才爬到 15.6),更好解码(温度/束搜索)不改变单次前向的信息流结构。而 MultiArith 一旦允许分步书写就冲到 94+,说明能力本已在权重中、缺的是表达通道——这正是 CoT 的最小改动假设。评分:指出"一步到位"的结构缺陷 3 分、用两组数字互证 3 分、排除替代方案 2 分。
(a) PaLM 540B 在 MAWPS 四个子集的标准提示分数(94.1/86.5/93.9/42.2)与其总分 79.2 是否大致相容?(b) "SVAMP 上标准提示已超先前最优"这句话用什么数字支持?(c) LASTLETTER OOD 曲线说明了什么与 GSM8K 不同的性质?(L2/L3)
(a) 大致相容:四个子集分数按数据集内占比加权平均应落在 79 附近——SingleOp/AddSub 占比高(90+ 与 93+)会把均值拉高,MultiArith 的 42.2 拉低,79.2 处于合理区间(精确复核需各子集题数,论文未给全,此处为量级校验)。(b) PaLM 540B 标准 69.4 > prior best 微调 57.4(Table 1 注)。(c) LASTLETTER 有域内/OOD 双测试集,能直接测长度泛化:标准提示 OOD 归零而 CoT 保持 63–95,说明 CoT 改变的是"程序式技能的可组合性",不只是刷高单一分布内的分数。
答辩四题:(1) 为什么用自然语言而非方程做思维链?(2) 为什么坚持全部任务共用一套 8 个示例?(3) 为什么设计"答案后再补思维链"这种看起来奇怪的变体?(4) 为什么错误分析要挑"答对的样本"?每题含"不这样做会怎样"。(L3/L4)
(1) Equation-only 消融直接回答:语义复杂的 GSM8K 无法跳过语言化直译成方程;若只用方程,方法对最难的任务失效。(2) 共用示例排除"逐任务 prompt engineering"的质疑,使结论可归因于方法本身;否则每个数据集的提升都可被怀疑为针对性调优。(3) 它排除"思维链只是激活预训练知识或泄漏答案"的竞争假说——若后置思维链同样有效,则 CoT 的功劳实为"多说了几句话";(3') 不做此对照,审稿人完全可以驳回因果解释。(4) 只看错误样本会低估"侥幸正确"的比例;对 50 个正确样本逐条审计发现 2 个蒙对,从而给出"正确率的高估幅度"估计。评分:每题主因+反面后果各 2 分。
回看 1.3 五条预评,读后修正。(L4)
贡献1 维持强支撑。贡献2 下调半档:三家族扫描一致性强,但"~100B 阈值"受度量方式影响(后续涌现争议),宜表述为"存在规模依赖"而非精确阈值。贡献3 维持强支撑——三变体消融是全文最扎实的部分。贡献4 维持主张且应强调作者自己在局限节做了免责。贡献5 维持消融级:标注者间 coin flip 方差(71.4–99.6)提示鲁棒性并非处处成立。评分:每条修正+理由 2 分。
few-shot 提示的本质是把任务定义压缩进上下文,让模型在推理期"临时学会"映射规则;CoT 把映射规则的求解过程也一并示范,相当于既给输入输出又给演算过程——三元组是二元组的严格超集,故为推广而非并列。三变体消融从三个正交方向证明:去掉中间内容只留长度(variable-compute)无效、改变内容形式(equation-only)在最难题上无效、颠倒内容位置(after-answer)无效——唯独"答案前的自然语言步骤"有效,恰是三元组相对二元组新增的那一部分。因此 CoT 的收益机制内生于 in-context learning 框架,而非需要新理论的外来现象。评分:超集关系 3 分、三消融的正交性论述 4 分。
不看材料,我能——写出 CoT 示例的三元组构成?报出 PaLM 540B 在 GSM8K/SVAMP/MultiArith 的 CoT 分数?说出三变体消融各自排除了哪种解释?指出"零微调胜微调"对比中的两处不对称?复述 A.3 的三个适用条件?