当前位置: 首页 > news >正文

浅入浅出 GRPO in DeepSeekMath

GRPO in DeepSeekMath

GRPO 通过在生成组内进行比较来直接评估模型生成的响应,以优化策略模型,而不是训练单独的价值模型,这种方法显著降低了计算成本。GRPO 可以应用于任何可以确定响应正确性的可验证任务。例如,在数学推理中,可以通过将响应与基本事实进行比较来轻松验证响应的正确性。

The GRPO Algorithm

Step 1: Group Sampling

第一步是为每个问题生成多个可能的答案。这会产生一组可以相互比较的多样化输出。

  • q q q : question
  • G G G : group size
  • π θ o l d \pi_{\theta_{old}} πθold : trained model(policy)
  • { o 1 , o 2 , o 3 , . . . , o G ; π θ o l d } \{o_1, o_2, o_3, ... , o_G;\pi_{\theta_{old}}\} {o1,o2,o3,...,oG;πθold} : group outputs
Step 2: Advantage Calculation

一旦我们有多个响应(output),我们就需要一种方法来确定哪些响应比其他响应更好,这就是优势计算。

  1. 首先为每个响应输出分配一个奖励分数,可以使用奖励模型也可以使用奖励函数。例如:为每一个正确的输出分配一个奖励分数 1,错误的输出分配一个奖励 0。

  2. 优势计算:

    A i = r i − mean ( { r 1 , r 2 , . . . , r G } ) std ( { r 1 , r 2 , . . . , r G } ) A_i = \frac{r_i - \text{mean}(\{r_1, r_2, ..., r_G\})}{\text{std}(\{r_1, r_2, ..., r_G\})} Ai=std({r1,r2,...,rG})rimean({r1,r2,...,rG})

Step 3: Policy Update

J G R P O ( θ ) = [ 1 G ∑ i = 1 G min ( π θ ( o i ∣ q ) π θ o l d ( o i ∣ q ) A i , clip ( π θ ( o i ∣ q ) π θ o l d ( o i ∣ q ) , 1 − ϵ , 1 + ϵ ) A i ) ] − β D K L ( π θ , π r e f ) J_{GRPO}(\theta) = \Big[\frac{1}{G}\sum_{i=1}^G \text{min}\Big(\frac{\pi_{\theta}(o_i|q)}{\pi_{\theta_{old}}(o_i|q)} A_i,\text{clip}\big(\frac{\pi_{\theta}(o_i|q)}{\pi_{\theta_{old}}(o_i|q)}, 1-\epsilon, 1+\epsilon\big)A_i\Big)\Big] - \beta D_{KL}(\pi_{\theta},\pi_{ref}) JGRPO(θ)=[G1i=1Gmin(πθold(oiq)πθ(oiq)Ai,clip(πθold(oiq)πθ(oiq),1ϵ,1+ϵ)Ai)]βDKL(πθ,πref)

  • π θ ( o i ∣ q ) π θ o l d ( o i ∣ q ) \frac{\pi_{\theta}(o_i|q)}{\pi_{\theta_{old}}(o_i|q)} πθold(oiq)πθ(oiq) : Probability Ratio,比较了新模型的响应概率与旧模型的响应概率的差异程度,同时纳入了对改善预期结果的响应的偏好,这个比率使我们能够控制模型在每个步骤中的变化量。
  • clip ( π θ ( o i ∣ q ) π θ o l d ( o i ∣ q ) , 1 − ϵ , 1 + ϵ ) \text{clip}\big(\frac{\pi_{\theta}(o_i|q)}{\pi_{\theta_{old}}(o_i|q)}, 1-\epsilon, 1+\epsilon\big) clip(πθold(oiq)πθ(oiq),1ϵ,1+ϵ) : Clip Function,将上述比率限制为[1−ε,1+ε][1−ε.1+ε]以避免剧烈的变化/更新,以及远离旧的模型。换句话说,它限制了概率比可以增加的程度,通过避免将新模型推得太远的更新来帮助保持稳定性。
  • β D K L ( π θ , π r e f ) = ∑ x ∈ X P ( x ) log P ( x ) Q ( x ) \beta D_{KL}(\pi_{\theta},\pi_{ref}) = \sum_{x\in X} P(x)\text{log}\frac{P(x)}{Q(x)} βDKL(πθ,πref)=xXP(x)logQ(x)P(x) : KL Divergence,KL 散度被最小化,以防止模型在优化过程中偏离其原始行为太远。这有助于在根据奖励信号提高性能和保持连贯性之间取得平衡。在这种情况下,最小化 KL 散度可以降低模型生成无意义文本的风险,或者在数学推理的情况下,产生极其错误答案的风险。
  • β \beta β : 控制 KL 散度约束的强度:
    • higher β \beta β : 模型更新限制更多,模型的输出仍然接近参考模型分布,难以探索更好的响应。
    • lower β \beta β : 更自由的更新,存在不稳定风险,生成无意义的输出,可能会出现reward-hacking行为。
    • Original β \beta β : 0.04(DeepSeekMath)

