今天我们来回顾一下**群体相对策略优化 (GRPO)**背后的数学原理,这是 DeepSeek 强大推理能力的核心强化学习算法。我将一一分析 GRPO 的工作原理、关键组成部分,以及它为何能颠覆大型语言模型(LLM)训练的方式。

GRPO 的基础

什么是 GRPO?

**群体相对策略优化(GRPO)**是一种强化学习算法,专门用来提升大语言模型的推理能力。与传统方法不同,GRPO 不是依赖外部的“评论者”来评价每个回答,而是通过对一组回答进行相互比较来优化模型。这种方式使得训练过程更加高效,特别适合解决那些需要复杂推理和长链思维的任务。

为什么选择 GRPO?

传统的强化学习方法,比如近端策略优化(PPO) ,在面对推理任务时会遇到一些问题:

  • 依赖外部评论者

    • PPO 通常需要一个单独的模型来评价每个回答的质量,这样会大大增加计算和存储的负担。
    • 评论者模型的训练也非常复杂,尤其是在任务的评价标准较为主观时,容易出错。
  • 高计算成本

    • 强化学习的训练过程通常需要大量的计算资源,反复评估和优化回答。
    • 当应用到大型语言模型时,计算资源的需求更加庞大。
  • 可扩展性差

    • 绝对奖励评估在多种不同任务中难以适应,导致在不同推理任务间的迁移效果不好。

GRPO 如何解决这些问题?

  • 无需外部评论者:GRPO 通过对一组回答进行比较,省去了外部评论者模型的需求,降低了计算开销。
  • 相对评价:不依赖外部的评分系统,GRPO 通过在同一组内对不同回答进行比较,来评估每个回答的表现。
  • 高效训练:GRPO 的训练聚焦于组内的相对优势,简化了奖励估算的过程,使得训练更快速、扩展性更强,尤其适合大规模模型。

关键思想

GRPO 的核心理念是相对评价

  • 对于每个输入,模型会生成多个潜在的回答。
  • 这些回答并不是单独评价,而是与同组其他回答进行比较。
  • 每个回答的优势指的是它相对于组内其他回答的表现,是好还是差。

这种方法避免了使用评论者模型,使得 GRPO 更加高效和稳定。通过在组内引发竞争,GRPO 能促使模型不断改进推理能力。正是这种创新,使得 DeepSeek 在推理任务中表现卓越。

GRPO 的目标函数

GRPO 的目标函数是用来指导模型如何调整策略,从而生成更高质量的回答。通过组内的比较,GRPO 使得模型可以在不断的优化中逐步提升推理和回答的能力。

用简单术语理解 GRPO 目标函数

GRPO(群体相对策略优化)的目标函数,就像是一个“训练计划”,它帮助模型通过比较自己的回答,逐渐改进,最终变得更擅长生成高质量的回答。接下来,我们会一步步解析它,让每个部分都变得通俗易懂。

目标是什么?

假设你在教一群学生做数学题。你不直接告诉他们哪个答案对哪个错,而是先把所有学生的答案拿出来,看看谁做得最好(并分析为什么)。然后,你奖励做得好的学生,并帮助其他学生改进,最终让每个学生都进步。这就是 GRPO 的工作方式——它帮助 AI 模型改进自己的表现,而不是学生。

一步步解析

步骤 1:选择一个查询

首先,从训练数据中选择一个问题。

例子:比如问题是“8 + 5 等于多少?”

步骤 2:生成一组回答

模型根据问题生成多个答案。

例子:模型可能生成以下几种回答:

  • o1:“答案是 13。”
  • o2:“十三。”
  • o3:“是 12。”
  • o4:“和是 13。”
步骤 3:为每个回答计算奖励

奖励是什么?

奖励是用来指导模型学习的,它衡量每个回答的质量。

GRPO 中的奖励类型:

  • 准确性奖励:回答是否正确(例如数学题的答案是否正确)。
  • 格式奖励:回答是否符合规定的格式(比如推理过程是否清晰)。
  • 语言一致性奖励:回答是否语言流畅、格式一致。

