AI 基建
0%
第四部分 · 推理与测试时算力 · 第 28 章

训练模型学会推理

作者Changkun Ou
阅读时长约 14 分钟

推理模型不需要为每道训练题准备一份完整解答。只要程序能够核查结果,模型就可以自行生成多种尝试,并从通过核查的尝试中学习。这就是 可验证奖励的强化学习(RLVR):对回答采样,用一套可独立计算的规则评分,再更新模型,提高高奖励回答的概率。

这个思路并不复杂,但成败取决于三个细节。核查器必须反映用户真正关心的任务。基座模型必须已经能解出足够多的训练题,使同一组样本中既有成功也有失败。策略更新既要保留探索能力,又要逐步把概率集中到成功行为上。本章依次讨论这三个条件。

奖励约定

对一条训练样本,用 xx 表示提示,用 yy 表示采样得到的回答,用 V(x,y)V(x,y) 表示验证器。验证器返回一个标量奖励 rr。最简单的情形是:最终答案通过核查时 r=1r=1,否则 r=0r=0。因此,训练样本不是一份参考回答,而是一个提示及其对应的可执行验收规则。

这一区别改变了数据流水线。监督微调需要一份可供模仿的目标回答;RLVR 需要提示、采样器,以及一份明确规定什么证据可以得分的奖励约定。代码任务可以用单元测试来定义约定;有些数学任务可以用数值或符号等价性检查;形式化证明则可以交给证明内核。无论采用哪种核查方式,训练回路都一样。

flowchart TD
    A[提示与奖励约定] --> B[采样 G 条回答]
    B --> C[运行验证器]
    C --> D[计算相对优势]
    D --> E[更新策略]
    E --> B
    C --> F[留出集评估]
图 28.1. RLVR 回路。验证器把采样回答转化为奖励;优化器根据相对结果更新策略,然后再次采样。

“可验证”并不等于用户价值,只表示分数可以依据事先规定的证据重新计算,而且不需要让正在训练的策略给自己评分。即便如此,仍可能存在三类缺口:

  • 规格缺口:规则漏掉了用户在意的要求。公开单元测试可能放过脆弱的程序;只检查最终答案,也可能接受由错误论证得出的正确答案。
  • 实现缺口:核查器错误解析答案、不安全地执行不可信代码,或无法妥善处理边界情况。
  • 覆盖缺口:训练提示或测试没有覆盖部署后真正重要的区域。

机械核查器消除了 RLHF 中习得奖励模型的误差,但只消除了它实际实现的那项标准上的误差 (Gao et al. 2023)。策略仍然可能钻错误或不完整约定的空子。第 27 章 详细讨论验证器本身;本章把验证器视为固定组件,专门研究围绕它的学习回路。

下层约束

奖励约定决定了训练能够覆盖哪些任务。如果正确性可以低成本、大规模地核查,模型就能通过采样不断生成带标签的新经验。如果正确性必须由专家判断,训练回路也会继承专家判断的成本和歧义。可靠核查器是否存在,才是第一项约束,而不是选择 GRPO 还是 PPO。

组内相对学习如何获得信号

这里的策略,指正在更新的模型分布。对提示 xx,先从更新前的策略中采样一组 GG 条回答,即 yiπold(x)y_i \sim \pi_{\mathrm{old}}(\cdot\mid x),再用 ri=V(x,yi)r_i=V(x,y_i) 为每条回答评分。组相对策略优化(GRPO),即组相对策略优化(Group Relative Policy Optimization),把一条回答的奖励与同一提示下其他回答的奖励比较,由此得到它的优势值 (Shao et al. 2024):

rˉ=1Gj=1Grj,sr=1Gj=1G(rjrˉ)2,Ai=rirˉsr+ε.\bar r = \frac{1}{G}\sum_{j=1}^{G} r_j, \qquad s_r = \sqrt{\frac{1}{G}\sum_{j=1}^{G}(r_j-\bar r)^2}, \qquad A_i = \frac{r_i-\bar r}{s_r+\varepsilon}.

