PPO 是 Proximal Policy Optimization(近端策略优化)的缩写。
它是大语言模型在 RLHF(基于人类反馈的强化学习) 阶段中,用来**具体执行"参数修改"**的核心算法。
如果说 RLHF 是一个宏大的"教学方针"(用奖励来训练 AI),那么 PPO 就是执行这个方针的具体"教学手段"或"数学公式"。
它是 OpenAI 用来训练 ChatGPT 的功勋算法,曾被视为 AI 对齐领域的**"黄金标准"**。
1. 🔍 名字拆解:它到底在干嘛?
为了理解 PPO,我们把这三个词拆开来看:
-
Policy(策略):
-
在强化学习里,"策略" 指的就是 AI 模型本身(即面对一个问题,它决定说什么话的概率分布)。
-
优化策略 = 优化 AI 模型。
-
-
Optimization(优化):
- 这个很好理解,就是让模型得分更高(让奖励模型更喜欢它的回答)。
-
Proximal(近端/邻近)------ 这是最核心的魔法!
- 它的意思是:"不要改得太猛,要保持在原来的附近。"
2. 🐢 核心逻辑:为什么不能"改得太猛"?
在训练 AI 时,我们面临一个巨大的风险:模型很容易"学偏"或"崩溃"。
💡 形象的比喻:学高尔夫球
假设你是一个高尔夫球手(AI),教练(奖励模型)告诉你:"刚才那杆打得不好,扣分。"
如果没有 PPO(普通强化学习):
你会因为想要高分,彻底改变你的挥杆姿势,甚至尝试用脚踢球。结果就是动作完全变形,连球都碰不到了(模型崩溃)。
有了 PPO(近端优化):
算法会限制你:"你必须在原有姿势的基础上,只做微小的调整(Proximal)。"
不管你怎么改,你的新姿势不能偏离旧姿势太远。这样虽然进步慢一点,但非常稳,不会突然都不会打球了。
在 LLM 训练中,PPO 的作用就是限制每一次参数更新的幅度(Clipping),防止 AI 为了刷分而彻底忘记了人话怎么说。
3. ⚙️ PPO 的工作流程(三步走)
PPO 在 RLHF 流程中是这样工作的:
-
生成:AI (Actor) 针对一个问题生成回答。
-
打分:奖励模型 (Critic) 给这个回答打个分(比如 7 分)。
-
更新 (PPO Step):
-
PPO 算法计算:为了下次能得 8 分,参数该怎么改?
-
关键约束 (KL 散度):PPO 会检查一下,改完后的模型和没改之前的模型差别大不大?
-
如果差别太小 → 大胆一点,多改点。
-
如果差别太大 (超过了安全区域/近端范围) → 砍掉 (Clip) 多余的修改量,只许改一点点。
-
4. ⚔️ PPO vs. DPO:新老之争
PPO 和 DPO 是目前两条主要的技术路线:
| 特性 | PPO (近端策略优化) | DPO (直接偏好优化) |
|---|---|---|
| 地位 | 老牌霸主 (ChatGPT, GPT-4 早期使用)。 | 新晋网红 (Llama 3 微调版, Qwen 等使用)。 |
| 复杂度 | 极高。需要同时跑 4 个模型,显存占用大,训练极其不稳定,很难调参。 | 低。数学上绕过了奖励模型,像普通的微调一样简单稳定。 |
| 稳定性 | 容易崩溃,需要极高的工程技巧。 | 非常稳定,容易上手。 |
| 效果 | 理论上限极高,如果调得好,效果通常最好。 | 效果逼近 PPO,但胜在性价比高。 |
现在的趋势是:开源社区和中小企业疯狂拥抱 DPO,而像 OpenAI 这样的巨头可能仍在深度魔改 PPO,或者结合两者的优点。
总结
PPO 是一个"稳健派"的 AI 训练算法。
它在让 AI 追求高分(讨好人类)的同时,给 AI 戴上了一个**"紧箍咒"**(Proximal 约束),强迫 AI 只能一步一个脚印地改进,防止它因为步子迈得太大而"走火入魔"。