强化学习系列第二篇 |文末点击阅读原文查看网页版| 更多专栏文章点击查看:
LLM 架构专栏
大模型架构专栏文章阅读指南
Agent系列
强化学习系列
欢迎加入大模型交流群:加群链接 https://docs.qq.com/doc/DS3VGS0NFVHNRR0Ru#
公众号【柏企阅文
知乎【柏企】
个人网站https://chenbaiqi.com

引言

DeepSeek-R1是一款开源大语言模型,其复杂推理能力可与顶级专有系统相媲美。它的秘密武器是什么呢?是一种名为群体相对策略优化(Group Relative Policy Optimization,GRPO)的全新强化学习(RL)算法。DeepSeek-R1并未依赖常见的监督微调(SFT)流程和大量人工反馈,而是利用GRPO在无需大规模价值网络或大规模人工标注的情况下提升推理能力。

在本文中,我们将首先快速概述GRPO,然后探讨三个相关主题:

  • 深入推导过程

    • GRPO与策略梯度定理有何关联
    • 为什么要减去群体均值
    • 标记级与序列级处理方式的差异
  • 对关键超参数的敏感性

    • 群体大小(G)、KL惩罚系数(β)和奖励方差对训练稳定性和性能有何影响
  • GRPO的几何视角探索

    • 与信任区域、费舍尔信息和自然梯度有何联系
    • 为何这能为大语言模型训练带来异常稳定的更新

为什么这很重要

对于任何希望高效训练大语言模型的人来说,GRPO为标准的人类反馈强化学习(RLHF)提供了一个强大的替代方案。通过基于群体的比较,而非大型评判网络,它降低了计算量、噪声和复杂性,使高级大语言模型的训练更加易于实现。

1. GRPO公式概述

群体相对策略优化(GRPO)的核心工作原理如下:

  1. 采样输出:对于每个问题(或提示)q,模型从当前(或 “旧”)策略中进行采样,得出一组候选输出。

  1. 评分:然后通过一个奖励函数对每个输出进行评分,产生奖励值。

  1. 基线与优势值计算:群体的平均奖励作为基线,每个输出的优势值是其奖励与基线的偏差程度,并通过群体的标准差进行归一化处理。

从数学角度来看,GRPO的目标是在保持更新稳定的同时,最大化高于基线输出的概率,具体通过以下方式实现:

  • 裁剪(类似于近端策略优化,PPO):限制策略发生过大跳跃。
  • KL正则化:使更新后的策略与参考策略π_ref(通常是先前的检查点或初始模型)保持接近。

我们可以将GRPO损失写为:

为什么它有效

通过将每个样本与群体中的其他样本进行比较,模型进行 “自我竞争”——超过群体平均水平的输出获得正优势值,而低于平均水平的输出则受到抑制。这种基于局部样本的基线消除了对单独价值函数的需求(与经典的演员 - 评论家方法不同)。相反,群体的平均奖励作为该提示预期性能的经验估计。

关键组成部分

  1. 基于群体的优势估计:GRPO并非使用学习到的评论家来获取优势值(例如广义优势估计,GAE),而是纯粹根据群体的平均奖励来计算优势值。输出i的优势值为:

该输出中的所有标记都共享相同的优势值(这对于基于结果的奖励,如 “正确与错误” 非常方便)。这确保了无论绝对奖励大小如何,优势值都大致在相同的尺度上。直观地说,每个输出的奖励是相对于其 “同伴” 进行评判的:比群体平均水平更好的输出获得正优势值,比平均水平差的获得负优势值。在基于结果的奖励这种最简单的情况下(当仅给出整个输出的最终分数时,优势值均匀应用于整个序列),该输出中的所有标记都被赋予相同的优势值。由于模型与自身竞争,它因超过自身预期分数(平均值)而获得奖励,因表现不佳而受到惩罚,这提供了一种自动课程学习形式,鼓励每次迭代都超越模型当前的能力。

不需要价值函数还有一个优势,即训练模型所需的训练资源显著减少。

2. 深入推导过程

2.1 与策略梯度定理的关系

