模型层 开放阅读

PPO

Proximal Policy Optimization

概念 ID
proximal-policy-optimization
更新时间
2026-05-29
来源数量
待补

PPO(Proximal Policy Optimization,近端策略优化)

3 秒看懂

PPO 是一种强化学习策略梯度算法,核心思想极其简单:每次更新策略时,用一个“剪切(clip)”机制把更新幅度锁死在一个安全区间内,既保证学习效率,又防止策略“跑飞”。它是 ChatGPT/RLHF 训练流程中策略模型更新的核心引擎,也是当前大模型对齐(alignment)阶段最主流的 RL 算法。

3 分钟产业解释

它为什么重要?

在大模型训练管线中,预训练(Pre-training)之后是人类反馈对齐(RLHF)。RLHF 的第三步——用人类偏好信号微调语言模型——就需要一个 RL 算法来“拉近”模型输出与人类偏好的距离。PPO 因其实现简单、训练稳定、样本效率尚可,成为 OpenAI(GPT-4、ChatGPT)、Anthropic、Google DeepMind 等头部机构在 RLHF 中的默认选择。

产业位置:

人类标注偏好数据 → 训练奖励模型(Reward Model) → PPO 优化语言模型策略
                                                    ↑
                                          你在这里:RL 微调阶段

规模印象: 对齐一个 70B+ 参数的大模型,PPO 训练阶段需要同时在显存中维护 4 个模型副本(策略模型 π_θ、参考模型 π_ref、奖励模型 RM、价值模型 V),这意味着 PPO 的 RLHF 阶段对 GPU 显存的需求约为 SFT 阶段的 3-4 倍 [产业经验估算]。

15 分钟专家深入

1. PPO 解决了什么问题?

强化学习策略梯度方法(如 REINFORCE、Vanilla Policy Gradient)面临一个核心矛盾:

  • 步子太小 → 学得慢、样本效率低
  • 步子太大 → 策略性能可能剧烈崩塌(catastrophic collapse)

前人的解决方案是 TRPO(Trust Region Policy Optimization,Schulman et al., 2015),通过在目标函数中加入 KL 散度约束 限制新旧策略的偏离幅度。但 TRPO 需要计算 Fisher 信息矩阵的逆(二阶优化),实现复杂、计算昂贵、难以与共享参数的架构(如带 Value Head 的网络)兼容

PPO 的核心贡献:用一个极其简单的 clipped surrogate objective 替代 TRPO 的 KL 约束,得到一阶优化即可工作、实现门槛极低、效果与 TRPO 持平甚至更优的算法。

2. 核心公式(PPO-Clip,最广泛使用的变体)

令:

  • r_t(θ) = π_θ(a_t | s_t) / π_θ_old(a_t | s_t) — 新旧策略的概率比(probability ratio)
  • A_t — 广义优势估计(GAE, Generalized Advantage Estimation)
  • ε — 剪切参数(通常 ε = 0.1 ~ 0.2)

PPO-Clip 的目标函数:

L^CLIP(θ) = E_t [ min( r_t(θ) * A_t,  clip(r_t(θ), 1-ε, 1+ε) * A_t ) ]

直觉解读:

情况A_t > 0(当前动作好于平均)A_t < 0(当前动作差于平均)
r_t → 偏大(新策略大幅提升该动作概率)被 clip 限制在 1+ε,防止过度偏移
r_t → 偏小(新策略大幅降低该动作概率)被 clip 限制在 1-ε,防止过度偏移

本质:只在“安全区”内更新,出了安全区就踩刹车。

3. 完整训练损失

实际使用中,PPO 的总损失通常包含三项:

L(θ) = L^CLIP(θ) - c₁ * L^VF(θ) + c₂ * S[π_θ](s_t)
  • L^CLIP — 上述策略剪切目标
  • L^VF — 价值函数损失(MSE 或 Huber loss)
  • S — 熵奖励(entropy bonus),鼓励探索,防止策略过早坍缩为确定性策略
  • c₁, c₂ — 超参数,通常 c₁ ~ 0.5, c₂ ~ 0.01 [原论文推荐范围]

4. 广义优势估计(GAE)

PPO 使用 GAE(Schulman et al., 2016)来估计 A_t:

Â_t = Σ_&#123;l=0}^&#123;∞&#125; (γλ)^l * δ_&#123;t+l}