为每个回答分配一个奖励分数(ri),例如:

  • r1=1.0(正确且格式规范)
  • r2=0.9(正确,但不够正式)
  • r3=0.0(错误)
  • r4=1.0(正确且格式规范)
步骤 4:比较回答(组内优势)

接下来,模型会计算每个回答相对于其他回答的优势(Ai)

  • 比较每个回答和组内其他回答的平均水平:

    • 如果某个回答表现比平均水平好,它就会得到正分;
    • 如果某个回答表现比平均水平差,它就会得到负分。

这种方法鼓励模型在组内竞争,不断提升表现。通过与其他回答的比较,模型能学到哪些回答更好,从而不断改进自己的推理能力。

更简单的理解方式:

  • 我们先比较每个回答和组内其他回答的平均水平:如果某个回答比平均水平好,它就会得到正分;如果差于平均水平,它就得到负分。
  • 这种方法就像是让回答之间进行“竞争”,从而推动模型生成越来越好的答案。

步骤 5:使用剪切更新策略

  • 举个例子:假如新策略开始过分偏向某个回答,比如 o1,剪切策略会确保它不会因为过度偏向这个回答而影响整体结果。
  • 这样,即使在推理这类复杂任务中,也能确保策略优化稳定、可靠。

步骤 6:使用 KL 散度惩罚偏差

综合起来

GRPO 目标的工作原理可以这样理解:

  1. 生成一组回答:首先,模型会为一个问题生成多个可能的回答。
  2. 计算每个回答的奖励:根据一些标准,比如回答的准确性和格式,给每个回答打分。
  3. 比较回答之间的优劣:接下来,模型会把这些回答相互比较,算出每个回答的“相对优势”。
  4. 更新策略:模型会根据“优势”来调整自己的策略,更多支持那些表现更好的回答,并确保这种调整是稳定的。
  5. 避免过度偏离:最后,通过一些规范性的更新,确保模型不会偏离最初的学习方向,保持稳定的进步。

为什么 GRPO 有效?

  • 无需评审员:GRPO 通过群体比较来代替单独的评估者,这样就能节省计算资源,降低成本。
  • 稳定的学习过程:剪切更新策略和 KL 散度正则化确保模型在训练时不会出现过大的波动,保持稳定的进步。
  • 高效的训练:因为它专注于相对表现,所以特别适合像推理这种很难用绝对评分来评判的任务。

现实生活中的类比

可以想象一群学生在做一个问题。老师不再单独给每个学生评分,而是让学生们自己比较答案。做得好的学生会得到鼓励,而做得不好的学生会从错误中学习。随着时间的推移,整个班级会不断进步,答案变得越来越准确、一致。GRPO 就是把这个道理应用到 AI 模型的训练中,帮助它们更有效、更高效地学习。

GRPO 与 PPO 的比较

GRPO 的实际应用:DeepSeek 的成功

GRPO 通过实现高效且可扩展的推理任务训练,推动了 DeepSeek 的出色表现。下面是它如何转化为成功的几个关键点:

  1. 增强推理能力:GRPO 让DeepSeek-R1-Zero在 AIME 2024 比赛中取得了 71.0% 的 Pass@1 分数,并通过集体投票的方式,将分数提升到了86.7% 。在解决数学和逻辑问题时,它的表现已经可以与 OpenAI 等顶尖专有模型相媲美。
  2. 新兴能力:通过 GRPO,DeepSeek 模型展现了更高级的推理能力,比如自我验证反思长链思维,这些能力对于解决复杂任务至关重要。
  3. 可扩展性:GRPO 的群体优化方式不再依赖单独的评论模型,减少了计算成本,使得大规模训练成为可能。
  4. 提炼成功:通过从 GRPO 训练得到的检查点提炼出的小型模型,DeepSeek 能保持较高的推理能力,同时更加易于部署和具有成本效益。

通过关注回答间的相对表现,GRPO 让 DeepSeek 在推理任务、长时间上下文理解以及一般 AI 任务中设定了新的标杆,同时确保了训练的效率和可扩展性。