在经典策略梯度理论(Sutton & Barto,Williams的REINFORCE等)中,我们有:

其中τ是一个轨迹(或在大语言模型上下文中的输出),A(τ)是优势值。关键的是,该优势值可以写成A(τ)=Q(τ) - b,其中b是某个基线。如果仅在轨迹结束时分配奖励,Q(τ)就是那个最终奖励。

在GRPO中,我们使用基于群体的基线,实际上就是群体的平均奖励:

所以

如果我们还除以群体奖励的标准差,这只是增加了一个常数缩放因子(在不影响无偏性的情况下减少方差)。因此,从理论角度来看,GRPO可以被视为标准策略梯度加上一个基于局部样本的基线(群体均值)。

2.2 为什么要减去群体均值?

从数学角度来看,在REINFORCE中减少方差的标准方法是减去任何基线函数b(s)。GRPO中的群体均值方法基本上是对最优常数基线的基于样本的近似:

在实践中,这是旧策略对该提示的预期奖励。不同之处在于我们是针对每个小批量、每个提示进行计算,这样更具针对性。我们不是使用所有可能提示的全局平均值,而是计算该群体的局部平均值:

这种局部方法具有以下特点:

  • 无偏性:因为ri减去群体均值的期望为0。
  • 有效降低方差:如果群体中的所有输出在奖励上相似,那么ri减去群体均值的差异就很小。
  • 最小化对学习函数逼近器的需求:通常情况下,你会使用 “基于评论家” 的基线来处理大型状态空间。但在这里,群体基线与领域无关且仍然有效。

2.3 标记级与序列级处理

通常,公式被写成对标记的求和形式:

但请注意,对于输出i中的所有标记,Â是常数,因为奖励仅在最后给出。这意味着每个标记看到的优势值相同。项ri,t(通常表示概率比或部分目标项)可能因标记而异。所以实际上我们是用相同的优势值缩放每个标记的梯度。对标记求和并在群体中取平均得到:

如果我们展开梯度,会得到:

“min(… )” 部分与PPO的逻辑相同——一旦比率超出[1 - ε, 1 + ε],更新的这部分就会被裁剪(忽略),防止更新过大。在实践中,像PyTorch的 “clip by value” 函数或分段掩码等框架实现了这种逻辑。

3. 对关键超参数的敏感性

3.1 群体大小(G)

定义与基本原理:群体大小(G)指的是每个查询采样的输出数量,它对GRPO中的学习信号有重大影响。较大的G能更可靠地估计基线奖励,因为对更多样本求平均能更好地逼近该查询的预期奖励。这种 “基于群体的基线” 通过在输出间 “平滑” 随机性来降低优势估计的方差。

当G非常小(例如,G = 1)时,单个输出的奖励等于基线,产生的优势值为零——因此没有学习信号。因此,为了进行学习,G至少必须为2。在实践中,适度较大的群体(例如4、8或更多)通常效果最佳。

适度的G(例如8 - 16)在许多任务中能达到平衡。(DeepSeek在数学推理挑战中使用G = 64取得了很好的结果,但在一般任务中较小的G通常就足够了)。随着G的增加,策略梯度的方差会降低(因为减去预期奖励的良好估计值是策略梯度中一种众所周知的方差降低技术),这反过来提高了训练的稳定性。梯度更稳定时,策略可以安全地采取更大的更新步骤而不会发散,有可能加快每次迭代的收敛速度(达到给定性能所需的迭代次数更少)。

为什么它起作用:如果奖励值的方差为σ²,使用群体均值作为基线大约可以消除1/G的方差。因此,优势值中剩余的方差比例大致为(1 - G/σ²)(假设样本是独立同分布的)。方差越低意味着梯度估计越可靠——有助于策略稳步改进,而不是因噪声而波动。这就是为什么上图中的曲线随着G的增加接近1.0——我们永远无法消除所有方差,但更大的群体渐近地接近理想基线的性能。优势估计的方差更低转化为更可靠的梯度更新,帮助策略稳步改进,而不是因噪声而波动。从经验上看,较大G带来的这种稳定性可以导致每个训练步骤的奖励分数更快提高。另一方面,如果G太小,学习信号可能会被噪声淹没——策略可能需要多次更新(或更小的学习率)来平均掉随机性,从而减缓收敛速度。总之,增加G通过平均掉随机性来增强学习信号,产生更低方差的优势值和更稳定、更快的收敛,直到计算成本超过收益。

