先记住一句话
CoT 给模型一个串行“草稿纸”;self-consistency 用多个推理样本投票;verifier-guided search 用额外计算挑选或扩展更有希望的路径。Test-time compute 是这些预算的总称。
1. 为什么中间 token 可能帮助计算?
标准 decoder 每生成一个 token,就多执行一次完整网络前向,并把新 hidden state 写入上下文。若要求直接输出复杂问题的最终答案,模型只能把所有中间变换压在有限层深里;允许生成中间步骤,相当于把计算展开到时间维。
question → answer
question → intermediate step 1
→ intermediate step 2
→ check / revise
→ answer
Chain-of-Thought prompting 通过示例或指令诱导这种中间文本。它尤其帮助多步算术、符号推理和组合任务,但简单事实题可能只增加延迟和错误机会。
例 1:串行 token 就是额外 forward
直接答案 8 tokens;CoT 先写 192 tokens 再答 8 tokens,共 200 个 decoding steps,是原来的 25 倍 step 数。若稳定阶段每 token 20 ms,纯解码时间约从 0.16 s 增至 4 s。KV cache 避免重算历史 K/V,但不能消除新 token 的串行依赖。
2. CoT 是推理过程的真实解释吗?
不一定。可见 rationale 是模型生成的文本,可能确实参与后续 token 条件,也可能事后合理化、遗漏内部线索或受 prompt 风格影响。判断 faithfulness 需要干预中间步骤、检查答案是否相应变化,而不能只看文字是否流畅。
因此 CoT 可以是计算工作区,却不能自动当成神经网络决策的完整因果解释。
3. Self-consistency:为什么多采样有用?
同一问题用 temperature 采样多条不同 CoT,再对最终答案多数投票。若每条路径错误不是完全相关,多样采样可让正确答案汇聚:
path A → 42
path B → 40
path C → 42
path D → 37
path E → 42
majority → 42
它增加的是“横向”计算:并行尝试多个路径;更长单条 CoT 是“纵向”计算。若模型对同一种错误高度自信,多数投票也会稳定地选错。
例 2:3 路多数投票的理想化收益
假设每条路径独立且正确率 $p=0.7$,3 路至少 2 条正确的概率:
从 0.70 提升到 0.784。若错误高度相关,独立假设失效,实际收益会更小。
4. Pass@k、majority vote 和 verifier selection
| 方法 | 需要什么 | 回答的问题 |
|---|---|---|
| pass@k | 生成 $k$ 个 + 真值 checker | 至少一个候选正确的概率 |
| majority vote | 能规范化最终答案 | 哪个答案被最多独立路径支持 |
| verifier/reranker | 能给候选打质量分 | 哪个候选最值得选 |
Pass@k 是能力上界式指标,不代表系统知道哪个候选正确;真正部署需要 verifier、执行测试或一致性规则完成选择。
例 3:独立近似下的 pass@k
单样本成功率 $p=0.2$,$k=5$:
候选集中约 67.2% 有正确答案,但若随机返回一条,准确率仍只有 20%。
5. Search 怎样使用更多预算?
问题求解可以看作 partial reasoning states 的树。Beam search、best-of-N、Monte Carlo Tree Search 或 learned process verifier 可以扩展、评分和剪枝路径:
state
├─ candidate step A → score → expand
├─ candidate step B → low score → prune
└─ candidate step C → score → expand
搜索质量取决于 proposal model 能否产生多样好步骤,以及 verifier 能否在答案完成前判断 partial state。错误 verifier 会让更多计算更快地走向错误方向。
例 4:beam search 的节点数
每个 state 提议 4 个后续步骤,保留 beam width 2,搜索深度 3。每层分别评分 $4$、$2\times4=8$、$2\times4=8$ 个新节点,共 20 个;不剪枝的完整 4 叉树前三层需 $4+16+64=84$ 个。剪枝省 compute,但早期误剪无法恢复。
6. Test-time compute 包含哪些旋钮?
- 更多 reasoning tokens:单路径更长,允许分解与自检。
- 更多 samples:best-of-N、自一致性或 pass@k。
- 更强 search:在中间状态扩展与回溯。
- Verifier/judge:把生成与选择分开。
- 外部工具:运行代码、搜索资料、调用计算器或环境。
它们都增加推理时成本,但 scaling curve 不同。理想系统会按问题难度自适应预算,而不是每个请求都生成最长轨迹。
例 5:算边际收益,而不只看准确率
策略 A 用 500 tokens 得 70% accuracy;策略 B 用 2,000 tokens 得 78%。每题多 1,500 tokens 换 8 个百分点,边际是每 1,000 tokens 约 5.33 个百分点。是否值得取决于错误代价、延迟与 token 单价。
7. 训练怎样改变 test-time behavior?
CoT demonstration 可以让模型模仿人类写出的步骤;可验证奖励 RL 则直接奖励最终成功,让模型自己探索有用的长度、回溯和验证模式。后者可能产生更长推理,却也可能出现冗余循环、reward exploit 或不可读轨迹。
推理 token 增加不是能力提升的充分条件。必须同时看正确率、校准、延迟、token 成本,以及额外计算在难题上是否真正带来边际收益。
“模型想得更久”是工程比喻。我们能直接观测的是更多串行/并行前向计算和搜索;它是否对应人类式思考,需要更谨慎的机制证据。
自测:先算后展开
1. CoT 为什么可能增加模型可用计算?
每个中间 token 都触发新的网络前向,并把结果加入上下文,使复杂映射能沿生成时间分多步展开。
2. Self-consistency 与单纯拉长一个答案有何不同?
Self-consistency 并行采样多条不同路径并聚合最终答案;拉长答案只增加单一路径的串行步骤。
3. 为什么 pass@k 高不代表系统最终准确率高?
它只说明候选集中至少有一个正确答案;如果没有可靠 checker,系统可能无法识别并返回它。
4. 单样本成功率 0.5,独立采样 4 次 pass@4?
$1-0.5^4=0.9375$。
5. 5 路投票结果 A,A,B,A,B,majority 是什么?
A 获 3 票、B 获 2 票,返回 A;这不证明 A 真实正确。