以下是 DPO、PPO 和 GRPO 三种强化学习优化算法的原理、区别与联系的系统性对比,结合其在大型语言模型(LLM)微调中的实际应用场景:
一、核心原理
1. PPO(近端策略优化)
在这里插入图片描述
- • 原理 :基于 Actor-Critic 框架,通过限制策略更新幅度保证稳定性。
- • 裁剪机制 :限制新旧策略的差异(概率比裁剪),防止更新过大导致训练崩溃。
- • KL 散度惩罚 :约束新策略与参考模型的偏离程度。
- • 价值网络(Critic) :额外训练一个模型估计状态价值,用于计算优势函数(如 GAE)。
- • 训练流程 :
-
- 生成响应样本(Rollout);
-
- 奖励模型(RM)打分;
-
- 计算优势函数(GAE);
-
- 更新策略和价值网络。
2. DPO(直接偏好优化)
- • 原理 :绕过奖励模型,直接利用人类偏好数据优化策略。
-
• 偏好建模 :基于 Bradley-Terry 模型,将偏好比较转化为概率优化问题。
-
• 损失函数 :
其中
为优选样本,
为劣选样本,
控制策略偏离参考模型的程度。
- • 训练流程 :
-
- 准备偏好数据(Prompt + Chosen + Rejected);
-
- 对比当前模型与参考模型的输出概率;
-
- 更新策略模型。
3. GRPO(组相对策略优化)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
- • 原理 :通过分组采样和组内奖励归一化替代价值网络。
- • 分组生成 :对同一输入生成多个响应(如 5-8 个)。
- • 相对优势计算 :以组内平均奖励为基线,计算每个响应的相对优势(如
优
势
个
体
奖
励
组
平
均
奖
励
)。
- • 无价值网络 :直接使用相对优势更新策略,降低计算开销。
- • 训练流程 :
-
- 分组生成响应;
-
- 奖励模型或规则打分;
-
- 计算组内相对优势;
-
- 更新策略(含 KL 约束)。
二、区别与联系对比
| 维度 | PPO | DPO | GRPO | | 优化目标 | 最大化奖励 + 限制策略变化 | 直接匹配人类偏好概率 | 组内相对奖励最大化 | | 模型需求 | 需奖励模型 + 价值网络 | 需参考模型,无需奖励模型 | 需奖励函数,无需价值网络 | | 计算效率 | 低(多模型交互,显存占用高) | 高(类似监督学习) | 中(分组采样增加开销) | | 稳定性 | 中等(依赖 KL 约束) | 高(训练更鲁棒) | 高(动态梯度正则化) | | 数据依赖 | 需 RM 评分数据 | 需高质量偏好对 | 需可验证奖励(如数学答案) | | 适用任务 | 通用对话、主观任务 | 偏好对齐、简单微调 | 数学/代码等可验证推理任务 | | 核心优势 | 泛化性强,支持在线探索 | 实现简单,训练快速 | 显存占用低,鼓励推理多样性 |
联系 :
- • 共同目标 :三者均用于对齐 LLM 与人类偏好,提升生成质量。
- • 技术演进 :
- • DPO 是 PPO 的简化版(省去 RM 和 RL 循环);
- • GRPO 是 PPO 的改进版(分组优化替代价值网络)。
三、典型应用场景
PPO :
- • 通用对话系统(如 ChatGPT),需长期奖励建模的场景。
DPO :
- • 快速微调(如医疗问答),偏好数据充足且任务较简单时。
GRPO :
- • 复杂推理任务(如 DeepSeek-Math),资源受限或需过程验证的场景。
四、总结与选择建议
- • 资源充足 & 通用任务 → PPO :稳定性高,但需大量计算。
- • 偏好数据丰富 & 快速迭代 → DPO :简化流程,但对初始模型质量敏感。
- • 推理任务 & 高效训练 → GRPO :显存占用降低 40%,在数学/代码任务中效果显著(如 DeepSeek-R1 的 pass@1 提升 55%)。
💡 技术趋势 :GRPO 因高效性成为大模型 RLHF 新主流(如 DeepSeek、Qwen 采用),而 DPO 逐渐聚焦轻量化场景。未来方向包括结合过程奖励(如链式思考)和动态正则化(如 DAPO)。
参考文献
点个「赞」+「在看」❤️
让我们知道这份文字有温暖到你,也是 我们持续 创作的最大动力!
推荐
Conditional Flow Matching : 连续标准流 Continuous Normalizing Flow
Conditional Flow Matching : 常微分方程ODE、欧拉方法和Neural ODE
当 Normalizing flow 遇上语音生成:AI 说话变 “真人” 的秘密在这里!
深度剖析:Kimi - Audio 中 BigVGAN 的神奇作用
为什么说分布变换是 Normalizing flow 的「灵魂操作」?
MiniMax-Speech,零样本语音合成新突破,32 种语言轻松拿捏!
手把手教你创建 evol-instruct 数据集!附完整流程~
最新!SpeechLLM 综述:架构、能力、挑战与未来全揭秘
从数量到质量:通过自引导数据选择来提升语言模型性能以实现指令调优
GeForce RTX 3090, 4090, A10, A40, A100, A800, L20, L40 显卡性能对比
基础模型中的新范式:为什么o1是不同的,以及它将如何改变LLM应用
从数量到质量:通过自引导数据选择来提升语言模型性能以实现指令调优
Fully Sharded Data Parallelism (FSDP)
CosyVoice 2:基于大型语言模型的可扩展流式语音合成技术
Mini-Omni2: with Vision, Speech and Duplex Capabilities
亲测有效!如何用 Address Sanitizer 精准定位内存漏洞?附保姆级操作指南
要用 AI 裁员 50% 的千亿独角兽,公开认错,重启招聘!
single codebook和dual codebook在LLM中向量量化上有什么区别?
亲测有效!如何用 Address Sanitizer 精准定位内存漏洞?附保姆级操作指南
CosyVoice:一种基于监督式语义标记的可扩展多语言 Zero-Shot 语音合成器
不要对 2+3=?想太多:关于类 o1 大语言模型的过度思考
OPENCSG 中文语料库:一系列高质量的中文数据集,用于语言模型训练
近日还在想要不要建个群呢?感觉自己是个i人,又懒,打理不来呀。但这个想法不自主的就冒出来了,还是要思考下。天人交战良久,得,一位朋友私我要入群,那就建一个吧,感谢。
欢迎入群,希望能有一个交流的地方。但群主是个i人,没事儿让他想静静,有事儿圈他。
群主不是万能的,不是万能的,不是能的,能的。