3.2 KL惩罚系数(β)

作用:KL惩罚系数β控制GRPO对新策略与参考策略(通常是预训练模型)之间差异的惩罚强度。它实际上调整了探索(奖励最大化)与保持接近参考分布之间的权衡。较大的β意味着对改变策略的惩罚更强,导致更新非常保守:策略将保持接近参考模型,每次步骤的漂移最小。这种高β的情况提高了训练的稳定性——它防止模型过度追逐奖励信号,以至于过度改变其语言输出分布。在RLHF环境中,强KL惩罚已知可以限制策略漂移,保留基础模型的流畅行为,避免模型通过产生奇怪的输出来 “破解” 奖励。然而,如果β设置得太高,策略可能无法充分优化奖励——基本上被初始策略束缚。在这种情况下,学习可能会停滞,因为策略不会有足够的偏差来显著提高奖励分数。

相反,较小的β削弱了KL正则化,允许策略远离参考策略以获取奖励。这在一开始可以加快奖励的提升,因为模型可以更自由地利用奖励模型。但是如果β太低(或为零),训练可能会变得不稳定:策略可能会漂移得太远,以至于过度拟合代理奖励并开始生成分布外或低质量的输出(一种奖励破解形式)。低β因此存在策略更新过大的风险,从而降低模型的通用语言质量——这正是KL惩罚旨在防止的情况。在实践中,需要找到一个平衡点:适度的β既能允许有意义的策略改进,又能将策略保持在原始模型的 “信任区域” 内。从经验上看,RLHF实现通常会调整β,以在每步或每集目标达到一定的KL散度(确保模型不会漂移太快)。例如,DeepSeek - Math实验将β固定为0.04,这是一个相对较小的惩罚——足以温和地正则化策略,但又不会大到阻止提高准确性。如果他们使用大得多的β,模型可能会更接近其初始行为,收益也会更小;如果使用小得多的β,模型可能会快速获得更高的奖励,但代价是不稳定或失去通用性。

在GRPO训练中,调整β直接影响策略更新的大小和稳定性。每次策略更新都试图最大化奖励优势减去β。如果β很大,优化器只会允许小的变化(以避免大的KL项),导致每次迭代中策略的微小变化(高稳定性,低漂移)。如果β很小,优化器可以更积极地推动π_θ增加奖励,而较少考虑KL,这可能导致每次更新中策略的偏差更大。从控制的角度来看,β就像分布空间中的步长调节器——类似于学习率,但专门用于KL距离。研究人员指出,包含KL惩罚对于RLHF保持预训练模型的一致性至关重要;没有它,可能会发生 “偏离基础模型” 的情况,从而降低性能。因此,通常会调整β以确保新策略和参考策略之间的KL散度保持在合理范围内。总之,增加β使训练更安全、更稳定(防止过度的策略转移),但β太高会减缓或停止学习,而降低β则鼓励探索和奖励优化,但有不稳定和漂移的风险。最优的β实现了一种平衡,使策略能够有效地提高奖励,同时KL惩罚温和地引导它,避免不受限制的优化带来的陷阱。

4. 二阶优化和几何视角

4.1 与信任区域策略优化(TRPO)的联系

群体相对策略优化可以被视为一种对信任区域风格策略更新的近似,与TRPO类似。回想一下,TRPO选择在满足与旧策略的KL散度约束的情况下最大化优势的策略更新。在实践中,TRPO通过求解一个约束优化问题(通常通过拉格朗日乘数)来确保新策略不会离旧策略太远。PPO最初是作为TRPO的一阶近似推导出来的,使用KL惩罚或裁剪以更简单的方式强制执行信任区域约束。GRPO继承了这种理念:它使用PPO风格的裁剪目标来防止任何给定概率比的更新过大,并且在目标中明确包含KL散度项。这个KL项与TRPO的约束起到类似的作用,作为一个正则化项,惩罚策略的大幅变动。实际上,如果我们将β解释为拉格朗日乘数,GRPO正在优化一个拉格朗日函数:

