跳到主要內容
Zubnet AI學習Wiki › PPO
訓練

PPO

別名:Proximal Policy Optimization、近端策略最佳化
PPO(Proximal Policy Optimization)是一種強化學習演算法,會限制每次更新偏離策略先前行為的幅度,讓策略以小幅且受控的步驟更新。它由 OpenAI 於 2017 年提出,後來成為 RLHF 的預設最佳化器;InstructGPT 與 ChatGPT 等模型背後的偏好訓練階段,使用的正是 PPO。

為什麼重要

PPO 是讓大型語言模型學會遵循指示並保持實用,而不只是預測文字的關鍵機制。如果從事對齊、後訓練或推理模型,就一定會遇到 PPO 或其衍生方法——而它的成本與失敗模式,也會影響訓練團隊實際能發布哪些成果。

深度解析

PPO 是一種策略梯度方法,會將策略——在語言模型工作中就是模型本身——推向得分較高的動作,並遠離得分較低的動作,藉此改善策略。其標誌性技巧是裁剪後的代理目標函數:對每個動作,PPO 會計算目前策略賦予該動作的機率與先前策略所賦予機率的比值,再乘以優勢估計,也就是該動作比預期好多少,最後將比值裁剪至狹窄區間內,通常為 0.8 至 1.2,避免任何單一批次將策略大幅拉離原位。裁剪讓較積極的更新仍能保持安全,因此演算法可以在同一批已收集資料上,進行數個 epoch 的小批次梯度更新,樣本效率遠高於單純的策略梯度。這種穩定性與良好樣本效率的組合,讓 PPO 多年來一直是預設的強化學習主力,最初用於遊戲與機器人基準測試,後來則用於語言模型對齊。

目標函數周圍的機制

PPO 很少單獨執行。它是一種 actor-critic 方法,因此除了作為 actor 的策略外,還會訓練一個擔任 critic 的價值模型,用來預測某個狀態的預期獎勵;如此便能透過廣義優勢估計計算優勢,不必等到最終分數出爐。在 RLHF 情境中,記憶體需求還會進一步增加:原始模型的凍結副本擔任參考策略,另一個獨立的獎勵模型則負責評分,因此一次完整訓練可能同時將四個模型放入記憶體。之所以需要參考模型,是因為目標函數包含目前策略與參考策略之間的 KL 散度懲罰,可避免模型偏移至碰巧取得高分的退化文字。要讓這組模型順利訓練,就必須同時調整數個彼此影響的超參數——包括裁剪範圍、KL 懲罰係數、學習率及優勢估計設定——這正是 PPO 以難以調校聞名的主要原因。

PPO 如何驅動 RLHF

讓 PPO 成名的管線,始於一個已完成預訓練,也以示範資料進行過監督式微調的模型。接著,人類標註人員會為同一條提示詞取樣出的多個回答排序,再將這些排名蒸餾成獎勵模型,用來預測人們偏好的回答。PPO 隨後接手:模型針對新提示詞生成回答、獎勵模型加以評分,再以裁剪後的目標函數和 KL 懲罰更新權重,使模型偏向得分較高的行為。這基本上就是 OpenAI 的 InstructGPT 與 ChatGPT 背後的方法,並將 RLHF 從研究概念,轉變為讓基礎模型實用且能遵循指示的標準做法。問題在於獎勵駭取——若過度推進最佳化,模型學到的是利用獎勵模型的漏洞,而非產生真正更好的答案;因此,KL 錨點和謹慎的提前停止在實務上至關重要。

它不等於 RLHF

常見的簡略說法會將 PPO 與 RLHF 視為同一件事,但兩者位於不同層次:RLHF 是根據人類偏好進行訓練的整體範式,PPO 只是可套用其中的一種最佳化器。DPO 完全跳過強化學習,以簡單的分類式損失函數,直接根據偏好配對擬合策略,而且適用於許多對齊任務。GRPODeepSeek 的推理模型研究而普及,這種方法保留 RL 迴圈但移除價值模型;它會針對同一提示詞抽取一組回答,再以該組的平均獎勵估計每個回答的基準線。移除 critic 可節省記憶體,也免除一整類調校難題,因此在以可驗證獎勵訓練推理模型時,GRPO 已成為常見的預設方法。也別忘了,PPO 本身早於 LLM 時代——它原本是用於遊戲代理與模擬機器人控制的通用演算法,後來才被用於語言模型對齊

實務上的取捨

如今是否選擇 PPO,是一項工程判斷。優點是,它已在最大規模下經過充分考驗;透過價值模型逐 token 進行信用分配,可提供細緻的學習訊號;而多年累積的工具與實務經驗,也讓失敗原因更容易診斷。缺點則是,將四個模型放入 GPU 記憶體成本高昂、超參數空間龐大且難以容錯,而獎勵過度最佳化也始終是一項潛在風險:獎勵模型分數可能持續上升,人類評審卻認為品質正在下降。基礎設施成熟、又需要嚴格控制訓練動態的團隊仍傾向採用 PPO,尤其在獎勵帶有雜訊、而非只有二元結果時。追求更簡單、更便宜且更容易重現的團隊,則愈來愈常從 GRPO 或 DPO 開始,只有在這些方法遇到瓶頸時才改用 PPO。無論如何,理解 PPO 仍是必備的基本功——幾乎每一種現代後訓練演算法,都最適合視為 PPO 的修改版本。

← 所有術語
ESC