这里,rˉ\bar r 是组内平均奖励,srs_r 是组内奖励的标准差,较小的常数 ε\varepsilon 用来避免除以零。AiA_i 为正,表示优化器应提高回答 yiy_i 的概率;AiA_i 为负,则表示应降低它的概率。结果监督下,同一条回答里的所有词元共享这个优势值。

接下来,GRPO 会比较更新后的策略与生成该回答时的策略。在词元位置 tt,重要性比率为

ρi,t(θ)=πθ(yi,tx,yi,<t)πold(yi,tx,yi,<t).\rho_{i,t}(\theta)= \frac{\pi_\theta(y_{i,t}\mid x,y_{i,<t})} {\pi_{\mathrm{old}}(y_{i,t}\mid x,y_{i,<t})}.

分子是新策略为这个已采样词元赋予的概率,分母是生成该样本时该词元的概率。原始目标会对每条回答中的词元取平均,并对更新幅度进行裁剪:

JGRPO(θ)=E ⁣[1Gi=1G1yit=1yimin ⁣(ρi,tAi,clip(ρi,t,1ϵ,1+ϵ)Ai)βDKL(πθπref)].J_{\mathrm{GRPO}}(\theta)= \mathbb{E}\!\left[ \frac{1}{G}\sum_{i=1}^{G}\frac{1}{|y_i|}\sum_{t=1}^{|y_i|} \min\!\left( \rho_{i,t}A_i, \operatorname{clip}(\rho_{i,t},1-\epsilon,1+\epsilon)A_i \right) -\beta D_{\mathrm{KL}}(\pi_\theta\Vert\pi_{\mathrm{ref}}) \right].

这里,yi|y_i| 是回答长度,ϵ\epsilon 是裁剪范围,πref\pi_{\mathrm{ref}} 是固定的参考策略,DKLD_{\mathrm{KL}} 衡量当前策略与参考策略之间的差异,β\beta 控制这项惩罚的强度。裁剪项限制的是相对旧策略的一次更新,KL 项限制的是相对参考策略的累积偏移。不同实现估计和聚合 KL 项的方式并不相同,因此这个公式展示的是目标的总体结构,而不是某个库具体的张量归约方式。

整组回答得到相同奖励时,组内比较就无法产生学习信号。假设二元验证器下,单条样本通过的概率为 pp。若各次采样相互独立,一组回答同时包含成功与失败的概率是

P(mixed group)=1pG(1p)G.P(\text{mixed group}) = 1-p^G-(1-p)^G.

这个式子揭示了一项重要的数据约束。几乎总能答对或几乎总会答错的问题,会浪费大部分组内相对采样。扩大组规模可以提高同时出现成功与失败样本的概率,但生成成本也随 GG 增长。有效的训练集位于当前策略能力边界附近,而且会随着策略提升而移动。

下面的小实验同时展示这两种效应。它先计算一个同时包含成功与失败样本的组所对应的 GRPO 与留一法优势,再给出二元奖励组出现学习信号的概率。

import numpy as np

def grpo_advantages(rewards):
    rewards = np.asarray(rewards, dtype=float)
    spread = rewards.std()
    return np.zeros_like(rewards) if spread == 0 else (rewards - rewards.mean()) / spread

def rloo_advantages(rewards):
    rewards = np.asarray(rewards, dtype=float)
    group_size = len(rewards)
    return rewards - (rewards.sum() - rewards) / (group_size - 1)

def mixed_group_probability(pass_rate, group_size):
    return 1 - pass_rate ** group_size - (1 - pass_rate) ** group_size

rewards = [1, 0, 1, 0]
print("GRPO:", np.round(grpo_advantages(rewards), 2).tolist())
print("RLOO:", np.round(rloo_advantages(rewards), 2).tolist())
print("all equal:", grpo_advantages([1, 1, 1, 1]).tolist())
for pass_rate in (0.01, 0.10, 0.50):
    probability = mixed_group_probability(pass_rate, group_size=8)
    print(f"p={pass_rate:.2f}, mixed group={probability:.3f}")
