HuggingFace课程:深入理解DeepSeekMath中的GRPO算法
引言
在强化学习领域,Group Relative Policy Optimization(GRPO)是一种创新的策略优化方法,特别适用于数学推理等可验证任务。本文将深入解析GRPO的核心原理、算法实现及其在DeepSeekMath项目中的应用。
GRPO概述
GRPO的核心思想是通过比较同一问题下模型生成的多个响应来优化策略模型,而不是像传统方法那样训练单独的价值模型(Critic)。这种方法带来了显著的性能优势:
- 计算成本降低:省去了单独训练价值模型的资源消耗
- 相对评估机制:通过组内比较而非绝对评分来评估响应质量
- 适用性广泛:适用于任何可验证正确性的任务,如数学推理
GRPO算法详解
1. 组采样(Group Sampling)
GRPO首先为每个问题生成多个可能的答案,形成多样化的输出集合:
- 对于每个问题q,模型从训练策略π_θ_old生成G个输出
- 典型设置:G=8(即每组8个响应)
数学表达: ${o_1, o_2, o_3, \dots, o_G} \sim \pi_{\theta_{\text{old}}}$
示例: 问题:"计算2 + 2 × 6" 可能输出:{14(正确), 16(错误), 10(错误), ..., 14(正确)}
2. 优势计算(Advantage Calculation)
GRPO通过标准化处理计算每个响应的相对优势:
优势值公式: $$A_i = \frac{r_i - \text{mean}({r_1, r_2, \ldots, r_G})}{\text{std}({r_1, r_2, \ldots, r_G})}$$
计算过程:
- 为每个响应分配奖励分数(如正确=1,错误=0)
- 计算组内奖励的均值和标准差
- 标准化得到优势值
优势值解释:
- A_i > 0:响应优于组内平均水平
- A_i < 0:响应劣于组内平均水平
3. 策略更新(Policy Update)
GRPO使用以下目标函数更新策略:
$$J_{GRPO}(\theta) = \left[\frac{1}{G} \sum_{i=1}^{G} \min \left( \frac{\pi_{\theta}(o_i|q)}{\pi_{\theta_{old}}(o_i|q)} A_i, \text{clip}\left( \frac{\pi_{\theta}(o_i|q)}{\pi_{\theta_{old}}(o_i|q)}, 1 - \epsilon, 1 + \epsilon \right) A_i \right)\right]- \beta D_{KL}(\pi_{\theta} || \pi_{ref})$$
目标函数关键组件
1. 概率比(Probability Ratio)
$\frac{\pi_{\theta}(o_i|q)}{\pi_{\theta_{old}}(o_i|q)}$
- 反映新策略对响应的偏好变化
- 比值>1表示新策略更偏好该响应
- 比值<1表示新策略减少该响应概率
2. 裁剪函数(Clip Function)
$\text{clip}(ratio, 1 - \epsilon, 1 + \epsilon)$
- 限制概率比的变化范围(如[0.8,1.2])
- 防止策略更新幅度过大
- 保持训练稳定性
3. KL散度(KL Divergence)
$\beta D_{KL}(\pi_{\theta} || \pi_{ref})$
- 防止模型偏离参考策略太远
- β系数控制约束强度(DeepSeekMath使用β=0.04)
- 平衡性能提升与输出稳定性
实战示例
问题示例
"解方程y = 2x + 1,当x=2时,y="
生成响应
[5.0, 6.0, 7.0, 5.0, 10.0, 2.0, 5.0, 5.0]
奖励计算
正确响应(y=5)得1分,错误得0分: [1, 0, 0, 1, 0, 0, 1, 1]
优势值计算
组均值=0.5,标准差≈0.53 正确响应优势值≈0.94 错误响应优势值≈-0.94
策略更新
通过目标函数调整模型参数,强化正确响应概率,抑制错误响应
实现要点
- 响应生成:使用模型生成多样化的响应组
- 奖励分配:基于规则或神经网络评估响应质量
- 优势计算:组内标准化处理
- 策略更新:结合概率比、裁剪和KL约束
总结
GRPO通过组内相对比较的创新方法,在数学推理等任务中展现出显著优势。其核心特点包括:
- 省去了单独的价值模型训练
- 通过组内标准化实现稳定学习
- 结合裁剪和KL约束保证训练稳定性
- 特别适合可验证正确性的任务
理解GRPO的数学原理和实现细节,有助于开发者更好地应用这一先进技术优化自己的模型。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