4.2 锚定策略

在DeepSeek-R1中,参考策略π_ref通常是初始预训练模型,保持固定。因此,每次更新步骤都受到限制,因为离π_ref漂移太远会触发大的KL惩罚。这在起点周围创建了一个信任区域(而不是围绕上一次迭代),在参数空间中局部约束策略,并通过小的、安全的步骤帮助确保单调改进。

将GRPO视为在幕后执行类似TRPO的更新很有启发性。PPO裁剪已经在一次迭代中使π_θ接近π_old,添加KL正则化进一步确保π_θ不会过度偏离π_ref。可以说GRPO在由裁剪和KL惩罚组合定义的隐式信任区域内运行。值得注意的是,如果在每次迭代后逐渐将π_ref更新为π_old(使参考成为像旧策略一样的移动目标),GRPO基本上会恢复为带有KL惩罚的标准PPO公式——这是已知的TRPO的替代形式。在任何一种情况下,KL项的包含意味着GRPO在每次更新时都意识到它在分布空间中移动的 “距离”,而不仅仅是盲目地在参数空间中跟随梯度。这正是TRPO的原则:即使参数变化看起来很大,也可以确保策略分布的小变化,因为策略网络可能处于参数空间中非常敏感的部分。PPO/GRPO的机制通过根据概率比和KL来衡量变化来处理这个问题。从经验上看,这产生了与TRPO相同的好处——即训练稳定性和单调改进。性能的突然下降是策略更新过大的标志;GRPO的裁剪目标和KL项旨在避免这种情况,就像TRPO通过从不离开信任区域来避免一样。因此,我们可以将GRPO视为为大语言模型训练量身定制的近似TRPO:它实现了类似的信任区域效果(策略约束和逐步改进),但具有更简单的实现,无需单独的价值函数,并利用基于群体的优势来提高效率。

4.3 与费舍尔信息的联系

一种理解为什么GRPO的KL惩罚具有二阶优势的有用方法是通过费舍尔信息矩阵(FIM)。在参考策略π_ref附近,KL散度关于参数的海森矩阵恰好是费舍尔矩阵。正式地,如果我们考虑:

那么在θ≈θref时,

简单来说,那些会显著改变标记概率的方向会产生大的费舍尔曲率,所以KL项会强烈惩罚这些方向。

这反映了自然梯度方法背后的思想:不是在原始参数空间中采取步骤,而是根据概率流形的几何结构进行更新。具体来说,策略更新Δθ由F⁻¹调整,其中F是费舍尔矩阵。这产生的步骤更稳定、与参数化无关,并且更不容易产生破坏性的过拟合——这正是像TRPO(以及扩展到GRPO)这样的信任区域算法旨在实现的目标。

4.4 关于几何的简要说明

GRPO的KL惩罚在黎曼几何方面也有更深入的解释,其中KL散度定义了策略空间上的局部度量。这实际上使GRPO的更新近似于自然梯度。我们将在未来的文章中更深入地探讨这个有趣的观点!

5. 结论:为什么GRPO的数学原理至关重要

深入研究群体相对策略优化(GRPO)背后的数学原理后,我们发现它是经典REINFORCE或近端策略优化(PPO)框架的自然延伸,同时有几个关键的创新点:

  • 基于群体的优势估计:GRPO通过让模型直接将输出与局部基线(群体平均奖励)进行比较,从而无需训练一个价值评估网络。
  • 归一化减少方差:GRPO在每个群体中对优势值进行归一化,相较于简单的基于奖励的方法,能获得更稳定的梯度。
  • 裁剪与KL惩罚:这是双重保障机制。裁剪能抑制因概率比导致的过大更新,而KL惩罚项则将策略锚定在参考分布上,有助于防止模型为获取奖励而走偏,避免出现灾难性的策略漂移。
  • 二阶优化意识:对KL散度进行惩罚,直接关联到自然梯度原理和信任区域的概念(如信任区域策略优化TRPO)。这种从几何角度的考量进一步稳定了训练过程,对于大语言模型而言尤为重要。