图 28.2. 组内归一化会从优势值中消除奖励尺度。把奖励离散度逐渐调到零;当所有回答的奖励相同时,全部相对优势都会消失。这只是原理示意,不是训练实测数据。

GRPO 是避开习得价值模型的一种办法,这个价值模型通常称为评论者(critic)。常见的 近端策略优化(PPO) 实现会用评论者估计预期未来奖励,再减去该估计值,以此作为降低方差的基线 (Schulman et al. 2017)。GRPO 改用同一提示下的采样组。REINFORCE 留一法(RLOO),即 REINFORCE 留一法(REINFORCE Leave-One-Out),把每条完整回答视为一次采样动作,并减去其余 G1G-1 条回答的平均奖励 (Ahmadian et al. 2024)。它是 REINFORCE 估计器,不是换了一种组内归一化方法的 PPO,也不使用 PPO 的词元级裁剪比率。这些名称不能与 RLVR 互换。RLVR 说明奖励从哪里来,PPO、GRPO 和 RLOO 则说明如何估计并约束策略更新。

不使用评论者,可以省去独立价值模型所需的显存和同步开销,但组内估计的方差可能较高。它也是相对的:如果同组回答更差,一条平庸的回答也可能得到正优势。验证器给出的奖励仍是绝对值,更新所用的优势却是相对值。

第一批推理模型证明了什么

OpenAI 报告称,o1 的能力会随强化学习算力和测试时思考量的增加而提升,但其公开信息不足以分离各项训练因素的作用 (OpenAI 2024)。DeepSeek-R1 的实验更清楚,因为它描述了两个相关模型,并公开了权重 (Guo et al. 2025)。

DeepSeek-R1-Zero 从 DeepSeek-V3 Base 开始,不经过监督微调,直接应用 GRPO。它采用基于规则的复合奖励,同时检查答案准确性和输出格式。训练期间,基准准确率与回答长度都在增加,采样轨迹中也出现了更多反思和回溯。这证明,仅凭最终答案和格式奖励,无需步骤级标签,也能显著改变长篇推理行为出现的频率与形式。但它并不足以证明每个展示出来的推理步骤都正确或具有因果必要性。

公开发布的 DeepSeek-R1 采用了更完整的流水线:

  1. 数千条冷启动样本在强化学习之前建立可读、自然且符合人类偏好的推理方式。
  2. 第一阶段强化学习提高推理能力和语言一致性。
  3. 拒绝采样生成新的推理数据:可验证任务尽量使用规则核查,部分不可验证任务使用模型判断;过滤后的数据再与通用数据混合,进行一轮监督微调。
  4. 第二阶段强化学习把基于规则的推理奖励,与针对有用性和无害性的习得偏好奖励结合起来。

因此,冷启动并不只是修饰输出,最终模型也不是单靠纯 RLVR 得到的。它结合了监督数据、可验证结果、拒绝采样和偏好对齐。R1-Zero 更干净地证明,强化学习可以在没有前置 SFT 和步骤级标签的情况下生效;完整发布的 R1 则提供了更完整、更实用的产品方案。

直接对基座模型应用 GRPO,以规则核查准确性和格式。模型在推理基准上取得提升,但存在可读性差和语言混杂的问题。
数千条监督样本在强化学习之前建立可读、自然的推理方式。
数学、代码及其他可核查任务使用基于规则的准确性奖励;语言一致性奖励用于减少语言混杂。
拒绝采样生成推理数据,可验证任务使用规则核查,部分其他任务使用模型判断;随后与通用数据混合进行监督微调。
最后一轮强化学习把推理奖励与偏好奖励结合起来,覆盖更广泛的行为。
图 28.3. R1-Zero 单独考察了直接作用于基座模型的强化学习。公开发布的 R1 则是一个包含四个阶段的后训练系统,因此不能把最终行为归因于其中某一个阶段。