GRPO Example

问题: Q : Calculate 2 + 2 × 6 Q : \text{Calculate} 2 + 2 \times 6 Q:Calculate2+2×6 A = 14 A = 14 A=14

Step 1: Group Sampling

G = 8 G = 8 G=8 , O = { o 1 : 14 , o 2 : 13 , o 3 : 11 , o 4 : 14 , o 5 : 14 , o 6 : 15 , o 7 : 14 , o 8 : 10 } O = \{o_1:14, o_2:13, o_3:11, o_4:14, o_5:14, o_6:15, o_7:14, o_8:10\} O={o1:14,o2:13,o3:11,o4:14,o5:14,o6:15,o7:14,o8:10}

Step 2: Advantage Calculation

R = { r 1 = 1 , r 2 = 0 , r 3 = 0 , r 4 = 1 , r 5 = 1 , r 6 = 0 , r 7 = 1 , r 8 = 0 } R = \{r_1 = 1, r_2 = 0, r_3 = 0, r_4 = 1, r_5 = 1, r_6=0, r_7=1, r_8 =0 \} R={r1=1,r2=0,r3=0,r4=1,r5=1,r6=0,r7=1,r8=0}

StatisticValue
Group Average m e a n ( r i ) = 0.5 mean(r_i)=0.5 mean(ri)=0.5
Standard Deviation s t d ( r i ) = 0.53 std(r_i)=0.53 std(ri)=0.53
Advantage Value (Correct response) A i = 1 − 0.5 0.53 = 0.94 A_i=\frac{1−0.5}{0.53}=0.94 Ai=0.5310.5=0.94
Advantage Value (Wrong response) A i = 0 − 0.5 0.53 = − 0.94 A_i=\frac{0−0.5}{0.53}=−0.94 Ai=0.5300.5=0.94

Step 3: Policy Update

假设: π θ o l d = 0.5 \pi_{\theta_{old}} = 0.5 πθold=0.5 π θ = 0.7 \pi_\theta = 0.7 πθ=0.7 ϵ = 0.2 \epsilon = 0.2 ϵ=0.2

Probability Ratio = 0.7 0.5 = 1.4  after Clip  → 1.2 \text{Probability Ratio} = \frac{0.7}{0.5} = 1.4 \text{ after Clip } \to 1.2 Probability Ratio=0.50.7=1.4 after Clip 1.2

Summary

GRPO对于数学推理任务特别强大,因为在数学推理任务中,正确性可以得到客观验证。与需要单独奖励:模型的传统 RLHF 方法相比,GRPO 方法允许更高效的训练。

  1. GRPO 比较一组内的多个输出,以确定哪些输出比其他输出更好,而无需单独的价值模型。
  2. 优势计算对奖励进行标准化,以确定哪些响应高于或低于平均水平。
  3. 策略更新使用带有 KL 发散惩罚的裁剪目标函数来确保稳定学习。

相关文章:

  • PH热榜 | 2025-04-11
  • 基于SSM框架的外卖点餐小程序开发与实现
  • 【模拟电路】隧道二极管
  • 风暴之眼:在AI重构的数字世界重绘职业坐标系
  • 零基础学Git
  • 利用安固软件实现电脑屏幕录像:四种实用方法分享
  • 开源CMS的模块化设计和API接口如何具体影响其扩展性?
  • 广州千叶携全系列泳池设备亮相2025天津沐博会,珍珠岩过滤器成焦点
  • JavaScript 深拷贝方法总结
  • HTML应用指南:利用GET请求获取全国德克士门店位置信息
  • 笔试强训题(8)
  • 从零实现HTTP服务器
  • Quartz修仙指南:从定时任务萌新到调度大能的终极奥义
  • 题目 2701: 蓝桥杯2022年第十三届决赛真题-取模(C/C++/Java组)
  • 计算机网络-传输层基础概念
  • 【5】深入学习npm-Nodejs开发入门
  • 【Amazon EC2】为何基于浏览器的EC2 Instance Connect 客户端连接不上EC2实例
  • 第一个Qt开发的OpenCV程序
  • 关税扰动下市场波动,如何寻找确定性的长期之锚?
  • 一周学会Pandas2 Python数据处理与分析-Pandas2读取CSV
  • 程序员网站建设/android优化大师
  • 企业公司网站管理系统/营销型企业网站案例
  • 程序员做图网站/百度基木鱼建站
  • 做网站之前需要准备什么条件/苏州网站制作
  • 合肥网站建设第一品牌/网站运营培训学校
  • 网站推广/中国的搜索引擎有哪些