GRPO介绍
GRPO 是一种在线学习算法,这意味着它通过使用训练模型本身在训练期间生成的数据进行迭代改进。GRPO 目标背后的直觉是最大限度地利用生成的完成,同时确保模型始终接近参考策略。
GRPO 的发明者是 DeepSeek,最早是被用于微调 DeepSeek 的 R1 和 R1-Zero 模型 —— 它们可通过学习生成思维链(CoT)来更好地解决数学和逻辑问题。
原理
https://github.com/huggingface/trl/blob/main/docs/source/grpo_trainer.md
要了解 GRPO 的工作原理,可以分为四个主要步骤:生成补全、计算优势、估计 KL 散度和计算损失。
-
生成补全(Generating completions)
在每一个训练步骤中,我们从提示(prompts)中采样一个批次(batch),并为每个提示生成一组 G个补全(completions)(记为oᵢ)。 -
计算优势(Computing the advantage)
对于每一个G序列,使用奖励模型(reward model)计算其奖励(reward)。为了与奖励模型的比较性质保持一致(通常在同一问题的输出比较数据集上进行训练),计算优势以反映这些相对比较。其归一化公式如下:
这种方法为该方法命名:组(群体)相关策略优化 (GRPO)。
群相对策略优化(GRPO)是一种强化学习(RL)算法,专门用于增强大型语言模型(LLM)的推理能力。与传统的RL方法不同,RL方法严重依赖外部评估者(批评者)来指导学习,GRPO通过相互评估响应组来优化模型。这种方法可以实现更有效的培训,使GRPO成为需要复杂解决问题和长思维链的推理任务的理想选择。
-
估计KL散度(Estimating the KL divergence)
KL 散度是使用 Schulman et al. (2020)引入的近似器估计的。近似器定义如下