PPO 算法原理是什么?

考查重点:优势估计与裁剪更新。旧策略采轨迹,估优势,用新旧动作概率比的裁剪目标更新策略;限制单次漂移并监测回报和 KL

本题目录

参考答案

核心回答

PPO 是一种策略梯度优化方法,目标是提高获得较好回报的动作概率,同时减少策略一次变化过大带来的不稳定。以常用的 PPO-Clip 为例,训练反复进行四步:

  1. 用当前策略采样一批交互轨迹,保存动作、奖励和采样时的动作概率。
  2. 估计每个动作的优势,判断它相对当前状态下的预期表现好多少;常见 Actor-Critic 实现利用价值函数和 GAE 估计。
  3. 计算新策略与采样旧策略的动作概率比,用裁剪代理目标更新策略,削弱沿有利方向过度更新的收益。
  4. 拟合价值函数,完成有限轮小批量更新后,再用新策略采样。

裁剪作用在优化目标里,不是把模型参数或所有动作概率强行锁在一个区间。它也不保证训练每一步都改善,实践中还要观察 KL、优势和价值拟合等情况。

概率比与优势分别表达什么

记 old 为产生这批样本的旧策略,new 为正在更新的策略。对同一个状态与已经采样的动作:

ratio = new(a | s) / old(a | s)

ratio 大于 1,表示新策略更倾向于这个动作;小于 1 则更不倾向。分母在这一批更新中固定,不能每个小批量都改成刚更新完的策略,否则比较基准会不断移动。

优势 A 反映动作的相对好坏。正优势表示这个动作比当前状态的基线更好,负优势表示更差;它不是奖励的另一个名字。价值函数预测从当前状态出发的预期累计回报,常用 GAE 将多步时序差分信息结合起来,在偏差与方差之间取舍。

例如状态价值估计为 4,某条路径的回报估计为 6,简单差值为正,策略应增加相关动作的倾向;实际训练会按所采用的优势估计方法计算,不能把所有任务都简化为这一笔相减。

PPO-Clip 为什么同时有 clip 和 min

对单个样本,策略希望最大化的贡献可以写成:

min(ratio × A, clip(ratio, 1-epsilon, 1+epsilon) × A)

整体对样本取平均;若实现用梯度下降最小化策略损失,通常取这个目标的负值。epsilon 决定裁剪范围,是待选择的超参数。

取 epsilon 为 0.2,观察四个算术例子:

  • A = 1,ratio = 1.4:取 min(1.4, 1.2) = 1.2。增加好动作的概率超过上沿后,这个样本不再额外奖励继续增加。
  • A = -1,ratio = 0.6:取 min(-0.6, -0.8) = -0.8。降低差动作的概率超过下沿后,也不再额外奖励继续降低。
  • A = 1,ratio = 0.6:取 min(0.6, 0.8) = 0.6。错误地降低好动作的概率,仍保留较差的目标值。
  • A = -1,ratio = 1.4:取 min(-1.4, -1.2) = -1.4。错误地增加差动作的概率,也不会被裁剪掩盖。

所以不是“不论正负,一超界就完全不更新”。平坦区也只是该样本代理项的性质,共享参数、其他样本和其他损失仍可能继续改变相应概率。

一轮训练怎样组织

先用固定的采样策略收集状态、动作、奖励、旧 log probability 和价值估计,再构造优势与回报目标。更新阶段把这一批数据分成小批量,进行有限轮策略和价值学习;计算概率比时,常用新旧 log probability 的差再取指数。

Actor 与 Critic 可以使用不同网络,也可以共享部分参数并有不同输出头;共享时要明确策略损失和价值损失怎样共同作用。某些实现还加入熵奖励以鼓励探索,具体权重和归一化方式属于训练配置。

PPO 通常归为 on-policy:允许对最近收集的一批数据作有限轮更新,不意味着可以无限复用任意旧策略的历史轨迹。更新过多会增大策略偏移,旧样本也会变得不适合当前策略。

大模型 RLHF 中怎样对应

对语言模型,状态可以看成问题与已生成的前缀,动作是下一个 Token。策略模型生成回答;奖励模型或可验证规则提供任务信号;价值模型估计后续回报,支持优势估计。

一些 RLHF 方案还保留参考策略,常以初始 SFT 模型为起点,通过 KL 惩罚减少偏离。这里有两个不同参照:

  • 采样旧策略 old用于 PPO 概率比和本轮更新控制。
  • 参考策略 reference用于所选对齐方案的偏移惩罚,可以跨多轮保持不变,具体更新方式由训练设计决定。

奖励模型给出的偏好分数与 Critic 预测的累计回报也不同,不能把两个角色合并理解。标准 PPO-Clip 本身并不要求一个冻结的 SFT 参考模型;那是大模型对齐方案额外采用的设计。

常见追问

有 clip 就能保证新旧策略足够接近吗? 不能保证硬性的 KL 上界。可以同时监测近似 KL、裁剪比例、策略熵和价值误差,并按方案限制学习率、更新轮数或触发提前停止。PPO-Penalty 则是使用 KL 惩罚的另一类变体,不能把它与 PPO-Clip 的定义混成一个固定公式。

奖励持续上升就说明模型变好吗? 还要检查任务成功率、泛化、输出质量和约束。奖励设计有漏洞时,策略可能学会钻漏洞;PPO 解决更新方法,不能替代奖励与评估设计。

PPO 与 GRPO 最主要差别是什么? 常见 PPO Actor-Critic 实现用价值估计构造优势,GRPO 用同一问题多条输出的相对奖励构造优势,减少独立价值模型的需求。具体见GRPO 算法如何工作。

参考资料

相关面经

10 篇

字节跳动

大模型实习算法岗
实习
查看原面经 →
介绍一下 DPO , PPO , GRPO

蚂蚁集团

面经合集
查看原面经 →
PPO的原理?从维护的四个model讲,再详细讲一下训练流程和损失函数各个参数含义?

极兔

大模型
实习
查看原面经 →
-PPO 的基本流程是什么?

字节跳动

大模型算法工程师
暑期实习一面、二面、三面
查看原面经 →
ppo grpo的具体原理以及区别

京东

大模型应用算法工程师
查看原面经 →
PPO的原理
展开剩余 5 篇面经

顺丰

大模型
实习
查看原面经 →
RLHF,介绍PPO,包含多少个模型;

百度

Agent 算法工程师
实习
查看原面经 →
详细问了 RLHF,包括 PPO 算法原理

京东

算法工程师(对话机器人)
实习
查看原面经 →
GRPO,PPO,DPO的算法原理

美团

Agent 算法工程师
查看原面经 →
介绍下ppo dpo grpo算法

美团

大模型算法工程师
二面
查看原面经 →
讲一下ppo和grpo

收录题集

4 个来源,共10 份题集

大模型基础

AMIT SHEKHAR · ai-engineering-interview-questions · 1 条原题

查看题集 →

强化学习与对齐

Firefly · llm_interview_note · 1 条原题

查看题集 →

编码题专题汇编

阿东玩 AI · AgentGuide · 2 条原题

查看题集 →

公司案例问答汇编

阿东玩 AI · AgentGuide · 2 条原题

查看题集 →

后训练综合问答

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →
展开剩余 5 份题集

强化学习与对齐

阿东玩 AI · AgentGuide · 9 条原题

查看题集 →
展开其余 6 条原题

大模型基础面试题

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

强化学习

Rocky Ding · AIGC-Interview-Book · 2 条原题

查看题集 →

腾讯问答汇编

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

数学公式推导高频考点

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

相关题目

4 题