其中 δ_t = r_t + γV(s_&#123;t+1}) - V(s_t)  (TD 误差)
  • γ — 折扣因子(discount factor),通常 0.99
  • λ — GAE 参数,控制偏差-方差权衡,通常 0.95

λ = 0 退化为单步 TD(低方差、高偏差),λ = 1 退化为蒙特卡洛回报(高方差、低偏差)。GAE 在两者之间平滑插值。

5. PPO 在 RLHF 中的实现

在 LLM-RLHF 场景中,PPO 的状态/动作/奖励需要重新定义:

RL 概念RLHF 中的对应
状态 s_tPrompt + 已生成的 token 序列 (x, y_{<t})
动作 a_t下一个 token y_t
策略 π_θ语言模型(待优化)
奖励 R奖励模型对完整回复的评分(通常在序列末尾给出)
参考策略 π_refSFT 阶段的冻结模型副本

KL 惩罚: 在 RLHF 中,还会在奖励中加入 KL 散度惩罚项:

R_t = R_φ(x, y) - β * log[π_θ(y_t|x, y_&#123;&lt;t}) / π_ref(y_t|x, y_&#123;&lt;t})]

β 控制策略不偏离参考模型太远的程度,防止 reward hacking(奖励模型被钻空子)。

6. 为什么 PPO 能“霸占” RLHF?

优势说明
实现简单~50 行核心代码,无需二阶优化器
训练稳定clip 机制天然防崩塌
兼容性强一阶梯度,与标准 PyTorch/TensorFlow 训练循环无缝集成
可扩展已被证明可在数千 GPU 上稳定训练 [OpenAI 实践]
on-policy 但可容忍适度过时通常一个 batch 更新若干个 epoch(mini-batch),不必严格 on-policy

技术原理(最深)

算法流程伪代码

初始化策略网络 π_θ(语言模型 + 可选 value head)
加载参考模型 π_ref(冻结)

for iteration = 1, 2, ... do:
    # ---- 采集阶段 (Rollout) ----
    对一批 prompt {x_i}:
        从 π_θ 采样生成回复 y_i ~ π_θ(·|x_i)
        用奖励模型计算 R_φ(x_i, y_i)
        计算 KL 惩罚后的奖励 r_t
        用价值网络 V_ψ 估计 V(s_t)
        计算 GAE 优势 Â_t

    # ---- 更新阶段 (Update) ----
    对数据跑 K 个 epoch(通常 K=2~4):
        将 rollout 数据分为 mini-batch
        对每个 mini-batch:
            计算 r_t(θ) = π_θ(a_t|s_t) / π_θ_old(a_t|s_t)
            L_clip = min(r_t * Â_t, clip(r_t, 1-ε, 1+ε) * Â_t)
            L_vf   = MSE(V_ψ(s_t), R_t^target)      # 或 Huber
            L      = -L_clip + c₁*L_vf - c₂*Entropy

            θ ← θ - α * ∇_θ L

    π_θ_old ← π_θ

关键超参数

超参数典型值作用
ε (clip range)0.2限制概率比偏离 1±ε
γ (discount)0.99~1.0RLHF 中常设为 1.0(无折扣)
λ (GAE)0.95偏差-方差权衡
K (epochs per batch)2~4每批数据复用次数
mini-batch size视 GPU 内存
learning rate1e-6 ~ 5e-6比 SFT 阶段小 1~2 个数量级
c₁ (vf coeff)0.5价值损失权重
c₂ (entropy coeff)0.01熵奖励权重
β (KL penalty)0.01~0.1奖励中 KL 惩罚系数

PPO 的四个模型并行显存需求

┌──────────────────────────────────────────────┐
│           RLHF PPO 显存布局 (单节点示意)       │
├──────────────────────────────────────────────┤
│  π_θ (策略模型, 训练模式)     ← 全精度 + 梯度  │
│  π_ref (参考模型, 推理模式)   ← 冻结, 可半精度  │
│  R_φ  (奖励模型, 推理模式)   ← 冻结, 可半精度  │
│  V_ψ  (价值模型, 训练模式)   ← 全精度 + 梯度  │
│  + 优化器状态 (Adam: ~2x 参数量)               │
│  + 激活值 / KV cache                            │
└──────────────────────────────────────────────┘

对于 7B 模型:4×7B 参数(其中 2 个需梯度和优化器状态) ≈ 需要 多节点分布式训练 [产业实践估算]。

优化手段: DeepSpeed-Chat、TRL (Hugging Face)、OpenRLHF 等框架通过模型并行、LoRA、模型 offload 等技术降低显存压力。


技术演进史

1992  REINFORCE (Williams, 1992) — 奠基
  │
2016  A3C (Mnih et al.) — 异步 Actor-Critic, Atari 突破
  │
2015  TRPO (Schulman et al.) — 信赖域, KL 约束, 二阶优化
  │
2016  GAE (Schulman et al.) — 广义优势估计
  │
2017.07  ★ PPO (Schulman et al., OpenAI) — 剪切替代, 一阶优化
  │        论文: arXiv:1707.06347
  │
2017~2020  PPO + 玩游戏 (OpenAI Five / Hide-and-Seek)
  │
2022.01  InstructGPT (Ouyang et al.) — PPO 用于 RLHF, 开启 LLM 对齐时代
  │
2022.11  ChatGPT — PPO-RLHF 大规模落地
  │
2023~2024  PPO 变体与替代探索:
           • DPO (Direct Preference Optimization) — 2023, 去掉 RM+PPO
           • RLOO (Leave-One-Out REINFORCE) — 2024, 更简单的替代
           • GRPO (Group Relative Policy Optimization) — DeepSeek, 2024
           • KTO, IPO, ORPO 等 — 各种简化对齐方案
  │
2024~2025  PPO 仍在 Anthropic、OpenAI 等头部机构的核心 RLHF 流程中使用;
           同时 DPO/GRPO 等简化方案在中小规模模型中快速渗透

技术路线对比

维度PPODPOGRPORLOO (REINFORCE-LOO)
是否需要奖励模型✅ 需要❌ 不需要❌/可选✅/可选
需要的价值网络✅ 需要 (Vψ)❌ 不需要❌ 不需要❌ 不需要
显存需求极高 (4 模型)低 (1~2 模型)中 (2~3 模型)
在线生成✅ 需要❌ 不需要 (离线)✅ 需要✅ 需要
在线/离线On-policyOff-policyOn-policyOn-policy
训练稳定性⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
理论上界高(可持续在线学习)受限于离线数据分布
工程复杂度
主流使用者OpenAI, Anthropic学术界 & 中小厂DeepSeekMeta 等
适用规模超大模型 (百亿+)中小模型为主大模型各规模
代表论文Schulman et al., 2017Rafailov et al., 2023Shao et al., 2024 (DeepSeek)Ahmadian et al., 2024

关键判断: 在超大规模模型 + 需要持续迭代的场景(如前沿实验室的旗舰模型),PPO 或 PPO 变体仍是当前的实践主流;在资源受限或数据已充分的场景,DPO 及其变体正快速渗透。


上下游

上游依赖

环节内容关键供应商/技术
预训练模型PPO 优化的对象(LLM)OpenAI, Anthropic, Meta, DeepSeek 等
SFT 模型PPO 的初始化和参考模型 π_ref人类指令微调后的模型
奖励模型提供训练信号 R(x,y)基于人类偏好数据训练
人类偏好数据奖励模型的训练数据众包标注 (Scale AI, Surge 等)
RL 框架分布式训练基础设施TRL, DeepSpeed-Chat, OpenRLHF, verl
GPU/算力PPO 显存密集NVIDIA H100/H200, 互联 NVLink/NVSwitch

下游应用

领域具体应用
LLM 对齐ChatGPT, Claude, Gemini 等对话模型的 RLHF
代码生成代码正确性奖励信号的 RL 微调
推理增强基于过程/结果奖励的推理能力强化 (如数学推理)
游戏 AIOpenAI Five (Dota 2), Hide-and-Seek
机器人控制模拟到真实的策略迁移
RL 代理通用自主代理 (Agent) 的行为优化

关键指标

指标含义参考范围
KL(π_θ ‖ π_ref)策略偏离参考模型的程度训练中通常控制在 110 nats
Reward Score奖励模型对生成回复的评分随训练单调上升(警惕 reward hacking)
Clip Fraction被 clip 机制截断的比例健康值 0.10.3;过高说明 ε 太小或 lr 太大
Value Loss价值网络预测误差监控收敛
Entropy策略的输出熵持续下降 → 可能过早坍缩
Approx KL每步实际 KL 散度用于自适应调整 β
Win Rate vs SFTPPO 模型对 SFT 模型的胜率好的 PPO 训练应稳定提升至 > 60~70%
Generation Throughput采样阶段每秒 token 数PPO 瓶颈常在采样阶段

供需与市场数据

算力需求估算

模型规模PPO-RLHF 所需 GPU 数量(估算)备注
7B8~32 × H100 [行业估算]取决于序列长度、batch size
70B128~512 × H100 [行业估算]模型并行 + 数据并行
175B+数千张 H100 级别 [行业估算]OpenAI/Anthropic 级别投入

PPO 的 RLHF 阶段对算力的消耗约占整个模型训练生命周期的 5~15% [产业经验估算],但由于需要在线生成和多模型共存,单位时间的 GPU 利用率显著低于预训练

市场影响

  • OpenAI 的 ChatGPT 训练管线中 PPO 是核心组件,推动了 2023~2024 年 RLHF 工具链的爆发式需求
  • Hugging Face TRL 库(开源 PPO 实现)Star 数已超 10,000+ [GitHub 数据]
  • 围绕 PPO 训练优化的创业公司和开源项目持续涌现:OpenRLHF、verl(字节跳动)等

代表公司与资本映射

公司/机构角色与 PPO 的关系
OpenAI发明者 + 最大用户PPO 论文原团队;ChatGPT/GPT-4 系列的核心训练算法
Anthropic核心用户Claude 系列使用 PPO-based RLHF(宪法 AI 等变体)
Google DeepMind用户 + 改进者Gemini 等模型的对齐管线
DeepSeek (深度求索)改进者提出 GRPO 作为 PPO 的轻量替代方案
Meta用户 + 推动开源LLaMA 系列的 RLHF 实践
Hugging Face开源工具TRL 库提供 PPO 实现
NVIDIA基础设施GPU + NeMo 框架支持 PPO 分布式训练
Microsoft基础设施 + 用户DeepSpeed-Chat 提供 PPO 训练加速

产业映射逻辑

产业映射方向

方向逻辑代表环节/实体
GPU 算力PPO 在线生成阶段是算力密集型NVIDIA, AMD, 国产算力
RLHF 工具链PPO 工程复杂度催生工具需求Hugging Face (私有), Anyscale 等
对齐数据PPO 的上游——高质量人类偏好标注Scale AI, Surge, 各类标注公司
推理芯片PPO 的 rollout 阶段本质是大规模推理推理优化芯片/GPU 云

风险点

  1. PPO 可能被更简单的算法替代:DPO、GRPO、KTO 等不需要 4 个模型的方案正在快速成熟,尤其在中小模型场景
  2. 奖励模型是瓶颈:PPO 只能和奖励模型一样好,reward hacking 是持续挑战
  3. 超参数敏感:PPO 的 ε、lr、β、GAE 参数等需要大量调优,在新场景迁移成本高
  4. RLHF 范式本身可能被颠覆:如 Constitutional AI、RLAIF、过程奖励模型等新范式可能减少对传统 PPO-RLHF 的依赖

关键判断

短期(1-2 年):PPO 在头部实验室的旗舰大模型对齐中仍不可替代,因为其在线学习能力理论上优于离线方法。 中期(2-3 年):DPO/GRPO 系列可能在大部分场景取代 PPO;PPO 退守超大模型、持续学习等特定场景。 长期:对齐范式可能发生根本变革,但“策略梯度 + 信任域”的核心思想大概率会长存。


常见误读纠偏

误读 1:「PPO 不需要奖励模型」

纠偏: PPO 本身强化学习算法,它需要一个标量奖励信号。在标准 RLHF 中,这个信号来自奖励模型(Reward Model)。是 DPO 算法通过数学推导将奖励模型隐式地合并到了策略损失中,从而去掉了显式的 RM。PPO 做不到这一点。不要把 DPO 的特性安到 PPO 上。

误读 2:「PPO 是 TRPO 的简化版,效果差一些」

纠偏: PPO 原论文的实验显示,PPO-Clip 的性能在多数基准上持平甚至优于 TRPO [Schulman et al., 2017]。PPO 的“简化”是工程上的简化(一阶优化替代二阶),不是性能上的妥协。后续大规模实践中(Atari、MuJoCo、机器人、LLM RLHF),PPO 已全面取代 TRPO。

误读 3:「PPO 的 clip 机制就是在限制 KL 散度」

纠偏: Clip 限制的是概率比 r_t(θ),而非直接限制 KL 散度。虽然 r_t 的偏离与 KL 散度相关,但两者不是同一个东西。PPO 原论文也提供了 PPO-Penalty 变体(直接用 KL 做惩罚),但实验表明 PPO-Clip 效果更好且更稳定。Clip 是一个更“粗暴”但更有效的机制。

误读 4:「PPO 是 on-policy 算法,所以数据不能复用」

纠偏: PPO 确实是近似 on-policy 的,但在实践中 一个 batch 的数据通常会跑 K=2~4 个 epoch 的 mini-batch 更新。这种“有限复用”正是 PPO 名字中“Proximal”(近端)的含义——只要更新幅度不太大,旧数据暂时还能用。但 K 过大(如 >10)会导致严重偏差,训练不稳定。

误读 5:「DPO 出现后 PPO 就过时了」

纠偏: DPO 有明确的局限性:(1) 离线算法,受数据分布限制,无法在线探索;(2) 在超大规模模型上,目前缺乏与 PPO-RLHF 可比的大规模验证;(3) Anthropic 的研究表明,在线 RL 方法(如 PPO 变体)在复杂任务上优于离线方法。头部前沿实验室目前仍以 PPO 或其变体为主力


学习路径

入门(2~4 小时)

  1. 📖 阅读 Lilian Weng 的博客 “Policy Gradient Algorithms” — 最好的中文/英文入门综述之一
  2. 🎥 看 OpenAI Spinning Up 的 PPO 页面和相关教程

进阶(1~2 天)

  1. 📄 精读原论文:Schulman et al., “Proximal Policy Optimization Algorithms”, arXiv:1707.06347 (2017)
  2. 📄 阅读 InstructGPT 论文:Ouyang et al., “Training language models to follow instructions with human feedback”, NeurIPS 2022
  3. 🔧 使用 Hugging Face TRL 库跑一个小型 PPO-RLHF demo(如对 GPT-2 做情感对齐)

专家(持续)

  1. 📄 研读 DPO 论文(Rafailov et al., 2023)理解 PPO 的替代方案
  2. 📄 研读 GRPO 论文(Shao et al., 2024, DeepSeek)
  3. 🔧 阅读 OpenRLHF、verl 等开源框架的源码,理解大规模分布式 PPO 的工程实现
  4. 📄 阅读 Anthropic 关于 Constitutional AI 和 RLHF scaling 的技术报告

一句话总结

PPO 是用“剪切”这个最小巧的机制驯服了策略梯度的不稳定性,从而成为大模型 RLHF 对齐阶段事实标准的 RL 算法——它的核心思想只有一行公式,但围绕这一行公式展开的工程生态支撑了整个 LLM 对齐产业。


延伸阅读与来源

来源说明
Schulman et al., “Proximal Policy Optimization Algorithms”, arXiv:1707.06347 (2017)PPO 原始论文
Ouyang et al., “Training language models to follow instructions with human feedback” (InstructGPT), NeurIPS 2022PPO 用于 RLHF 的里程碑工作
Rafailov et al., “Direct Preference Optimization: Your Language Model is Secretly a Reward Model”, NeurIPS 2023DPO,PPO 的主要替代方案
Shao et al., “DeepSeekMath: Pushing the Limits of Mathematical Reasoning…”, 2024GRPO 提出论文
Ahmadian et al., “Back to Basics: Revisiting REINFORCE Style Optimization for Learning from Human Feedback in LLMs”, ACL 2024RLOO,将 PPO 与简单 REINFORCE 变体对比
Hugging Face TRL 文档: https://huggingface.co/docs/trl开源 PPO 实现参考
OpenAI Spinning Up: https://spinningup.openai.comRL 基础教程
Lilian Weng Blog, “Policy Gradient Algorithms”中英文社区广泛引用的综述
DeepSpeed-Chat 文档微软分布式 PPO 训练方案

⚠️ 声明: 本页涉及的显存需求、GPU 数量、训练成本等数字均为产业经验估算或定性描述,因厂商未充分披露具体训练配置,精确数字可能有显著偏差。PPO 核心算法描述基于原论文及开源实现,属公共领域知识。

source: 公开披露与公开资料整理 本页仅用于产业链学习、信息检索和研究辅助;不构成投资建议,不预测涨跌,不提供买卖、仓位或目标价建议。
完整概念页 复盘 13 节结构 公司投研页 沿产业链找到受益公司 投资课 把概念转成可跟踪模型