大模型- GRPO 与 PPO DPO对比--78

GRPO

组相对策略优化(GRPO)

GRPO (Group Relative Policy Optimization) 是 DeepSeek AI 对 PPO 的一种聪明的改进,旨在更加高效,尤其是在复杂的推理任务中。 GRPO 就像是 PPO 的精简版表亲。它保留了 PPO 的核心思想,但去掉了独立的价值函数(辅助教练),使其更轻量、更快速。

故事背景:用强化学习教 AI 写作

训练一个大语言模型,让它回答问题、写文章的能力更强, 这个过程通常叫做 RLHF (Reinforcement learning from Human Feedback)

在传统的 PPO-RLHF 流程中,你需要一个“庞大的团队”来参与训练:

  • 策略模型 (Actor):就是你要训练的 LLM 本身,它负责生成答案。

  • 参考模型 (Reference Model):一个未经强化学习微调的、原始的 LLM。它的作用是作为“锚点”,防止策略模型在学习过程中“跑偏”太远,忘记了基本的语言能力。

  • 奖励模型 (Reward Model):一个裁判。你给它一个问题和模型生成的答案,它会打一个分(奖励),评价这个答案有多好。

  • 价值模型 (Critic):就是我们之前说的“辅助教练”。它试图预测在某个状态下(比如 AI 写完一句话后),最终能获得的总奖励大概是多少。这是 PPO 中计算优势函数 (Advantage) 的关键。

同时运行和训练这四个模型,尤其是对于百亿、千亿参数的 LLM 来说,计算开销和显存占用是极其巨大的。这就像拍一部电影,你不仅要付钱给主角(Actor),还要付钱给导演(Reward Model)、原始剧本(Reference Model)和一位专门分析剧情价值的昂贵顾问(Critic)

GRPO 的核心思想:裁掉“顾问”,用“对比”直接指导

在 LLM 的 RLHF 场景中,那个“辅助教练”(价值模型/Critic)其实是可以被替代的。GRPO 的核心思想就是:我们不需要一个独立的模型来评估当前状态的“绝对价值”,我们只需要知道两个不同答案之间的“相对好坏”就足够了。

GRPO (Group Relative Policy Optimization) 名字的由来:

  • 组 (Group):在 RLHF 中,我们通常会针对同一个问题(Prompt),让模型生成多个答案,然后由人类或奖励模型来排序。最常见的就是一个“获胜答案 (Chosen)”和一个“落选答案 (Rejected)”组成的数据对 (Pair)。这个数据对,就是一个“组”。

  • 相对 (Relative):算法的优化信号不依赖于每个答案的绝对分数(价值),而是依赖于组内成员的相对奖励差异。也就是 (获胜答案的奖励 - 落选答案的奖励)。这个差值直接告诉了我们优化的方向和强度:差值越大,说明“获胜答案”比“落选答案”好得多,我们就应该更大力度地让模型学会前者、抛弃后者。

  • 策略优化 (Policy Optimization):最终目的仍然是优化策略模型(LLM 本身),让它未来能生成更倾向于“获胜答案”风格的内容。

GRPO 与 PPO 的对比

对比一下 PPO 和 GRPO 在计算“优化信号”上的区别:

PPO 的方式 (依赖 Critic):

  1. 模型生成一个答案。

  2. 价值模型 (Critic) 上场,预测:“根据目前写的内容,我估计最终能得 80 分。”(这个就是价值 V(s))。

  3. 奖励模型 (Reward Model) 上场,在答案写完后给出最终的实际得分:“这篇答案很棒,实际得分 95 分。”(这个是回报 R)。

  4. 优势 (Advantage) = 实际得分 R - 预估得分 V(s) = 95−80=15。

  5. 这个正的优势信号告诉模型:“你这次的表现超出了预期,继续保持!”

GRPO 的方式 (不依赖 Critic):

  1. 针对同一个问题,模型生成了两个答案:答案 A(获胜)和答案 B(落选)。

  2. 奖励模型 (Reward Model) 上场,给两个答案打分:

    1. 答案 A 得分:95 分 (Rewardchosen)

    2. 答案 B 得分:70 分 (Rewardrejected)

  3. 相对奖励差异 = Rewardchosen−Rewardrejected=95−70=25。

  4. 这个差值 25 直接作为核心的优化信号。它清晰地告诉策略模型:“答案 A 的方向比答案 B 好得多,你要大力学习 A 的模式,同时避免 B 的模式。”

GRPO 巧妙地用奖励的差值直接替代了 PPO 中需要复杂计算的优势函数。这个差值本身就蕴含了优势信息,因为它直接体现了一个行为(生成答案A)相对于另一个行为(生成答案B)的优越性。