实际上,GRPO就像是 “带有局部计算群体基线的PPO”,而不是依赖一个训练好的价值函数。这种基于群体的基线在大语言模型任务中特别有效,因为像 “答案正确与否” 这类最终奖励相当容易衡量。最终的结果是,训练过程更加稳定,方差显著降低,而且无需维护庞大的价值评估网络 —— 这些优势使得GRPO成为微调大语言模型的实用且高效的选择。

参考文献

[1] DeepSeek-AI, “DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning,” arXiv preprint, Jan. 2025. [Online]. Available: https://arxiv.org/pdf/2501.12948. [Accessed: Mar. 23, 2025].

[2] L. Tiao, “How to Train LLMs to ‘Think’ (O1 & DeepSeek-R1),” Towards Data Science, Jan. 29, 2024. [Online]. Available: https://towardsdatascience.com/how-to-train-llms-to-think-o1-... [Accessed: Mar. 23, 2025].

[3] L. Tiao, “Exploring DeepSeek’s R1 Training Process,” Towards Data Science, Feb. 5, 2024. [Online]. Available: https://towardsdatascience.com/exploring-deepseeks-r1-trainin... [Accessed: Mar. 23, 2025].

[4] Yugen AI, “Understanding the Math Behind GRPO — DeepSeek-R1-Zero,” Medium, Mar. 2024. [Online]. Available: https://medium.com/yugen-ai-technology-blog/understanding-the... [Accessed: Mar. 23, 2025].

[5] NormalUhr, “DeepSeek-R1 Dissection: Understanding PPO & GRPO Without Any Prior Reinforcement Learning Knowledge,” Hugging Face Blog, Mar. 2024. [Online]. Available: https://huggingface.co/blog/NormalUhr/grpo. [Accessed: Mar. 23, 2025].

[6] DeepSeek-AI, “DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models,” arXiv preprint, Feb. 2024. [Online]. Available: https://arxiv.org/pdf/2402.03300. [Accessed: Mar. 23, 2025].

[7] P. Schmid, “Bite: How DeepSeek R1 Was Trained,” PhilSchmid.de, Mar. 2024. [Online]. Available: https://www.philschmid.de/deepseek-r1. [Accessed: Mar. 23, 2025].

[8] E. Pichka, “Group Relative Policy Optimization (GRPO) Illustrated Breakdown,” epichka.com, Jan. 2025. [Online]. Available: https://epichka.com/blog/2025/grpo/. [Accessed: Mar. 23, 2025].

[9] R. S. Sutton and A. G. Barto, Reinforcement Learning: An Introduction, 2nd ed. Cambridge, MA: MIT Press, 2018.

[10] AgileRL, “GRPO — AgileRL Documentation,” AgileRL, [Online]. Available: https://docs.agilerl.com/en/latest/api/algorithms/grpo.html. [Accessed: Mar. 23, 2025].

[11] R. Salakhutdinov, “Natural Policy Gradients,” lecture slides, Course 10–403: Deep Reinforcement Learning, Carnegie Mellon University, Spring 2019. [Online]. Available: https://www.andrew.cmu.edu/course/10-403/slides/S19_lecture13... [Accessed: Mar. 23, 2025].

## 推荐阅读
1. DeepSeek-R1的顿悟时刻是如何出现的? 背后的数学原理
2. 微调 DeepSeek LLM:使用监督微调(SFT)与 Hugging Face 数据
3. 使用 DeepSeek-R1 等推理模型将 RAG 转换为 RAT
4. DeepSeek R1:了解GRPO和多阶段训练
5. 深度探索:DeepSeek-R1 如何从零开始训练
6. DeepSeek 发布 Janus Pro 7B 多模态模型,免费又强大!

本文由mdnice多平台发布


柏企科技圈
15 声望4 粉丝