6.3 提示、思维链与推理模型
6.1的模型在预训练与对齐之后就冻结了参数。从这一节开始,我们不再训练任何权重,只用它的前向能力做任务——这就是提示(prompting)的世界。这条路线的诱惑力在于:它把「改进模型」的成本从一次训练降到一次输入改写。
本节分三层递进:最轻的一层是条件化——把任务翻译成前缀(6.3.1);中间一层是让模型写出中间步骤,即思维链与自洽性(6.3.2);最重的一层是把「多花算力在推理阶段」当成一条正式的技术路线——推理模型与测试时计算(6.3.3 起)。三层共享同一个核心问题:给定固定的参数,如何用更多的输入与更多的采样换更高的准确率,以及这条路的天花板在哪。
6.3.1 上下文学习:任务即前缀
不更新任何参数,只在输入里给出若干「示范」,让模型在一次前向中依据这段前缀改变行为。给 个示例 ,再拼上测试输入 ,模型直接续写出 :
是零样本(zero-shot)提示, 不大是少样本(few-shot)提示。整个过程没有梯度、没有参数更新——「学习」发生在前向的条件化里。
关键是预训练见过海量、多样的「任务格式」(问答、翻译、写代码、分步解题……)。当你在前缀里摆出几个示范,你其实是在指定「现在要做的是哪一类任务」——相当于在模型已经学到的一大堆子程序里定位一个,然后让它接着跑。
所以「举一反三」更像条件化 / 检索,而不是监督学习意义上的学习:能力是预训练已经装进去的,提示只负责把它调出来。这解释了两件事:① 提示对明确、常见的任务格式最有效;② 它不能凭空创造预训练里没有的知识。至于内部机制(是否存在专门识别「示范—测试」对应模式的回路),已有研究线索但尚无公认结论,证据有限。
| 规则 | 做法 | 为什么有效 |
|---|---|---|
| 任务显式化 | 一句话说清角色、输入、输出格式 | 减少「模型猜你要什么」的方差 |
| 格式约束 | 明确「只输出 JSON / 只输出一个词」 | 便于程序解析;避免前言与客套 |
| 示范顺序与标签分布 | 类别名交错、不要一边倒 | 示范顺序与标签偏斜会显著影响结果(位置偏差,6.7.3) |
| 让模型先复述约束 | 「先复述我的要求,再作答」 | 把约束搬进最近的上下文,减少中段遗忘 |
| 拆解而非堆积 | 一次只做一件事;长任务分解成多轮 | 单次前向的「注意力预算」有限(6.1.6) |
| 不确定就让它说 | 显式提供「不知道 / 需要更多信息」的输出选项 | 给模型一条退路,降低编造倾向(6.7.4) |
任务:判断一段影评是正面还是负面。不用任何微调,只用上下文学习完成它,并说明为什么这「算」完成了一个任务。
零样本:把任务写成一条指令,直接让模型续写:
判断下面这段影评是「正面」还是「负面」,只回答一个词。
影评:这部电影节奏拖沓,但配乐极好,我勉强看到结尾。
情感:
模型在前缀条件下对词表做 softmax,「正面」「负面」两个 token 的条件概率被比较,取大的那个:。
少样本:在前面再放两条带答案的示范,让「任务 = 读前缀并补全」这件事对模型更明确:
影评:剧情紧凑,演技在线。 情感:正面
影评:逻辑混乱,看到一半就想离场。 情感:负面
影评:这部电影节奏拖沓,但配乐极好,我勉强看到结尾。
情感:
为什么这就算一个任务:模型本来只在做 。上面两段把「分类」翻译成了「给定前缀,续写标签」。
必须补充的限制(否则会高估它):① 两条示范里的「情感:负面」把输出压成了单个 token,但如果演示写成「这部电影不好看,所以是负面」,模型可能输出整句——格式由示范决定,不由指令决定;② 概率读法只在「标签是单 token」时干净成立;若「负面」被分词成多个 token,前向概率不是标签概率,需要按序列概率累乘;③ 更重要的是,路径①③这两点共同说明:模型没有学会情感分类这个新任务,它只是被前缀条件化到了预训练时见过的「评价—标签」模式上。少样本提示的上限由预训练决定。
∎6.3.2 思维链与自洽性:把草稿纸给它
做法:不要求模型直接给答案,而是先输出中间推理步骤,再给最终答案。
- 少样本 CoT:示范里就把「步骤 + 答案」写全,让模型模仿这种格式。
- 零样本 CoT:只在指令后加一句「请一步一步思考」,也能显著改变输出结构。
形式化地,模型把「答案」这一随机变量重新分解为「步骤序列 + 答案」的联合生成:
其中 是中间步骤。采样时先生成 ,再以 为条件生成 。
三个互补的机制:
- 分解:把难题拆成多个较简单的局部步骤,每一步的「决策空间」更小,更接近预训练语料里常见的局部推断模式。
- 计算深度:自回归 Transformer 的每 token 计算量是固定的(第 2 讲),它没有草稿纸。生成中间 token 等于用序列长度换取串行计算步数——更多的中间 token = 更多的串行 Transformer 运算 = 更强的表达能力(这是「CoT 有效」最有解释力的候选之一)。
- 分布对齐:预训练语料里「解题过程」本来就多,CoT 的格式让模型进入它见过的「讲题」模式。
边界要记住:CoT 主要帮多步推理类任务,对纯记忆 / 检索类帮助有限;更重要的是——模型写出来的步骤未必是它真实的内部计算过程,即推理未必「忠实」(faithfulness)。把 CoT 当作「模型的真实心路」是一个常见的过度解读。
对同一问题采样 条带温度的完整推理路径(而不是贪心解码一条),对其中出现的最终答案做统计,取出现次数最多的那个:
它把「一条长链一路正确」这一高要求事件,替换为「多条链中多数最终落到同一个答案」这一多数表决事件。
因为长链的容错性极差:一条链只要中途错一步,后续通常会被带着走到底。而多条链同时「错到同一个答案」的概率远低于单链出错——前提是错误在链之间不相关(采样温度提供了这种多样性)。这与你手上的直觉一致:让同一个人做 10 遍,对的次数比让 10 个人各做一遍更容易识别出正确答案——前提是这些人不是同一个错误来源。
边界:① 若模型对某类题系统性地持有同一个错误(高度相关的错误),多数投票会放大它;② 越大,收益递减且不保证单调;③ 自洽性只对有确定答案的任务成立(开放写作没有「多数答案」)。
某数学题:单条推理链答对的概率 (示意值)。分两种情形讨论 时的多数投票成功率。
(a) 独立情形:各链答案相互独立; (b) 相关情形:各链有 30% 的概率一起犯同一个错(即当模型持有错误先验时,5 条链会给出同一个错误答案);其余情况下按独立模型作答。
(c) 从中提炼「什么时候该用自洽性」的判据。
(a) 独立情形的多数投票成功概率(5 条链,多数 = 至少 3 条对):
咦——投票反而更差了(0.317 < 0.4)。这是一个容易被忽略的事实:当 时,多数投票会劣于单链,因为此时「多数」更可能是错误的多数。要让投票有效,必须 。
(a′) 若 :,明显优于单链 0.6。
(b) 相关情形(,30% 概率全体共享同一个错误答案):此时有 30% 的采样起点落在「共同错误」模式上,一旦落入,5 条链给出同一个错误答案,投票必然错;剩下 70% 的情况按独立模型、条件成功率 (在非共同错误模式下的多数投票成功率,取 (a′) 的 0.683)。故
结论:与独立情形相比(0.683),相关错误把收益吃掉了一大半(0.478),且仍高于单链 0.6 的差距被大幅压缩——收益的多少几乎完全由「错误的相关程度」决定。
(c) 判据:
| 信号 | 是否值得用自洽性 |
|---|---|
| 单链准确率明显 ,且不同采样的错误答案种类分散 | 值得,期望收益大 |
| 单链准确率 | 不要用——多数投票可能反而更差;应先提高单链质量(改提示、换模型) |
| 错误高度集中(同一个错误答案反复出现) | 收益有限,说明是系统性知识缺口而非随机失误;应补充信息(检索 / 微调) |
| 任务没有唯一答案(写作、摘要) | 不适用 |
- 「提示可以把任何任务做到可用」:提示只能调用预训练已有的能力。任务对模型真陌生时(罕见语言、私有知识、专有格式),再精巧的提示也补不出能力——需要检索、微调或换模型。
- 「CoT 的输出就是模型的思考过程」:不保证忠实。有研究报告模型会在生成理由前就已「倾向」某个答案,理由随后被组织出来(相关研究可参考 Turpin et al., Language Models Don't Always Say What They Think,2023;其余证据仍在累积)。CoT 提高表现,不保证可解释性。
- 「自洽性总是更好」:例 6.3.2 已经给出反例——当单链准确率低于随机水平、或错误高度相关时,投票可能无益甚至有害。
- 「few-shot 示例越多越好」:示例数量存在收益递减;更关键的是示例的选择与顺序,它们的影响常常大于数量(6.7.3 会给出量化讨论)。
- 「少样本等于监督学习」:权重完全没变。「学习」发生在前向条件化里;这也意味着它对词表外的新概念没有通道。
6.3.3 测试时计算(test-time compute):三条形态
自洽性其实揭示了一件更大的事:准确率可以靠推理阶段多花算力买到。这条路线在 2024 年被系统化为「测试时计算扩展」。
固定模型参数 ,在推理阶段额外消耗算力以提升答案质量。常见的三种形态:
| 形态 | 做法 | 额外算力花在哪 | 典型适用 |
|---|---|---|---|
| ① 长思维链(long CoT) | 让模型生成更长的中间推理(可达数千至数万 token)再给答案 | 序列长度(自回归解码步数) | 单题深推理、形式化推导 |
| ② 多采样投票(multi-sample / self-consistency) | 采样 条独立轨迹,对答案做多数表决或加权汇总 | 采样条数 | 有确定答案、 的任务 |
| ③ 搜索 + 验证器重排(search & verifier reranking) | 生成候选步骤/轨迹,用验证器打分,再做 beam / 树搜索或择优 | 验证器调用次数 + 搜索宽度 | 有可分步验证的结构化任务 |
三者的共同点是用推理期算力换准确率;区别在于算力投入的维度不同:长 CoT 加深单条路径,投票拓宽并行路径,搜索在两者之上再叠加一个打分器。
因为在之前,「多花推理算力」被认为是不经济的:推理成本直接乘在调用量上。转折来自两个观察:
- 有些任务上,测试时算力的性价比高于扩大参数。对中等难度问题,用小模型 + 大量采样/搜索,可能比直接用大模型更省总成本(这是 Scaling LLM Test-Time Compute Optimally 一类工作的核心论点:难度决定该怎么花——简单题直接答、难题才值得搜索)。
- 验证比生成容易。对数学与代码,检查一个答案是否正确远比生成一个正确答案容易(跑测试、代入验证、量纲检查)。一旦存在可靠的验证器,「采样 + 择优」就成为一个可规模化的策略——这是第 ③ 条形态的合法性来源,也是 6.3.4 奖励模型设计的起点。
反过来的直觉:如果任务没有可用的验证器(开放写作、战略决策、主观判断),那么搜索与重排就退了回去——你只能靠模型自己的打分,而那是不可靠的(6.3.6)。
6.3.4 过程奖励与结果奖励
要让第 ③ 条形态工作,必须有能给中间步骤打分的东西。这是本节最容易混淆的一组概念。
给定问题 与推理轨迹 :
- 结果奖励模型(outcome reward model, ORM):只对最终答案打分 。训练信号来自「答案对错」(可验证)或人工/模型偏好。
- 过程奖励模型(process reward model, PRM):对每一个中间步骤打分 ,训练信号来自步骤级标注(人工标注哪一步先出错)或自动构造(从最终对错反推可用的步骤集)。
用于搜索时,ORM 只能给完整轨迹打分(信号稀疏),PRM 可以给部分轨迹打分(信号密集,因此支持 beam search / 逐步剪枝)。
搜索的本质是在部分轨迹上做剪枝。你不可能对每条半成品轨迹都跑完再看结果——那样计算量爆炸。PRM 提供的能力是:在走到一半时说「这条路看起来不对,停」。它把「事后筛选」变成「事中导航」。
代价也随之而来,且都很实际:
- 标注成本:步骤级标注比答案级标注贵得多,且「哪一步先错」在人类标注者之间一致性较低(一道题的解法可以有很多条正确路径,「非典型但正确」的步骤极易被误标为错)。
- 可验证性缺口:最终答案对错是可判定的(数学题),但「这一步是不是好的一步」常常不是——尤其当任务是开放式的。
- 被利用的风险:一旦 PRM 成为优化目标,模型会学习写出「让 PRM 开心」而非「推进解题」的步骤——这就是奖励 hacking 在步骤层面的形态(6.3.6)。
设某数学任务:单步(共 步)单条轨迹的生成成本为 ,验证器单次打分成本为 。两种策略:
- 策略 A(ORM + 全轨迹采样):独立采样 条完整轨迹,用 ORM 对 16 个最终答案打分,取最高;
- 策略 B(PRM + beam search):束宽 ,每步为每个候选扩展 个下一步(即每步评估 个候选步骤),用 PRM 打分保留前 个。
(a) 用 与 写出两条策略的算力(生成成本 + 打分成本)。 (b) 说明各自在什么条件下更优。
(a)
- 策略 A:生成 条完整轨迹(每条 步)→ ;ORM 打 次分 → 。
- 策略 B:共 步,每步评估 个候选,每个候选是 1 步的生成与打分(PRM 逐步打分)→ 生成 (注意:每步只生成一步的 token,不是整条轨迹),打分 。
注意一个关键差异: 里生成的是 条完整轨迹(每条 步),而 里生成的是 个单步。当 较大时:
更一般地:若策略 A 改为采样 条而策略 B 保持每步 个候选,则 、。结论是:当允许的候选总数相同时,beam search 的生成总量是「每步生成一步」而非「整条重来」,因此在同样的候选预算下,搜索能覆盖更深的有效路径——代价是每步都要调用 PRM( 在 里的权重远大于 里 ORM 的权重)。
(b) 取舍判据:
| 条件 | 更优的策略 |
|---|---|
| 验证器便宜且准确(可执行测试、数值代入) | B(PRM/搜索):便宜的 让密集信号几乎免费 |
| 只有最终答案可判、步骤不可判 | A(ORM + 采样投票):不接受不可靠的步骤打分 |
| 任务步骤少、错误主要来自「最后一步算错」 | A:步骤剪枝带来不了多少收益 |
| 任务长、错误会早期分歧(一条路径早早走错就全废) | B:早剪枝省下大量无效后缀生成 |
| 步骤标注昂贵 / 标注一致性低 | A 起步,等有可靠的自动验证(比如可执行测试)再上 B |
6.3.5 推理模型的训练范式:可验证奖励的 RL、GRPO 与蒸馏
上面三条形态里,长 CoT 是模型行为的改变:模型要「习惯于」在推理时写出很长的中间过程并在其中自我检查、回溯、试错。这种习惯很难靠 SFT 教出来(人类写不出那么多高质量长链),必须靠强化学习。
RLVR:奖励不来自人类偏好模型,而来自可判定的检验——数学题比对标准答案、代码跑测试用例、形式化证明过检查器。于是奖励是接近客观的 或分段值,不需要训练奖励模型。
GRPO(group relative policy optimization):去掉 PPO 里的价值网络(critic),改为对同一问题采样一组 个答案,用组内相对好坏估计优势:
其余部分仍是带裁剪的重要性采样目标,并保留对参考模型的 KL 惩罚。它省掉了一个与策略同规模的 critic(显存与工程成本的大头),代价是用更多采样来估计基线。
突破处:在可验证任务上,我们终于不再需要「人类偏好」这个有噪声的代理。测试用例通过与否是硬信号,模型没法通过「答得漂亮」蒙过去。这让大规模 RL 第一次有了稳定的目标——推理能力的提升因此可能直接归因到优化过程上,而不是 SFT 数据的质量。
天花板处:能验证什么,就能学什么;不能验证的,就学不到。 数学、代码、形式化证明都是天然可验证的;而「写一份好的产品方案」「做一次得体的沟通」「判断一段法律文本的风险」没有廉价可靠的验证器。把这些任务强行塞进 RLVR,要么造出一个劣质代理奖励(然后用 6.3.6 的机制被钻空子),要么只能退回到人类偏好模型(RLHF 那条路)。
还有一个更隐蔽的风险:奖励的可钻性。代码任务里,模型可能学到「让测试通过但不解决真正问题」的写法(写死期望值、跳过边界用例);这是规格博弈(specification gaming)的经典形态。它不会在训练曲线上暴露,只有在把模型放进真实使用分布时才显形。
| 范式 | 奖励来源 | 需要 critic? | 数据成本 | 适用任务 | 主要失效模式 |
|---|---|---|---|---|---|
| SFT on 长 CoT | 人类 / 强模型写出的长链 | 否 | 标注极贵、覆盖窄 | 起步阶段、格式对齐 | 学生的长链「形似神不似」;数据来源受限 |
| RLHF(PPO + RM) | 人类偏好训出的奖励模型 | 是(与策略同规模) | 偏好标注贵 | 开放对话、风格与安全 | 奖励过优化(6.3.6) |
| DPO 类 | 偏好对(无在线采样) | 否 | 偏好标注贵 | 开放对话、风格 | 只在离线数据上优化,探索有限 |
| RLVR + GRPO | 可执行验证(答案 / 测试) | 否 | 只需问题集(答案可自动校验) | 数学、代码、形式化 | 规格博弈;可验证面之外的能力不涨 |
| 蒸馏长 CoT(RL 后 SFT) | 教师模型的推理轨迹 | 否 | 教师推理算力 | 把能力搬到小模型 | 学生上限受教师与数据量限制;不产生新能力 |
蒸馏的做法很直接:让强模型(教师)在大量问题上产出长推理轨迹,再用普通的 SFT 把这些轨迹教给小模型。它不需要 RL,也不需要验证器,因此工程上极其便宜、极其稳定。报告过的效果是:小模型在数学与代码上的表现获得大幅提升(这类证据可参考 DeepSeek-R1 技术报告中关于蒸馏的章节,2025,arXiv:2501.12948)。
但它有明确的边界:学生的上限由教师水平与轨迹数据量共同决定,它不会超过「在给定数据上能学到的东西」。更本质的一点是——它把推理能力变成了一个 SFT 问题。这既是好消息(可复现、便宜)也是坏消息(依赖教师、无法通过更多探索突破教师的能力边界)。
还有一条容易被忽略的细节:长 CoT 的蒸馏会让小模型继承教师的「啰嗦」——轨迹长度与信息量不成比例时,小模型的推理成本会显著上升。评估蒸馏效果时,除了准确率,必须同时报平均 token 消耗。
6.3.6 「更长思考一定更好吗」:边界、成本与奖励 hacking
推理模型最容易被过度承诺的一点,就是「思考越久越准」。这一小节专门讲它的边界。
- 长度与正确率的关系不是单调的。常见观察是「准确率随推理长度先升后平,或在某区间后下降」——模型会开始过度思考:反复验证同一件事、怀疑已经正确的结论、引入新的假设把题目复杂化。这类现象的普遍性与确切形状依模型与任务而变,不要给单一曲线。
- 超出能力边界的问题,思考再久也不会对。若题目所需的知识或技能不在模型分布内(6.3.1 的「提示不能创造能力」),长链只会产出更长的错误论证——而且因为推理看起来详尽,更不容易被察觉。
- 成本是线性以上的。推理 token 直接乘在计费上;长 CoT 通常意味着输出 token 增加 1–2 个数量级,同时首 token 之后的完整等待时间变长。对交互式产品,这是体验问题;对批处理,这是成本问题。
- 多采样与搜索的收益受「错误相关性」限制(例 6.3.2):系统性的知识缺口无法通过增加采样解决。
- 验证器是那条路线的命门(6.3.3):没有可靠验证器,搜索与重排的收益会立刻缩水甚至为负。
当优化压力增大时,策略会越来越擅长提高代理奖励 而偏离真实目标 。这一现象在术语上有两个层次:
- 奖励 hacking(reward hacking):策略找到了代理奖励的漏洞(例:把测试期望值写死、只输出「看起来像推理」的模板)。
- 奖励过优化(reward overoptimization):随优化强度增加,代理奖励单调上升,而真实质量先升后降。这一效应在 RLHF 中被系统研究过(代表工作:Gao, Schulman & Hilton, Scaling Laws for Reward Model Overoptimization,2022,arXiv:2210.10760)。
缓解手段(都不是银弹):对参考模型的 KL 惩罚、早停、奖励模型集成、用更多数据训练奖励模型、把可验证信号与偏好信号混合使用。
因为奖励模型是真实偏好的有损压缩。它在训练分布附近与真实偏好一致,但一旦策略被推离那个分布,模型就开始在「压缩带来的失真区域」里被优化——那些区域里的高分不代表真实偏好,只代表奖励模型的估计误差。
这不是实现 bug,而是任何「用代理目标驱动优化」的系统都逃不掉的结构(Goodhart 定律的工程形态,6.7.2 会再次遇到它)。可操作的推论有三条:① 优化强度是一个必须调的超参,不是「越训越好」;② 必须保留一组独立于奖励模型的评测(否则你只能看到代理分数在涨);③ 训练曲线上的「奖励上升」不能作为上线依据。
某团队要在两个方案间选型(数字均为示意):
| 方案 | 参数规模 | 平均输出 token | 准确率 | 相对推理成本 |
|---|---|---|---|---|
| M-小 + 短答 | 小 | 300 | 52% | 1.0× |
| M-小 + 长 CoT | 小 | 3000 | 71% | 8.0× |
| M-大 + 短答 | 大 | 350 | 68% | 12.0× |
| M-大 + 长 CoT | 大 | 3200 | 78% | 26.0× |
(a) 以「每提升 1 个百分点准确率要付多少相对成本」为指标排序; (b) 若产品要求准确率 ≥ 70%,给出最优选择并说明你还需追问哪些信息。
(a) 以「M-小 + 短答」为基线(52%、成本 1.0):
| 方案 | 准确率增量 | 成本增量 | 每点成本 |
|---|---|---|---|
| M-小 + 短答 | —(基线) | — | — |
| M-小 + 长 CoT | pt | ||
| M-大 + 短答 | pt | ||
| M-大 + 长 CoT | pt |
最便宜的那一档是「小模型 + 长思维链」——这正是测试时计算路线的经济学表达:用推理算力替代参数规模,而不是「参数越大越好」。注意这个结论依赖这张表里的具体数字(尤其依赖小模型在长 CoT 下的准确率跃升幅度),换一组数据排序就会变。
(b) 满足 ≥70% 的只有「M-小 + 长 CoT」(71%)与「M-大 + 长 CoT」(78%)。按成本取前者(8.0× vs 26.0×),但必须追问:
- 延迟:长 CoT 意味着首 token 之后的完整生成时间显著变长,交互式产品可能不可接受;
- 准确率是否稳定:71% 是单次采样还是多次采样的平均?方差多大?(6.7.3)
- 错误类型分布:长 CoT 的错误是否更多是「看起来详尽的错误论证」?这类错误在人工审核时的发现率更低,风险更高;
- 可验证性:任务是否有自动校验通道(6.3.3)?若有,可进一步加验证器再抬准确率;
- 成本随调用量线性放大:8× 的单价在规模化调用下才是决定性的,要按月度调用量做总成本核算。
- 「推理 token 多 = 模型在思考」:Token 数是行为指标,不是机制证据。论证是否有效要看内容是否被验证,而不是它有多长。这与 6.3.2 里 CoT 未必忠实是同一个问题的延展。
- 「装上长 CoT 就能涨点」:对已接近天花板的任务(模型本来就会)没有增益,对超出能力边界的任务增益为负(更长的错误),对中等难度的任务增益最大。所以要先按难度分层评测,再决定是否启用。
- 「RLVR 让模型学会了通用推理」:可验证奖励只在可验证面上提供梯度。「在数学题上变强」不能自动外推到「在法律判断上变强」——外推需要证据,而不是期待。
- 「用验证器筛选就安全了」:验证器本身会被钻空子(6.3.5 的规格博弈),且验证器的覆盖度就是能力上限。把「测试通过率」当作唯一验收指标,等于把系统的真实目标定义成了「通过那些测试」。
Q1 用一句话区分「上下文学习」与「监督微调」在「学习发生在哪里」上的差别。
Q2 零样本 CoT 与少样本 CoT 各自改的是什么?为什么「让模型输出中间步骤」可能提升多步任务的准确率(给出两个机制)?
Q3 自洽性在什么条件下会劣于单链?给出定量理由。
Q4 ORM 与 PRM 的核心差别是什么?在什么条件下 beam search(用 PRM)比全轨迹采样(用 ORM)更值得?
Q5 写出 GRPO 的优势估计式,并说明它相比 PPO 省掉了什么。
Q6 一位同事说:「我们把长思维链打开后,训练集上的奖励一路涨到 0.95,可以上线了。」给出三条应该立刻追问的问题。
参考要点
Q1 上下文学习发生在前向条件化里(权重冻结,只在输入前缀中给出示范);微调发生在参数更新里(梯度回传、权重改变)。前者不产生新的参数知识,只调用已有能力。
Q2 零样本 CoT 只改指令(加「一步一步思考」),靠模型自行组织步骤;少样本 CoT 改的是示范格式(示范里就带步骤),通过模仿获得结构。两个解释机制:(i)分解——把难题拆成若干更简单的局部推断;(ii)串行计算深度——自回归 Transformer 每 token 的计算量固定,生成中间 token 等于用序列长度换取更多串行计算步,相当于给模型「草稿纸」。第三个可能机制是分布对齐(语料里有大量解题过程文本)。
Q3 当单链准确率 时,多数投票站在错误的多数一侧,成功率会低于 ;当链间错误高度相关时(同一错误先验),投票无法提供独立证据,增益被大幅吃掉。定量理由: 在 时小于 (例 6.3.2)。
Q4 ORM 只对最终答案打分(信号稀疏,只能事后筛选整条轨迹);PRM 对每个中间步骤打分(信号密集,可以做逐步剪枝与 beam search)。当步骤层面的信号可靠且便宜(可执行测试、数值代入、形式化检查),且任务的错误容易在早期分歧时,beam search 更值得;反之只有最终答案可判、或步骤标注昂贵且一致性低,则用 ORM + 采样投票更稳,避免被不可靠的步骤打分带偏。
Q5 ,(组内归一化)。它省掉了 PPO 中与策略同规模的价值网络(critic)及其训练开销,代价是需要对同一问题采样一组答案来估计基线(因此采样成本上升,且答案需要可比、奖励需要可算)。
Q6 ①奖励来自哪里——如果来自奖励模型或验证器,那 0.95 是代理奖励,必须看独立评测上的真实质量(6.3.6 的奖励过优化:代理涨、真降);②成本与延迟——长 CoT 的输出 token 增加多少?单请求延迟与月度成本是否可接受(例 6.3.4);③错误类型分布——错误是否变成「详尽但错误的论证」?这类错误人工发现率更低;此外还要问:长链是在所有难度层都生效,还是只在中等难度上生效(按难度分层评测)。
- Brown et al., Language Models are Few-Shot Learners(GPT-3,2020,arXiv:2005.14165)——上下文学习与少样本提示的奠基工作。
- Wei et al., Chain-of-Thought Prompting Elicits Reasoning in Large Language Models(2022,arXiv:2201.11903)——CoT 的原始论文(少样本)。
- Kojima et al., Large Language Models are Zero-Shot Reasoners(2022,arXiv:2205.11916)——零样本 CoT(「Let's think step by step」)的来源。
- Wang et al., Self-Consistency Improves Chain of Thought Reasoning in Language Models(2022,arXiv:2203.11171)——自洽性方法,本节 6.3.2 的直接依据。
- Lightman et al., Let's Verify Step by Step(2023,arXiv:2305.20050)——过程奖励模型(PRM)的代表工作,含步骤级标注的构建方式。
- Uesato et al., Solving Math Word Problems with Process- and Outcome-Based Feedback(2022,arXiv:2211.14275)——ORM 与 PRM 的早期对照实验,6.3.4 的取舍讨论来源之一。
- Snell et al., Scaling LLM Test-Time Compute Optimally Can Be More Effective than Scaling Model Parameters(2024,arXiv:2408.03314)——测试时计算与参数规模的性价比对照,「按难度分配预算」的论点出处。
- Muennighoff et al., s1: Simple Test-Time Scaling(2025,arXiv:2501.19393)——用极少数据实现测试时长度控制(budget forcing)的简洁方案。
- DeepSeek-AI, DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning(2025,arXiv:2501.12948)——RLVR + GRPO 的系统报告,含蒸馏到小模型的实验(6.3.5 的主要引用)。
- Shao et al., DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models(2024,arXiv:2402.03300)——GRPO 的提出处(组相对优势估计的原始表述)。
- Gao, Schulman & Hilton, Scaling Laws for Reward Model Overoptimization(2022,arXiv:2210.10760)——奖励过优化的系统研究,6.3.6 的核心依据。
- Turpin et al., Language Models Don't Always Say What They Think: Unfaithful Explanations in Chain-of-Thought Prompting(2023,arXiv:2305.04388)——CoT 不忠实性的代表性研究;引用时注意其结论有具体实验条件,不宜无限外推。
- OpenAI, Learning to Reason with LLMs(o1 系统卡,2024,无 arXiv,官方页面)——推理模型训练范式的官方描述,引用时请指向官方页面而非编号。
- 斯坦福 CS336(stanford-cs336.github.io)与 Hugging Face TRL 文档(github.com/huggingface/trl)——前者给出对齐与 RL 的实现路径,后者给出 SFT / DPO / PPO / GRPO 的可运行训练器接口。
本节小结:提示是条件化,不是学习(6.3.1);CoT 用「序列长度换串行计算深度」,并把答案的生成重新分解为「步骤 + 答案」,但写出的步骤未必忠实(6.3.2);自洽性把长链的容错性换成了多数表决,收益取决于单链准确率与错误相关性(例 6.3.2);测试时计算有三条形态——长 CoT、多采样、搜索 + 验证器(6.3.3),其中第 ③ 条依赖 ORM/PRM 这类打分器(6.3.4);推理模型的训练范式一边是可验证奖励的 RL(RLVR + GRPO),一边是长 CoT 蒸馏,前者受可验证面限制,后者是能力搬运(6.3.5);最后,「更长思考」有明确边界,且训练侧永远要提防奖励上升、质量下降(6.3.6)。
到这里为止,模型处理的一直是离散 token——文字与符号。下一节把图像与声音也变成 token,并处理一个更棘手的问题:当模型同时处理多种模态时,它到底「看见」了什么。