DeepSeek 的秘密武器:GRPO,一种更高效的大语言模型强化学习训练方法

DeepSeek 利用 GRPO 提升大型语言模型推理能力,该方法无需价值网络,采用群组采样和相对优势估计,更高效稳定。

原文标题:DeepSeek 背后的技术:GRPO,基于群组采样的高效大语言模型强化学习训练方法详解

原文作者:数据派THU

冷月清谈:

DeepSeek 团队利用强化学习技术显著提升了大型语言模型在复杂推理任务中的能力,其背后的关键在于一种名为 GRPO(群组相对策略优化)的创新方法。GRPO 与传统的 PPO 方法相比,无需价值网络,从而降低了内存占用和计算开销。它采用群组采样进行优势估计,通过比较同一问题不同输出序列的奖励来评估策略的优劣,这种方式更加高效稳定。此外,GRPO 通过改进的目标函数和奖励惩罚机制,实现了更保守的策略更新,防止模型过度优化导致性能下降。

GRPO 将语言模型作为策略网络,输入问题,输出词元序列作为动作。每个词元的生成都依赖于之前的序列,策略网络维护并更新上下文信息。在奖励计算方面,GRPO 根据词元序列的质量给予奖励,并通过群组采样对奖励进行归一化处理,以此来估计优势值。最终,GRPO 通过最大化目标函数来优化策略模型,该目标函数包含策略梯度项、裁剪项和 KL 散度惩罚项,以确保策略更新的有效性和稳定性。

DeepSeek-Math 和 DeepSeek-R1 模型的成功应用案例证明了 GRPO 在提升语言模型数学推理和问题解决能力方面的有效性。GRPO 的出现为语言模型训练提供了新的思路,未来研究方向包括改进优势估计方法、自适应超参数调整以及更深入的理论分析。

怜星夜思:

1、GRPO 相比于 PPO,除了效率和稳定性方面的提升,在实际应用中还有什么其他的优势?例如在模型的泛化能力、可解释性等方面?
2、文章中提到了 GRPO 的一些局限性,比如对参考策略的依赖。那么如何选择合适的参考策略以及如何降低这种依赖性呢?
3、GRPO 在其他类型的 NLP 任务中,例如文本分类、机器翻译等,是否有应用潜力?

原文内容

来源:Deephub Imba
本文约2100字,建议阅读8分钟
本文将深入分析 GRPO 的工作机制及其在语言模型训练领域的重要技术突破,并探讨其在实际应用中的优势与局限性。‍‍‍


强化学习(Reinforcement Learning, RL)已成为提升大型语言模型(Large Language Models, LLMs)推理能力的重要技术手段,特别是在需要复杂推理的任务中。DeepSeek 团队在 DeepSeek-Math [2] 和 DeepSeek-R1 [3] 模型中的突破性成果,充分展示了强化学习在增强语言模型数学推理和问题解决能力方面的巨大潜力。

这些成果的取得源于一种创新性的强化学习方法——群组相对策略优化(Group Relative Policy Optimization, GRPO)。该方法有效解决了将强化学习应用于语言模型时面临的特殊挑战。本文将深入分析 GRPO 的工作机制及其在语言模型训练领域的重要技术突破,并探讨其在实际应用中的优势与局限性。

PPO 与 GRPO 的对比分析

近邻策略优化(Proximal Policy Optimization, PPO)[1] 一直是语言模型强化学习微调的主流算法。PPO 的核心是一种策略梯度方法,通过裁剪(clipping)机制来限制策略更新的幅度,从而防止策略发生过大的破坏性变化。PPO 的目标函数可表示为:

GRPO 首次在文献 [2] 中提出,它在 PPO 的基础上引入了多项关键创新,使其在语言模型训练中具有更高的效率和适用性:

  1. 无需价值网络,显著降低了内存占用和计算开销;

  2. 采用群组采样方法,实现更高效且稳定的优势估计;
  3. 通过强化目标函数和奖励的惩罚机制,实现更保守的策略更新。

更详细的对比:

GRPO 技术深析

语言模型作为策略网络

在 GRPO 框架中,语言模型充当策略网络(actor),将问题 q 作为输入观察 s,输出一系列词元(tokens)作为动作。策略分布在词元序列上进行分解:

注: 原始论文 [2] 使用 o_t 表示时间步 t 的输出词元,而本文采用 a_t 以符合强化学习中动作的标准记号。

序列化词元生成

基于 Transformer 架构和语言模型的自回归特性,生成过程具有严格的序列性:

  1. 每个词元的生成都依赖于之前生成的词元序列;
  2. 策略网络(语言模型)维护持续更新的上下文信息;
  3. 每个词元生成步骤都可视为强化学习框架中的一个动作 a_t。

奖励计算与优势估计

GRPO 对每个生成序列中的词元奖励计算如下:

Image

GRPO 摒弃了传统的价值网络,转而通过对参考策略产生的多个输出样本进行群组奖励归一化来估计基线优势值 A。这些输出样本都是针对同一输入问题生成的:

Image

优势估计的详细步骤:

  1. 群组采样: 对于每个问题,使用旧策略生成多个不同的输出序列。

  2. 奖励计算: 计算每个输出序列的累积奖励。

  3. 奖励归一化: 对群组内的奖励进行归一化处理,例如减去均值并除以标准差。

  4. 优势估计: 使用归一化后的奖励作为优势函数的估计值。

GRPO 目标函数

对于每个问题 𝑞,GRPO 从旧策略 𝜋𝜃𝑜𝑙𝑑 中采样一组输出 {𝑜1, 𝑜2, · · · , 𝑜𝐺},然后通过最大化 GRPO 目标函数来优化策略模型。完整的 GRPO 目标函数综合了以下要素:

该目标函数的特点:

  1. 同时在群组和序列长度维度上进行平均;
  2. 使用裁剪机制确保策略更新的保守性;
  3. 引入 KL 散度估计作为惩罚项,防止策略与参考模型产生过大偏离。

目标函数的详细解释:

  • 第一项: 策略梯度项,鼓励模型生成更高奖励的动作序列。
  • 第二项: 裁剪项,限制策略更新的幅度,防止策略崩溃。
  • 第三项: KL 散度惩罚项,防止新策略与旧策略偏离过大,保证训练的稳定性。

GRPO 的优势与局限性

优势:

  • 高效性: 无需价值网络,降低了计算和内存开销。
  • 稳定性: 群组采样和 KL 散度惩罚提高了训练的稳定性。
  • 适用性: 特别适用于大规模语言模型的微调。

局限性:

  • 对参考策略的依赖: GRPO 的性能受到参考策略质量的影响。
  • 超参数敏感: 目标函数中的超参数(如裁剪范围和 KL 散度系数)需要仔细调整。
  • 理论分析的缺乏: 相比于 PPO,GRPO 的理论分析还不够完善。

实际应用案例

DeepSeek-Math 和 DeepSeek-R1 是 GRPO 在实际应用中的成功案例。这些模型在数学推理和问题解决能力方面取得了显著的提升,证明了 GRPO 在增强语言模型推理能力方面的有效性。

DeepSeek-Math: 通过 GRPO 训练,DeepSeek-Math 在数学问题解决能力上超越了许多其他大型语言模型。

DeepSeek-R1: DeepSeek-R1 利用 GRPO 提高了在复杂推理任务中的表现,例如阅读理解和逻辑推理。

总结

GRPO 在将强化学习应用于语言模型方面取得了重要突破。通过取消价值网络依赖并引入群组相对优势估计,该方法实现了更高效和稳定的训练过程。DeepSeek-Math 和 DeepSeek-R1 的成功实践充分验证了这种方法的实际效果。

GRPO 的核心创新——群组采样、相对优势估计以及价值网络的简化——为语言模型训练的未来发展提供了重要的技术参考。随着语言模型能力边界的不断拓展,GRPO 等创新技术将在充分发挥语言模型潜力方面发挥关键作用。未来的研究方向包括:

  • 改进优势估计方法: 探索更精确和高效的优势估计方法。
  • 自适应超参数调整: 开发自动调整 GRPO 超参数的算法。
  • 理论分析: 加强对 GRPO 算法的理论分析,理解其收敛性和泛化能力。

参考

[1] Schulman, John, et al. Proximal Policy Optimization Algorithms. arXiv:1707.06347

[2] Shao, Zhihong, et al. DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models. arXiv:2402.03300,

[3] DeepSeek-AI, et al. DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning. arXiv:2501.12948,


编辑:黄继彦



关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。



新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU

补充一点,我觉得 GRPO 的无价值网络设计可能会间接提升泛化性。毕竟减少了需要学习的参数,模型更不容易过拟合。当然,这也只是个猜想,具体效果还是要看实际应用场景。

除了楼上说的,我觉得自训练(Self-Training)也是一个不错的选择。可以用当前的模型作为参考策略,生成一些新的数据,然后再用这些数据进行训练。这样可以不断迭代优化模型,减少对外部参考策略的依赖。

说到可解释性,我觉得 GRPO 和 PPO 都面临同样的挑战。毕竟它们都是基于强化学习的,而强化学习本身就是一个黑盒模型。虽然我们可以通过分析奖励函数和策略来理解模型的行为,但这仍然不够直观。或许可以结合一些可解释性 AI 的方法来进一步研究。

我觉得 GRPO 的核心思想,也就是群组采样和相对优势估计,是可以应用到其他 NLP 任务中的。比如在文本分类任务中,可以将不同类别的样本组成一个群组,然后通过比较模型在同一群组内不同样本上的预测结果来估计优势值。当然,具体的实现方式还需要根据任务的特点进行调整。

关于 GRPO 和 PPO 在泛化能力上的比较,目前还没有特别深入的研究和结论。不过我个人推测,GRPO 通过群组采样和相对优势估计,可能可以更好地捕捉到不同输出序列之间的细微差异,从而提高模型对未见数据的适应能力。当然,这只是我的一个想法,还需要更多实验来验证。

对于机器翻译来说,我觉得 GRPO 也可以尝试。可以将不同翻译结果组成一个群组,然后根据翻译质量评估指标来计算奖励,并用 GRPO 进行优化。不过机器翻译的评价指标比较复杂,可能需要设计更精细的奖励函数。

选择参考策略确实是个关键问题。一个比较直接的想法是用预训练好的语言模型作为参考策略,比如 BERT、GPT 等。当然,也可以根据具体的任务需求,选择一些特定领域训练的模型。至于降低依赖性,我觉得可以尝试一些集成学习的方法,比如用多个不同的参考策略进行训练,然后将它们的输出进行融合。

补充一点,GRPO 的无价值网络设计对于一些低资源场景下的 NLP 任务可能更具优势。毕竟可以减少计算开销,提高训练效率。所以我觉得在一些资源有限的任务上,GRPO 或许会有更大的应用潜力。

我想到一个可能降低参考策略依赖的方法:Curriculum Learning。可以先用一个比较简单的参考策略训练模型,然后逐步提高参考策略的难度,这样可以让模型逐渐学习到更复杂的策略,降低对初始参考策略的依赖。