以下是一篇简单的博客,用来介绍论文 DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models(特别是其第 5.2.1 节 “Towards to a Unified Paradigm”)中提到的统一强化学习范式。希望能帮助大家更系统地理解这些后训练(Alignment / 强化学习)方法,以及它们之间的共性与区别。
引言
近年来,大语言模型(Large Language Models, LLMs)已经在自然语言处理、代码生成、数学推理等领域取得了长足的进步。虽然基础模型(Base Model)可通过大规模数据自监督学习获得“通用能力”,但在许多高要求任务(如复杂数学推理、事实问答、对话对齐等)上,我们往往需要进一步做 监督微调(SFT)或者 强化学习式的后训练。这些后训练方法会让模型更好地对齐人类需求、追求高质量输出,从而提高模型在多步推理、回答准确度、对话安全性等方面的表现。
在大语言模型的后训练中,目前最常见的几种思路包括:
- SFT(Supervised Fine-tuning)
- RFT(Rejection Sampling Fine-tuning)
- DPO(Direct Preference Optimization)
- PPO(Proximal Policy Optimization)
- GRPO(Group Relative Policy Optimization)
它们表面看上去有些不同,比如有的基于对错规则、有的基于人类偏好、有的需要单独训练价值函数、有的需要对答案进行对比等等。然而,DeepSeekMath 一文在其第 5.2.1 小节 “Towards to a Unified Paradigm” 中提出了一个 统一视角(Unified Paradigm) 来看待这些方法:所有后训练策略都可以在一个统一的公式框架下描述,主要区别在于 “数据来源(Data Source)”、“奖励函数(Reward Function)” 和 “梯度系数(Gradient Coefficient / Advantage)” 的计算方式。
接下来我们就从这三个要素出发,逐一进行更详细的阐述。
一、统一视角:公式与三大要素
论文里给出的一个关键公式是,所有方法都可写作:
∇ θ J ( θ ) = E ( q , o ) ∼ D [ ∑ t = 1 ∣ o ∣ Gradient Coefficient ( q , o , t ) ∇ θ log π θ ( o t ∣ q , o < t ) ] \nabla_{\theta} J(\theta) \;=\; \mathbb{E}_{(q, o) \sim \mathcal{D}} \biggl[ \sum_{t=1}^{|o|} \text{Gradient Coefficient}(q, o, t)\; \nabla_{\theta}\;\log \pi_{\theta}(o_t \mid q, o_{<t}) \biggr] ∇θJ(θ)=E(q,o)∼D[t=1∑∣o∣Gradient Coefficient(q,o,t)∇θlogπθ(ot∣q,o<t)]
这里:
- ( θ \theta θ) 是我们要训练的策略模型(Policy Model)的参数;
- ( q q q) 表示问题或输入(prompt),( o o o) 表示模型对问题的回答(输出序列);
- ( π θ ( o t ∣ q , o < t ) \pi_{\theta}(o_t \mid q, o_{<t}) πθ(ot∣q,o<t)) 表示我们训练的模型对下一个 token ( o t o_t ot) 的条件概率;
- Data Source ( D \mathcal{D} D) 决定了训练时从哪里采样 ( ( q , o ) (q, o) (q,o)) 对;
- Reward Function 用来给回答打分;
- Gradient Coefficient(梯度系数)概括了如何根据奖励信号来给不同回答、不同时刻的 token 施加正向或负向的梯度更新。
关于log求梯度问题可以参考笔者的另一篇博客:在后训练(Post Training)方法中,“对 log π 求梯度” 的含义
在不同方法中:
- 数据源可能是“离线”固定数据,或是“在线”不断从最新模型策略里采集;
- 奖励函数可能是简单的对错规则,也可能是单独训练的奖励模型(如通过人类偏好数据进行训练的 RM);
- 最后,具体的梯度系数计算方法(Advantage 估计)也有所不同,这就衍生出 SFT、RFT、DPO、PPO、GRPO 等多种实现。
接下来我们分三个部分来介绍“数据源”、“奖励函数”、“算法/梯度系数”在典型方法中的差异。
二、数据源(Data Source):离线 vs. 在线
1. 离线采样(Offline Sampling)
- SFT(Supervised Fine-tuning)
最常见的思路:直接用标注好的(问题,答案)对训练。数据一般来自人类标注或高质量语料。这里数据是一次性提供的,模型不需要再和环境交互、也不需要实时采样。 - RFT(Rejection Sampling Fine-tuning)
先从一个已训练好的 SFT 模型里离线采样出多条回答,然后用“对错规则”等进行筛选,保留正确或更好的回答,再对模型做一次监督微调。 - DPO(Direct Preference Optimization)
也是先离线采样,形成对比对 (better vs. worse);然后依据偏好比较进行优化。
这些方法有一个共同点:采样用的模型 不是实时更新的,而是固定在之前 SFT 的 checkpoint 上。因此它们无法持续适应模型策略的迭代变化,训练到后期时,之前采好的数据也许不能涵盖模型最新的错误或薄弱点。
2. 在线采样(Online Sampling)
- Online RFT
和 RFT 思路类似,只不过换成“使用当前训练中的模型策略来不断生成回答再进行筛选”,这样能让数据分布跟随模型的演化,也就能持续发现并矫正新的问题。 - PPO(Proximal Policy Optimization) / GRPO(Group Relative Policy Optimization)
都是强化学习思想的体现:每次训练步都要从“当前策略”那里生成回答,计算奖励,进而更新策略模型,再继续生成下一批回答……让数据始终紧贴最新的策略分布。
从实验上看,“在线采样”往往可以在后期阶段继续提升模型能力,因为它能不断修正模型此时此刻暴露出的错误或不佳回答。离线采样方法在达到一定程度之后就很难再精进。
三、奖励函数(Reward Function):Rule vs. Model
1. 规则式(Rule-based)
在一些有明确对错判定的任务上,可直接用“答案是否正确”来打分。例如在数学任务中,如果我们能够用外部的公式或计算器对回答进行检验,就可以简单地给对的回答 1 分,错的回答 0 分。
- 优点:逻辑简单,几乎不需要额外的标注或训练 RM。
- 缺点:只能在“答案对/错明确”的场景下适用,许多开放任务(对话、创意写作等)没有简单的对错标签。
2. 模型式(Model-based)
当没有简单规则,或者我们更希望有更细粒度的评估(比如部分正确、比较好 vs. 比较差),就可以训练一个 Reward Model(RM)。RM 通常是通过人类对多种回答进行打分或偏好比较来训练得到;之后在真正的 RL 阶段,策略模型每生成一个回答,RM 都会给出一个“奖励分数”。
- 优点:适用更广的场景,可以捕捉细腻的好坏差异,也不局限于单一的对/错;
- 缺点:训练和维护 RM 本身需要额外的数据与开销,RM 也会带来噪声和不确定性。
PPO__GRPO__90">四、算法(梯度系数):SFT / RFT / DPO / PPO / GRPO 等
算法的区别主要是:怎么利用数据(问题 + 回答)+ 奖励,来更新策略模型参数 (\theta)。也即上文所说的“梯度系数”到底如何计算。下面把几种主要方法放在一起对比:
1. SFT(Supervised Fine-tuning)
- 数据源:人工或高质量答案;
- 奖励:本质上没有显式的“奖励函数”,就是对正样本做对数似然最大化;
- 梯度系数:相当于所有正样本 token 的系数全为 1,没有负样本的惩罚。
- 公式:( ∇ θ J S F T = E ( q , o ) ∼ D S F T ∑ t ∇ log π θ ( o t ) \nabla_{\theta} J_{\mathrm{SFT}} \;=\; \mathbb{E}_{(q, o) \sim D_{\mathrm{SFT}}} \sum_t \nabla \log \pi_\theta(o_t) ∇θJSFT=E(q,o)∼DSFT∑t∇logπθ(ot))
2. RFT(Rejection Sampling Fine-tuning)
- 数据源:先从模型离线采样多个回答,然后“拒绝”错误回答,只保留对的;
- 奖励:对的答案系数为 1,错的答案系数为 0;
- 梯度系数:如果回答是正确,就对其做与 SFT 类似的更新;如果错的,直接跳过不训练。
- 缺陷:对一切正确答案都给予同样的梯度增强力度,对一切错误答案完全忽视,没有区分到底“多好”或“错到什么程度”。
3. DPO(Direct Preference Optimization)
- 数据源:离线采样到成对回答,然后有一个“better vs. worse”对比信息;
- 奖励:可以理解为针对两条回答的偏好,倾向于提升更好回答、压制更差回答;
- 梯度系数:基于 ( σ ( better logit − worse logit ) \sigma(\text{better logit} - \text{worse logit}) σ(better logit−worse logit)) 的偏好比较做更新。
PPOProximal_Policy_Optimization_111">4. PPO(Proximal Policy Optimization)
- 数据源:在线采样(当前策略模型);
- 奖励:由奖励模型或其他打分模块给出;
- 价值网络 + GAE(Generalized Advantage Estimation) 来计算每个 token 的优势(Advantage),再结合 KL 惩罚(减少策略更新过大时的训练不稳定)。
- 梯度系数:( a d v t \mathrm{adv}_t advt),可以随回答质量上下浮动,为好回答提供更强的正反馈、为差回答提供负反馈。
GRPOGroup_Relative_Policy_Optimization_117">5. GRPO(Group Relative Policy Optimization)
- 数据源:在线采样;
- 奖励:同 PPO,但不需要单独训练价值函数。直接同一批次中,相同问题的一组回答互相比对,超出平均水平的回答会被强化,低于平均水平的回答被惩罚;
- 梯度系数:基于每条回答相对于组内平均分的差值来计算 advantage,再加上对 KL 的限制项。
- 优点:不需要占用额外显存去训练 Critic / Value Net,也能充分利用组内对比获取相对奖励;在数学场景等离散对错比较明显的任务里,也能得到不错的稳定性与收敛效果。
五、实验现象与启示
论文以及其他相关工作(如 WizardMath、Math-Shepherd 等)都表明,在数学或多步推理任务中,像 GRPO / PPO 等在线强化学习方法往往能把模型性能从原本“已经不错”的阶段再推高一截,特别在大模型的尾声对齐上很有效。这也说明了几点:
-
在线采样在后期更具优势
离线采样的固定回答分布会逐渐失效,而在线方法可以持续暴露模型的新弱点并强化纠正。 -
奖励信号要足够精细且可靠
对/错固然简单,但很多情况下需要更丰富的反馈;或者至少要有过程监督(Process Supervision)来区分部分中间思路对/错,而非只看最后答案。如果奖励信号质量不佳,模型依赖它反而会产生偏移或对齐失败。 -
梯度系数的设计影响很大
简单的 RFT 只把正确回答都当作“一样好”——这在复杂任务中往往不足以引导最佳策略;而 PPO 或 GRPO 那种更细腻的优势分配,可让模型往“真正优质回答”精进。 -
并非一定能学到新的逻辑能力
一些实验观察到:强化学习阶段更多是“分布对齐”和“稳健性”方面的优化,有时 Pass@1 未必大幅提高,但 Maj@k 之类的指标会明显上升。也就是说,它有时候更多是在“把潜在的正确解”调到更高概率(而不一定让模型学到更多新知识)。不过在数学等场景下,如果奖励函数或过程监督足够好,还是能帮助模型内化更好的多步推理习惯。
六、未来可能的方向
论文第 5.2.3 小结中也讨论了未来如何让 RL 阶段更有效。下面提几点可能性:
-
数据源
- 除了直接采样外,可以考虑更灵活的探索策略,例如树搜索(Tree-of-Thought)来发现更多可能性;
- 在遇到 OOD(Out-of-distribution)问题时,让模型依然能暴露弱点并在线更新。
-
奖励函数
- 如何让奖励模型更全面、更具泛化能力?
- 如何在奖励函数中注入不确定度信息,避免“信错”有瑕疵的偏好数据?
- 对于多步骤的复杂任务,如何在回答过程(Chain-of-thought)里精确地标注并奖励/惩罚每一步?
-
算法鲁棒性
- 目前大多数 RL 算法都「完全相信」奖励信号,但如果奖励模型里有噪声,就可能把模型带偏;
- 如何让算法能面对欠准确或矛盾的偏好数据时,依旧能稳健收敛?
-
大规模部署和推理效率
- 在线 RL 需要反复采样、反复 forward 与 backward,算力需求很高;
- 需要探索如何高效地利用大模型进行多轮推理、自举、自我纠错,甚至结合蒸馏技术来减轻开销。
总结
通过引入一个统一视角,我们可以将常见的后训练(强化学习)方法归结到同一个公式框架下,并关注三大关键:数据源(离线 vs. 在线)、奖励函数(规则 vs. 模型)以及算法/梯度系数(SFT、RFT、DPO、PPO、GRPO 等)。这些要素的组合与差异,就解释了各方法在实践中的不同表现和适用范围。
- 离线方法(RFT、DPO)更容易实现,但容易在后期出现瓶颈。
- 在线方法(PPO、GRPO)能持续进步,但需要更大开销,也需要更好的奖励机制。
- 规则式奖励 适合答案对错明确的场景(如数学客观题),模型式奖励(RM)适合更开放的任务,但要付出额外的数据标注和训练代价。
在实际应用中,具体选哪种方法要看任务特性、数据可用性、算力规模等因素。随着大模型在越来越多领域的崛起,如何利用好强化学习后训练来进一步对齐和优化模型表现,将是个长期的研究与工程热点。论文 DeepSeekMath 中对“数学推理 + RL”进行了详尽的探索,尤其是他们提出的 GRPO 在无价值网络、低内存占用的前提下仍能强化数学推理能力,也是一个不错的尝试范式。
如果你对后训练的理论或实践细节有更多兴趣,不妨进一步阅读原论文和相关开源代码,基于此做自己的实验与改进!
参考资料:
- DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models
- [B. Ouyang et al., Training language models to follow instructions with human feedback, NeurIPS 2022 (InstructGPT / PPO).]
- [Z. Deng et al., WizardMath: Empowering Mathematical Reasoning for Large Language Models, 2023 (RLHF/PPO 数学基准).]
- [S. Z. Wang et al., Math-Shepherd: Verify and Reinforce LLMs Step-by-Step, 2023 (Process Supervision).]
- Tree-of-Thought papers (Yao et al.)
后记
2025年2月22日16点23分于上海,在GPT o1大模型辅助下完成。