模型層 開放閱讀

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 節結構 公司投研頁 沿產業鏈找到受益公司 投資課 把概念轉成可跟蹤模型