关联阅读:SFT 与 RL 在推理中的应用
1. 背景:从 SFT 到 RLHF
预训练 + SFT 给了模型通用能力,但对齐(helpfulness、harmlessness、honesty)和进一步提升推理能力,光靠有监督微调效果有限。RLHF(Reinforcement Learning from Human Feedback) 通过让模型在”好的回复得到奖励”的环境下训练,成为 InstructGPT/ChatGPT 等产品的核心技术。
近年来,以 DeepSeek-R1 为代表的推理模型则更进一步——直接用 可验证奖励(Verifiable Reward) 替代人类反馈,在数学和代码等任务上取得了远超 SFT 的推理能力提升。
本文梳理从 PPO 到 GRPO 的方法演变脉络,以及工程实现上的关键挑战。
2. PPO for LLM:四模型体系
经典 RLHF(InstructGPT [1])基于 PPO(Proximal Policy Optimization) 算法,训练时需要同时维护四个模型:
| 模型 | 角色 | 是否训练 | 显存占用 |
|---|---|---|---|
| Actor(策略) | 当前 LLM,生成回复 | ✅ 训练 | 1x |
| Reference | 初始 SFT 模型,计算 KL 惩罚 | ❌ 冻结 | 1x |
| Critic(价值) | 估计每个 token 的期望回报 | ✅ 训练 | 1x |
| Reward Model | 给完整回复打分 | ❌ 冻结 | 1x |
目标函数(PPO-Clip):
\[\mathcal{L}_{\text{PPO}} = \mathbb{E}_t \left[ \min\left(r_t(\theta) \hat{A}_t,\ \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon) \hat{A}_t\right) \right] - \beta \cdot D_{KL}(\pi_\theta \| \pi_{\text{ref}})\]| 其中 $r_t(\theta) = \pi_\theta(a_t | s_t) / \pi_{\text{ref}}(a_t | s_t)$ 是新旧策略的概率比,$\hat{A}_t$ 是 Critic 估计的优势函数,KL 项防止 Actor 偏离 Reference 太远。 |
工程痛点:
- 四个模型同时驻留显存,是 SFT 的 4 倍显存开销;
- Critic 模型通常与 Actor 同等量级,训练开销大;
- 生成(rollout)是主要瓶颈,占总训练时间的 80~90%。
3. GRPO:去掉 Critic
DeepSeekMath [2](2024)提出 GRPO(Group Relative Policy Optimization),核心改进是用组采样估计基准值,彻底去掉 Critic 模型。
3.1 算法
对每个问题 $q$,采样 $G$ 个回复 ${o_1, …, o_G}$,得到奖励 ${r_1, …, r_G}$。用组内相对奖励作为优势估计:
\[\hat{A}_i = \frac{r_i - \text{mean}(r_{1:G})}{\text{std}(r_{1:G})}\]目标函数(类 PPO-Clip,无 Critic):
\[\mathcal{L}_{\text{GRPO}} = \mathbb{E}_q \left[ \frac{1}{G} \sum_{i=1}^G \min\left(r_i^{\theta} \hat{A}_i,\ \text{clip}(r_i^{\theta}, 1-\epsilon, 1+\epsilon) \hat{A}_i\right) \right] - \beta \cdot D_{KL}(\pi_\theta \| \pi_{\text{ref}})\]| 其中 $r_i^{\theta} = \pi_\theta(o_i | q) / \pi_{\text{old}}(o_i | q)$。 |
3.2 与 PPO 的对比
| PPO | GRPO | |
|---|---|---|
| Critic 模型 | 需要,与 Actor 同量级 | 无需 |
| 基准值估计 | Token 级别,Critic 网络 | 组内平均奖励 |
| 显存 | ~4x(4 模型) | ~2x(Actor + Reference) |
| 每步样本量 | 1 个回复/问题 | $G$ 个回复/问题(采样更多) |
| 训练稳定性 | 相对稳定(Critic 给连续价值估计) | 需要 $G$ 足够大 |
DeepSeekMath 用 7B 模型在 MATH benchmark 上达到 51.7%,显示 GRPO 在数学推理任务上效果显著。
4. RLOO:REINFORCE 的简化变体
RLOO(REINFORCE Leave-One-Out) [3] 是更接近经典策略梯度的方法:
同样对每个问题采样 $G$ 个回复,但基准值用留一法平均:
\[b_i = \frac{1}{G-1} \sum_{j \neq i} r_j\] \[\hat{A}_i = r_i - b_i\]与 GRPO 的区别:
- GRPO 用全组标准化($z$-score)的优势;
- RLOO 直接用”$r_i$ 减去其他样本均值”作为优势,不做方差归一化;
- 都不需要 Critic,显存同样是 ~2x。
实践中两者性能相近,GRPO 的方差归一化在奖励尺度不固定时更稳健。
5. RLVR:用可验证奖励替代 Reward Model
PPO/GRPO 都需要一个 Reward Model,而 Reward Model 本身可能存在奖励 hacking(策略找到模型漏洞刷高分,而非真正学到正确行为)。
RLVR(RL with Verifiable Rewards) [4] 的核心思路:对于有标准答案的任务(数学、代码),直接用规则判断对错:
\[r(o, q) = \begin{cases} +1 & \text{答案正确} \\ 0 & \text{答案错误} \end{cases}\]优点:
- 奖励无法被 hack(答案对就是对,对错用程序判断);
- 不需要训练/维护 Reward Model;
- 与 GRPO 结合,训练流程极简(2 个模型 + 规则函数)。
局限:
- 只适用于有可验证标准答案的任务;
- 对于创意写作、开放式问答等场景,仍需要 Reward Model。
DeepSeek-R1 [5] 就是 RLVR + GRPO 的典型应用:在 AIME、AMC 等数学竞赛题上,直接用判题器做奖励,训练出了强大的推理能力。
6. 工程挑战:Rollout 是瓶颈
6.1 生成时间占主导
RL 训练的大部分时间花在 rollout(生成回复) 上:
- 生成是自回归的,无法像前向传播那样批量并行化;
- 对于推理任务(chain-of-thought),每个问题可能需要生成 1000+ token;
- 估计 80~90% 的训练时间在 rollout,不在梯度更新。
6.2 生成与训练分离(PD 分离)
解决方案:将生成节点和训练节点分开:
[Rollout GPUs] [Training GPUs]
- 用 vLLM/SGLang 推理框架 - 用 Megatron/DeepSpeed 训练
- 开 PagedAttention/连续批处理 - 开 FSDP/ZeRO/PP/TP
- 持续生成,塞满 replay buffer - 从 buffer 取 batch 做梯度更新
- 定期同步最新参数 ←─────────────┘
异步 RLHF [6]:训练节点不等 rollout 完成,直接从 buffer 里取稍旧的样本训练(off-policy)。实验表明可以在保持接近 on-policy 性能的同时,获得 40~70% 的吞吐提升。
6.3 权重同步开销
Actor 更新后需要把参数同步给 Rollout 节点。常见做法:
- 每 $k$ 步同步一次(异步时 $k > 1$,容忍轻微的 off-policy);
- 用 NCCL broadcast 或参数服务器同步;
- 部分框架(如 veRL [7]、OpenRLHF)将生成和训练整合在同一套 GPU 上,通过显存复用避免冗余拷贝。
7. 当前主流开源框架
| 框架 | 训练后端 | 生成后端 | 算法 |
|---|---|---|---|
| TRL (HuggingFace) | Transformers | vLLM | PPO, GRPO, RLOO |
| OpenRLHF | DeepSpeed | vLLM | PPO, GRPO |
| veRL | Megatron-LM | vLLM | GRPO, PPO |
| LLaMA-Factory | DeepSpeed/FSDP | 内置 | DPO, GRPO |
参考
[1] Ouyang, L., et al. Training language models to follow instructions with human feedback. NeurIPS 2022. arxiv:2203.02155
[2] Shao, Z., et al. DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models. 2024. arxiv:2402.03300
[3] Ahmadian, A., et al. Back to Basics: Revisiting REINFORCE-Style Optimization for Learning from Human Feedback in LLMs. ACL 2024. arxiv:2402.14740
[4] Lightman, H., et al. Let’s Verify Step by Step. ICLR 2024. arxiv:2305.20050
[5] DeepSeek-AI. DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning. 2025. arxiv:2501.12948
[6] Noukhovitch, M., et al. Asynchronous RLHF: Faster and More Efficient Off-Policy RL for Language Models. ICLR 2025. arxiv:2410.18252
[7] Sheng, G., et al. HybridFlow: A Flexible and Efficient RLHF Framework. 2024. arxiv:2409.19256