DeepSeek 还报告称,在这套流水线中,过程奖励模型和蒙特卡洛树搜索带来的收益不足以抵消复杂度 (Guo et al. 2025)。这是一个特定训练系统的实验结果,不能据此断言过程反馈或搜索普遍无用。过程反馈会改变信用分配方式,而且需要步骤标签或习得的过程奖励模型 (Uesato et al. 2022; Lightman et al. 2024)。第 27 章 详细讨论了这一取舍。R1 提供的较窄结论是:仅用最终答案与格式奖励,不依赖步骤级标签,也能显著改变基准表现和模型行为。

仍有争议的问题

强化学习教会了新的推理能力,还是让已有能力更容易被采样?

新能力有两种有用的含义。第一种是单次采样表现更好,也就是策略为成功路径分配了更高概率。第二种是经验覆盖面更广,也就是在固定的采样方案下能够解决更多不同问题。多项公开实验明确表明,RLVR 能改善第一种能力 (Guo et al. 2025; Yue et al. 2025; Liu et al. 2025);对第二种能力,现有证据并不一致。有限采样和基准测试都无法确定模型的数学支撑集。

对一个理想化任务,设每次独立采样成功的概率为 pp,那么 pass@k=1(1p)k\operatorname{pass@}k=1-(1-p)^k,表示在 kk 次采样中至少成功一次的概率。Yue 等人在较大的 kk 下比较模型,发现一些实验中,基座模型能够追上甚至超过经强化学习训练的模型。这支持一种解释:强化学习只是把概率集中到基座分布中已有的成功路径上 (Yue et al. 2025)。ProRL 在更长训练、更多样任务、KL 控制和定期重置参考策略的条件下报告了相反结果:训练后的模型解决了一些基座模型在给定采样预算内没有解决的问题 (Liu et al. 2025)。任何有限实验都不能证明模型对某条路径赋予的概率恰好为零。

伪奖励实验进一步说明,基座检查点不可忽略。在 Qwen2.5-Math-7B 上,随机奖励、只检查格式的奖励,甚至错误标签奖励,都复现了正确奖励带来的相当一部分增益;但相同配方在 Llama 和 OLMo 模型上往往无效 (Shao et al. 2026)。这不表示正确奖励没有必要,而是说明:强大的预训练先验与有限优化过程本身,就可能在奖励并不编码正确性的情况下带来基准提升。

测量方式也可能改变结论。较大 kk 下的结果取决于提示模板、温度、词元预算、答案提取器和基座检查点。普通 pass@kk 只核查最终答案;CoT-pass@kk 还要求采样得到的推理路径通过正确性判断,但这又引入了第二个验证器,而且必须测量它自身的误差 (Wen et al. 2026)。因此,无论声称 RLVR “创造”了推理,还是“只引出”了推理,都应明确模型系列、训练配方、基准、采样策略和成功定义。

图 28.4. pass@$k$ 的提升可能来自两种效应:把概率集中到已有的成功路径,或扩大可达路径的集合。图中的控制项说明,有限采样与更严格的路径评分为何会改变观察到的边界。所有曲线均为合成示意。

足以改变结果的优化细节

简洁的优势公式掩盖了归一化、裁剪、聚合和参考策略控制等关键选择。这些选择改变的是哪些回答会得到最大的更新,而不只是同一目标收敛得快或慢。

原始 GRPO 损失先在每条回答内部对词元损失取平均,再用组内奖励标准差缩放优势。Dr. GRPO 认为,前一种做法会产生长度偏差,后一种则会改变不同奖励离散度的提示之间的相对权重。它提出的目标去掉奖励标准差项,并用批次共享的固定归一化项取代随回答长度变化的平均方式。在其实验中,这样做阻止了错误回答越写越长,同时保持了基准表现 (Liu et al. 2025)。更一般的教训是,应检查每个词元、每条回答和每个提示实际获得的权重。“推理更长”可能只是优化造成的假象,并不代表能力提升。

