一句话定义
PPO 是一种策略梯度强化学习算法:它用裁剪的代理目标限制每次更新的幅度,让策略在最大化奖励的同时不要一步走太远。RLHF 常用它来优化语言模型。
为什么需要它
奖励模型的分数不可微,不能直接反向传播到语言模型。PPO 通过采样、打分和策略梯度来更新;裁剪和 KL 约束则防止策略为了奖励而崩坏或跑偏。
怎么工作
- 策略模型对 prompt 采样回答。
- Reward Model 给回答打分,critic 估计价值,计算优势。
- 用裁剪的代理目标更新策略:限制新旧策略概率比,避免过大更新。
- 加 KL 惩罚,约束策略不要偏离参考模型太远。
- 重复采样和更新,直到奖励和评测达到目标。
PPO 的目标函数通常写成裁剪后的重要性采样比乘以优势,再取最小值。训练时通常先做 SFT 冷启动,再开 PPO;没有基本指令能力,RL 很难稳定。KL 系数可以固定或自适应;太大不学习,太小跑偏。
关键取舍
- PPO 需要策略、参考、奖励、critic 多个模型,显存和工程复杂度高。
- 超参数敏感:学习率、裁剪范围、KL 系数、batch 都会影响稳定性。
- 奖励上升不等于质量上升,可能出现奖励黑客。
- 在线采样成本高,训练周期长。
- PPO 的样本效率不高,在线采样成本要算进去。
常见误区
- PPO 不是 RLHF 本身:RLHF 是流程,PPO 是其中一种优化算法。
- PPO 不是监督学习:它用奖励信号,不是标准答案。
- 裁剪不是“越小越好”:太小训练慢,太大不稳定。
- 奖励高不代表回答好:要独立评测。
用在哪里
- RLHF 的策略优化阶段。
- 有明确奖励信号、需要在线探索的 RL 任务。
- 资源有限时,可考虑 DPO 等更轻的偏好优化方法。
相关概念
- RLHF:PPO 最常见的应用流程。
- Reward Model:提供奖励信号。
- DPO:跳过显式奖励模型和 PPO 的替代路线。