2023年8月24日

PPO 式 RLHF

PPO 式 RLHF 使用四个模型(策略、参考、奖励、价值函数)联合训练,通过裁剪策略更新比例防止训练不稳定。

知识库大模型训练与对齐llmmodelalignmentppo

先说结论

PPO 式 RLHF 使用四个模型(策略、参考、奖励、价值函数)联合训练,通过裁剪策略更新比例防止训练不稳定。

先把核心脉络捋清楚

四个模型

模型 参数量 作用 是否更新
Actor πθ\pi_\theta 同基础模型 生成回复
Critic VϕV_\phi 同基础模型 估计状态价值
Reward Model rωr_\omega 通常较小 提供奖励信号 冻结
Reference πref\pi_{\text{ref}} 同基础模型 KL 惩罚基准 冻结

PPO 裁剪目标

LCLIP=Et[min(rt(θ)A^t,  clip(rt(θ),1ϵ,1+ϵ)A^t)]\mathcal{L}^{\text{CLIP}} = \mathbb{E}_t \left[ \min\Big(r_t(\theta) \hat{A}_t, \; \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon) \hat{A}_t\Big) \right]

训练循环

1. 采样 prompt x
2. Actor 生成回复 y
3. RM 计算 r_ω(x, y)
4. 总奖励 R = r_ω(x,y) - β·KL(π_θ || π_ref)
5. GAE 估计优势 A_t
6. PPO clipped 更新 Actor
7. MSE 更新 Critic

KL 惩罚

防止策略偏离参考模型过远,避免输出退化和 reward hacking。

容易踩的坑

  1. 训练发散:PPO 超参极其敏感(KL 系数、clip 范围、学习率)
  2. 显存爆炸:4 个模型同时驻留显存
  3. Reward Hacking:策略利用 RM 漏洞

如果要对外讲,可以怎么概括

"PPO-RLHF 需要同时维护四个模型:策略、参考、奖励和价值函数。核心是 PPO 的裁剪目标防止策略变化过大,加上 KL 惩罚防止偏离参考模型。最大痛点是训练不稳定和显存开销。对 7B 模型,4 个模型需要约 28B 参数同时驻留显存。这是 DPO 成为更受欢迎替代方案的核心原因。"

最后记几条

  1. 4 个模型:Actor + Critic + RM + Reference
  2. KL 惩罚防止 reward hacking
  3. GAE 估计优势函数
  4. 训练极不稳定,超参敏感
  5. 中小团队应优先考虑 DPO

延伸阅读

参考资料

  • Schulman et al., PPO (2017)
  • InstructGPT (Ouyang et al., 2022)
  • HuggingFace TRL PPOTrainer