DAPO 针对长回答训练中的另一组问题提出改动 (Yu et al. 2025)。它单独提高裁剪上界,让低概率词元有更大的上升空间;重新采样,直到批次中包含能够产生不同结果的提示;在所有词元上聚合策略梯度损失,而不是让每条回答权重相同;并减轻接近最大回答长度时的惩罚。这些改动在其报告的 Qwen2.5-32B 训练中提高了样本利用率和训练稳定性。GSPO 随后用按长度归一化的序列比率取代词元比率,也就是对一条回答中各词元比率取几何平均,再把整条回答作为一个单元进行裁剪和优化。其报告称,这样能够提高混合专家模型训练的稳定性 (Zheng et al. 2025)。这些都是目标函数与系统成本各不相同、以实验结果为依据的方案,不是通向某个通用优化器的既定演进路线。

参考策略控制也需要同样精确地讨论。DeepSeekMath 的 GRPO 包含相对参考策略的 KL 惩罚;DAPO 报告的配置则省去这项惩罚,使用裁剪来约束每次更新,并单独监控熵。这些机制承担的工作不同。可验证奖励让可核查标准不再需要习得的偏好代理,但并不意味着不受约束的优化是安全的。策略仍可能过拟合训练提示、利用核查器漏洞、丢失有用的通用行为,或坍缩到少数几种输出。是否使用参考策略惩罚,应由测量结果决定,不能从 RLVR 这个缩写本身推导出来。

如何构建经得起检验的训练运行

可靠的训练运行应先定义评估约定,而不是先选优化器。需要记录提示来源、验证器版本、解析器、执行环境、模型检查点、聊天模板、分词器、采样参数和最大回答长度。否则,格式或核查方式的变化也可能被误认为学习增益。

然后把三类数据分开。训练提示池用于生成采样轨迹(rollout);留出任务集用于选择检查点和停止时机;对抗性验证器集则专门覆盖畸形答案、测试泄漏、硬编码输出、解析器漏洞,以及正确但写法罕见的解答。代码任务尤其需要隐藏测试,因为模型可能只是过拟合可见示例,并没有学会用户要求的行为。

监控完整分布,而不只是平均训练奖励:

  • 全部通过、全部失败,以及同时有成功与失败样本的组分别占多少;
  • 按难度和领域拆分的留出准确率、pass@kk 与回答长度;
  • 策略熵、相对初始策略的 KL、裁剪比例和词元似然比;
  • 经人工审计样本上,验证器的假接受率和假拒绝率;
  • 采样生成的词元数、验证器延迟、丢弃样本数,以及每加速器小时产生的有效更新数;
  • 指令遵循、安全、写作和非推理任务上的退化。

如果训练奖励上升但留出表现没有改善,回答越来越长但准确率没有提高,同时有成功与失败样本的组逐渐消失,或者熵发生坍缩,就应停止训练并调查原因。DAPO 报告称,训练奖励与验证准确率可能相关性很低,因此训练奖励不能单独充当停止信号 (Yu et al. 2025)。

最后,还要与相同算力的更廉价用法比较。用已验证轨迹做监督微调、用拒绝采样数据做微调,以及在推理时采用 best-of-NN,都可能无需在线强化学习就达到所需通过率。Tülu 3 展示了一类更广泛的后训练流水线:把监督训练、偏好优化和 RLVR 结合起来,而不是把它们视为互斥方案 (Lambert et al. 2024)。比较时应对齐总生成词元数、验证成本和推理预算。

收益与边界

RLVR 把核查器变成持续产生新训练数据的来源。能力收益在同时具备大量困难提示和可靠验收规则的任务上最明显。效率收益来自不必为每条提示人工编写目标回答;无评论者的变体还可以省去独立价值模型。可信方面的收益也有前提:可独立执行的规则可以审计,但可信范围不会超出该规则的规格、实现和覆盖边界。

