GRPO是一种为节省强化学习训练成本而采用的策略优化方法。它摒弃了通常与策略模型大小相同的评论家模型critic model而是通过对一组输出进行评分来估计基线baseline。其核心机制是通过生成多样化的候选输出然后使用预定义的奖励函数评估这些输出并选择高质量回答进行学习。与传统的强化学习方法相比,GRPO特别适合解决语言模型中的稀疏奖励问题,能更有效地探索输出空间。在DeepSeek-R1系列开发中,GRPO作为主要训练框架,促使模型逐步形成复杂的推理能力。GRPO的优势在于它允许模型在训练过程中自然发展推理行为,而不依赖于人工标注的推理链。具体来说,对于每个问题 q,GRPO从旧的策略πθold\pi_{\theta_{\text{old}}}πθold中采样一组输出{o1,o2,...,oG}\{o_1, o_2, ..., o_G\}{o1,o2,...,oG}然后通过最大化以下目标函数来优化策略模型πθ\pi_{\theta}πθJGRPO(θ)Eq∼P(Q),{oi}i1G∼πθold(O∣q)[1G∑i1G(min(πθ(oi∣q)πθold(oi∣q)Ai,clip(πθ(oi∣q)πθold(oi∣q),1−ϵ,1ϵ)Ai)−βDKL(πθ∣∣πref))] \mathcal{J}_{\text{GRPO}}(\theta) \mathbb{E}_{q \sim P(Q), \{o_i\}_{i1}^G \sim \pi_{\theta_{\text{old}}}(O|q)} \left[ \frac{1}{G} \sum_{i1}^{G} \left( \min\left(\frac{\pi_{\theta}(o_i|q)}{\pi_{\theta_{\text{old}}}(o_i|q)}A_i, \text{clip}\left(\frac{\pi_{\theta}(o_i|q)}{\pi_{\theta_{\text{old}}}(o_i|q)}, 1-\epsilon, 1\epsilon\right)A_i\right) - \beta \mathbb{D}_{KL}(\pi_{\theta} || \pi_{\text{ref}}) \right) \right]JGRPO(θ)Eq∼P(Q),{oi}i1G∼πθold(O∣q)[G1i1∑G(min(πθold(oi∣q)πθ(oi∣q)Ai,clip(πθold(oi∣q)πθ(oi∣q),1−ϵ,1ϵ)Ai)−βDKL(πθ∣∣πref))]其中ϵ\epsilonϵ和β\betaβ是超参数,AiA_iAi是优势函数advantage, 使用组内每个输出对应的奖励{r1,r2,...,rG}\{r_1, r_2, ..., r_G\}{r1,r2,...,rG}计算得出Airi−mean(r1,r2,…,rG)std(r1,r2,…,rG) A_i \frac{r_i - \text{mean}(r_1, r_2, \dots, r_G)}{\text{std}(r_1, r_2, \dots, r_G)}Aistd(r1,r2,…,rG)ri−mean(r1,r2,…,rG)KL散度惩罚项DKL\mathbb{D}_{KL}DKL的计算方式如下DKL(πθ∣∣πref)πref(oi∣q)πθ(oi∣q)−logπref(oi∣q)πθ(oi∣q)−1 \mathbb{D}_{KL}(\pi_{\theta}||\pi_{ref}) \frac{\pi_{ref}(o_{i}|q)}{\pi_{\theta}(o_{i}|q)} - \log\frac{\pi_{ref}(o_{i}|q)}{\pi_{\theta}(o_{i}|q)} - 1DKL(πθ∣∣πref)πθ(oi∣q)πref(oi∣q)−logπθ(oi∣q)πref(oi∣q)−1GRPO算法的完整流程如下首先对于给定的一个问题prompt当前策略模型会生成一组G个不同的候选输出。然后一个或多个预定义的奖励函数会分别评估这G个候选输出的质量并为每个输出给出一个奖励分数。接着利用同一组内的所有奖励分数计算出均值和标准差从而为每个候选输出计算出其标准化的“优势”Advantage这个值衡量了该输出相对于组内平均表现的好坏程度。最后根据这个优势信号GRPO算法会更新策略模型的参数目标是提高生成高奖励输出的概率同时通过KL散度惩罚项防止新策略与一个固定的参考策略偏离过远以保证训练的稳定性。无需额外的价值函数: GRPO使用组内平均奖励作为基线,避免了训练额外的价值函数,从而减少了内存和计算负担。与奖励模型的比较性质对齐: GRPO 使用组内相对奖励计算优势函数,这与奖励模型通常在同一问题的不同输出之间进行比较的性质相符。KL 惩罚在损失函数中: GRPO直接将训练策略和参考策略之间的KL散度添加到损失中,而不是像 PPO 那样在奖励中添加KL惩罚项,从而避免了复杂化计算。