PPO (Proximal Policy Optimization)
摘要:PPO(Proximal Policy Optimization,近端策略优化)是 OpenAI 于 2017 年提出的强化学习算法。如果说 DPO 是现在的"当红炸子鸡",那 PPO 就是打造了 ChatGPT 帝国的"开国元勋"。直到今天,尽管 DPO 流行,但如果你想训练一个逻辑推理能力极强(如 OpenAI o1, DeepSeek-R1)的模型,PPO 依然是绕不过去的高山。
本文将从三个层面来讲解 PPO:它的核心直觉(通俗版)、它的数学魔法(进阶版),以及它在 LLM 里的实际操作(实战版)。
1. 核心直觉:为什么要发明 PPO?
在 PPO 出现之前,强化学习(RL)主要面临一个巨大的痛点:步子迈多大合适?
想象你在蒙着眼睛走钢丝(训练模型):
- 步子太小(学习率低): 你走得太慢,训练几万年都不收敛。
- 步子太大(学习率高): 你试图根据上一步的经验迈一大步,结果直接掉下悬崖(模型参数崩坏,输出乱码),而且再也爬不上来了。
TRPO (PPO 的前身) 试图解决这个问题,它用复杂的数学约束(库尔贝克-莱布勒散度,KL Divergence)划定一个"安全区域",告诉你"每一步只能在圈子里动"。效果很好,但计算量大到令人发指。
PPO 的出现:
PPO 继承了"安全区域"的思想,但它用了一个极简的工程技巧(Clipping / 裁剪)替代了复杂的数学计算。
PPO 的潜台词是:
"你可以改进,但不要改得离刚才的自己太远。如果你这步改得太猛了,我就把多出来的部分'剪掉'不算,强行让你慢下来。"