跳到主要内容

💯PPO/DPO/GRPO


梗概​

策略​

On-Policy/Off-Policy​

  • On-Policy:训练过程中,需要模型亲自参与“生成”来收集新的数据样本。

  • Off-Policy:训练过程中,不需要“在线”生成,更多依赖事先收集到的(或由别的策略产生的)数据进行离线学习。

大语言模型RLHF全链路揭秘:从策略梯度、PPO、GAE到DPO的实战指南

Group Relative Policy Optimization (GRPO) Illustrated Breakdown & Explanation

DeepSeek-R1技术剖析:没有强化学习基础也能看懂的PPO & GRPO

  • Actor 就是“我大脑里的决策机制”,不断学着如何选动作。

  • Critic 就像“我的内在预期模型”或“家长给的预期分数线”,不断修正对当前学习状态的评估。

  • 最终的 Loss 把这两个部分的误差结合在一起,让二者相辅相成地共同进步。

优势​

估计优势 -> 全蒙特卡洛/单步时间差分/广义优势估计​

全蒙特卡洛(Monte Carlo, MC)基于完整轨迹(Episode)计算回报,直接使用实际累积奖励作为优势估计。

TD 残差(Temporal Difference Error)就是对“本周价值估计”和“下周实际得到奖励+下周价值估计”之间的差异做一个衡量。

GAE(Generalized Advantage Estimation)就像一个“在单步 TD 与全局蒙特卡洛之间”找折衷的办法——用参数来控制“我们想考察多少步以后的反馈”。

为单步TD 为MC

  • 如果我们过早地停止累加真实的奖励项:就会产生高偏差(high bias),因为只使用了对价值函数的小部分近似和极少的真实奖励。

  • 如果我们累加过多的奖励项:则会引入高方差(high variance),因为依赖更多真实采样会让估计量不稳定。

  • 为平衡这一偏差-方差问题,我们可以采用对这几项进行加权求和的做法,也就是广义优势估计(Generalized Advantage Estimation, GAE)


PPO​

Zheng 等 - Secrets of RLHF in Large Language Models Part I PPO

PPO 的 Loss​

PPO是ON-POLICY!!!

👆此处与GRPO进行甄别👆

GRPO Loss初期为0

vs ​

DPO​

DPO 的 Loss​

从PPO 的 Loss 开始

进行推导

BT模型(生成2个回答) 与 PT模型(生成个回答)​

BT模型​

带入奖励函数

PT模型​

同理得

即得

GRPO​

Loss\Advantage​

PPO Advantage​

GRPO Advantage​

公式属于off-policy,但由于一步更新,退化为on-policy 即

GRPO从始至终都是基于重要性采样的on-policy,由于单步更新,导致,即重要性采样系数为1

最终优势是output级别的,与token无关,故不依赖于t

loss为0,梯度为何不为0?

算法流程​

🌟DeepSeek-R1相关

DeepSeekR1精读补充资料

LLM大模型:deepseek浅度解析(二):R1的GRPO原理 - 第七子007 - 博客园

整体流程​

LLM常见面试题(五十二) -- DeepSeek专题_哔哩哔哩_bilibili

拒绝采样​

Cold start dataset​

Aha moment​

https://huggingface.co/blog/open-r1/mini-r1-contdown-game

e.g.

为何不用DPO/PPO​

为何用GRPO​

Advantage​

Importance Sample/Clip​

KL散度 代码见手撕​

Reverse/Forward KL​

Mean-Seeking/Zero-Avoiding

Mode-Seeking/Zero-Forcing

三种估计器​

GRPO reverse K3估计器​

Reward​

Reward Model -> MCTS/PRM (Unsuccessful Attempts)​

PRM​

MCTS​

Distill启发​

为什么便宜​

概括​