跳到主内容
智客 ZICQ

智客百科 技术术语

PPO(近端策略优化)

技术术语
别名: PPO Proximal Policy Optimization 近端策略优化 ·2026-09-14

PPO(近端策略优化)

**PPO(Proximal Policy Optimization)**是 OpenAI 2017 年提出的强化学习算法, 是当前 RLHF 第二阶段的主流选择。

为什么是 RLHF 默认算法

  • 稳定:限制每次更新的步长(clip ratio),避免训崩。
  • 实现简单:相对 TRPO 等老算法,PPO 只需一阶优化。
  • 样本效率高:on-policy 但支持 mini-batch 多轮更新。
  • 通用:在 Atari、机器人、围棋、LLM 都验证过。

核心思想

PPO 把策略更新限制在"trust region"内:当前策略 π_old 和新策略 π_θ 的 KL 散度不能 超过阈值。两种实现:

PPO-Clip(最常用)

L_clip(θ) = E[min(r_t(θ) A_t, clip(r_t(θ), 1-ε, 1+ε) A_t)]

r_t(θ) = π_θ(a|s) / π_old(a|s) 是新/旧策略概率比。

  • 如果优势 A_t > 0(好动作):鼓励,但裁剪到 1+ε。
  • 如果优势 A_t < 0(坏动作):抑制,但裁剪到 1-ε。
  • ε 通常 0.1-0.2。

PPO-Penalty

加 KL 散度作为惩罚项,类似 TRPO。PPO-Clip 更常用。

在 RLHF 中的位置

1. SFT(监督微调) → 基础模型
2. 训练 Reward Model(RM)  ← 用人类偏好数据
3. PPO:用 RM 作为奖励信号训练 LLM
   ↓ 同时加 KL 散度约束,防止 LLM 偏离 SFT 模型太远(保持生成质量)

痛点

  • 超参敏感:learning rate、clip ratio、KL coefficient 都要调。
  • 训练不稳定:reward hacking(学会骗 RM)、KL 崩坏(生成乱码)。
  • 显存吃紧:要同时维护 policy、ref_policy、value、RM 四个模型。
  • 慢:每个样本要 4 次 forward pass。

替代方案

  • DPO(dpo):跳过 RM 和 PPO,直接用偏好对训练。稳定、便宜、效果接近。
  • GRPO(DeepSeek):去 critic,用组内相对奖励,更省显存。
  • REINFORCE / RLOO:更简单的 policy gradient,没 clip 但 variance 大。
  • Online DPO / Iterative DPO:在线采样 + DPO 训练,介于 DPO 和 RLHF 之间。

实战经验

  • 如果只是对齐,离线 dpo 就够,跑 PPO 是给自己找麻烦。
  • 必须 PPO 时:先小数据集跑通 → 调 reward shaping → 上 KL 约束 → 看生成质量。
  • 显存吃紧:开 gradient checkpointing + 混合精度,把 minibatch 调小。