特性 PPO (在 RLHF 中) GRPO (由 DeepSeek 提出)
核心思想 在旧策略附近进行裁剪更新,防止崩溃 基于成对答案相对奖励进行优化
关键组件 策略、价值、奖励、参考 (4个模型) 策略、奖励、参考 (3个模型)
是否需要价值模型 ,用于计算优势函数 ,巧妙地去掉了价值模型
优化信号来源 优势函数 A(s,a) 相对奖励差异 Reward_chosen - Reward_rejected
主要优点 通用、稳定 高效轻量快速,专为LLM优化
主要缺点 在 LLM 场景下资源消耗巨大 专用于有偏好对(preference pair)的场景

一句话总结:GRPO 是 PPO 在大模型 RLHF 领域的一个“降本增效”的特化版本。它通过一个聪明的“减法”——去掉价值模型,并利用成对数据的相对好坏作为直接的优化信号——极大地提升了训练效率,使得对超大规模模型进行强化学习微调变得更加可行和高效。

GRPO 与 DPO 比较

DPO 和 GRPO 在目标和最终效果上极其相似。 它们都是为了解决 PPO 在大模型微调上“太重”的问题,都是通过“去掉价值模型(Critic)”来实现的,并且都依赖于成对的偏好数据(chosen/rejected)。

出发点和理论框架有微妙但重要的区别。这就像两名工程师,面对“如何让汽车更快”这个问题,一个人选择“在现有引擎基础上进行极致改装”,另一个人则选择“重新设计一种全新的引擎”。

GRPO (组相对策略优化)PPO 的极致魔改版

  • 出发点:它完全继承了强化学习(RL)和 PPO 的框架。它的开发者(DeepSeek AI)看着 PPO 说:“这个框架很棒,但价值模型太占资源了。在 LLM 场景下,我们有 chosenrejected 的奖励分数,它们的差值不就是现成的‘优势函数’吗?”

  • 核心操作:它保留了 PPO 的外壳(策略更新、概率比、裁剪等),但把里面最昂贵的“引擎”——价值模型和复杂的优势估计(GAE)——给替换掉了,换成了一个更轻量、更直接的零件:Reward_chosen - Reward_rejected

  • 身份认同:它依然认为自己是一个“强化学习算法”,遵循着 RL 的范式(采样、评估、更新),只是对 PPO 做了个聪明的工程简化。

DPO (直接偏好优化)绕开传统 RL 的全新赛道

  • 出发点:它的开发者(来自斯坦福)从一个更数学、更理论的角度出发。他们问:“我们能不能完全绕开‘奖励建模’和‘强化学习’这个复杂的循环?既然我们最终的目的是让模型能区分偏好,为什么不直接把这个问题看作一个分类问题?”

  • 核心操作:DPO 通过巧妙的数学推导,证明了最大化奖励的 RL 目标函数,可以直接等价于一个简单的二元交叉熵损失函数。这个损失函数直接作用于偏好对,目标是最大化模型生成 chosen 回答的概率,同时最小化生成 rejected 回答的概率。

  • 身份认同:它认为自己是一个“无 RL 的(RL-Free)”算法。它跳出了传统 RL 的框架,直接建立了一条从“人类偏好”到“策略优化”的捷径,理论上更优雅、更直接。

特性 GRPO(组相对策略优化) DPO(直接偏好优化)
核心出发点 工程优化:如何让 PPO 在 LLM 场景下更高效? 理论创新:如何绕开 RL,直接用偏好优化策略?
算法框架 RL 框架:是 PPO 的一个变体,属于策略梯度方法。 分类框架:将偏好学习看作一个可以直接优化的分类问题。
对奖励模型的依赖 显式依赖:在训练循环中,需要一个明确的奖励模型来为 chosenrejected 打分,得到 Reward_chosenReward_rejected 隐式依赖:它绕过了显式的奖励模型。损失函数直接基于策略模型和参考模型对答案的对数概率进行计算,不需要在训练时加载一个独立的奖励模型。
损失函数 PPO-Clip 损失,但优势函数 Â 被替换为奖励差值。 二元交叉熵损失,直接作用于策略和参考模型的对数概率。
可以看作 一个去掉了价值模型(Critic)的 PPO 一个用偏好数据直接微调 LLM 的优雅数学解

尽管出发点不同,但它们都殊途同归地实现了高效的、无价值模型的偏好对齐。

在开源社区和实际应用中,DPO 的理念获得了更广泛的传播和采纳。原因在于:

  1. 更简洁:DPO 的理论更自成一派,完全脱离了 RL 的复杂术语,使其更容易被理解和实现。

  2. 更轻量:因为它在微调阶段不需要加载一个额外的奖励模型,进一步降低了对计算资源的要求,这在实践中是一个巨大的优势。

GRPO 是在 PPO 的高速公路上拆掉了收费站,而 DPO 则是直接修了一条从起点到终点的高铁。

posted @ 2025-07-08 15:41  jack-chen666  阅读(1234)  评论(0)    收藏  举报