开放式任务不会因为有了一份详细评分量表就突然变得可机械验证。量表奖励可以把在线强化学习扩展到没有精确答案的领域,但它以结构化判断取代机械验收规则,也重新引入判断器误差和代理优化 (Gunjal et al. 2025)。因此,实际的后训练系统会混合多种信号:能可靠地机械核查时,就使用精确规则;无法机械核查时,改用过程反馈或偏好反馈;最后再用留出的人类评估覆盖前两者都无法捕捉的行为。

验证器足够可靠后,同一个回路还可以自举训练数据:采样解答,只保留核查通过的成功样本,再训练并重复这一过程。第 29 章(推理数据蒸馏)继续讨论这个回路产生的数据;第 30 章(推理时扩展)把额外采样预算放到训练之后;第 37 章(训练智能体)则把奖励对象从一条回答扩展为一串行动轨迹。

延伸阅读

  • Shao et al., “DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models” (用含 120B 过滤数学语料的混合数据继续训练 500B 词元,之后进行 SFT 与 GRPO), 2024. arXiv:2402.03300
    DeepSeekMath 结合 1200 亿词元数学语料与 GRPO,后者是去掉评论家、在采样组内归一化奖励的 PPO 变体。
  • Guo et al., “DeepSeek-R1 incentivizes reasoning in LLMs through reinforcement learning” (通过大规模 RL 实现推理,从纯 RL 中涌现), 2025. arXiv:2501.12948
    DeepSeek-R1 展示了大规模可验证奖励强化学习能引出长推理行为;R1-Zero 不用监督冷启动直接 RL,R1 则加入多阶段训练以改善可读性和稳定性。
  • Schulman et al., “Proximal Policy Optimization Algorithms” (PPO;在强化学习与奖励建模章节中引入,并在推理训练中复用), 2017. arXiv:1707.06347
    PPO 提出裁剪代理目标函数,使策略梯度强化学习在仅用一阶优化的条件下达到 TRPO 的可靠性,并具备更优的样本复杂度。
  • Lightman et al., “Let's Verify Step by Step” (作为逐步验证的过程监督), 2024. arXiv:2305.20050
    《Let's Verify Step by Step》在固定生成器的 MATH Best-of-N 选择中比较结果监督与过程监督,并发布约 80 万条人工步骤标签的 PRM800K。
  • Uesato et al., “Solving Math Word Problems with Process- and Outcome-Based Feedback” (过程监督与结果监督的比较), 2022. arXiv:2211.14275
    本文在 GSM8K 上对比过程奖励模型(PRM)与结果监督方法,发现 PRM 将推理过程错误率从 14.0% 降至 3.4%。
  • Ahmadian et al., “Back to Basics: Revisiting REINFORCE-Style Optimization for Learning from Human Feedback in LLMs” (RLOO), 2024. arXiv:2402.14740
    简单的 REINFORCE 风格策略梯度(RLOO)在 LLM 基于人类反馈的强化学习(RLHF)对齐中优于 PPO 和 DPO,且计算开销更低,无需近端策略优化(PPO)的 actor-critic 复杂机制。
  • OpenAI, “Learning to Reason with LLMs” (o1 系列的官方公告与系统报告,并非同行评审论文), 2024. openai.com
    OpenAI 介绍了如何用强化学习训练 o1 推理,并报告其性能会随训练计算量和测试时计算量增加而提高。
  • Lambert et al., “Tulu 3: Pushing Frontiers in Open Language Model Post-Training” (包含 RLVR 的开放后训练方案,并明确使用这一名称与定位), 2024. arXiv:2411.15124
    Tulu 3 是面向 Llama 3.1 底座的完全开放后训练配方,结合 SFT、DPO 与 RLVR,并公开数据、权重和训练代码。

评论

登录后评论