编辑
2025-04-03
深度学习
00

一篇很好的DeepSeek R1 解读: https://zhuanlan.zhihu.com/p/20844750193

DeepSeek R1 论文: https://arxiv.org/abs/2501.12948

如何从DeepSeek-V3-Base得到DeepSeek-R1-Zero,可以看下面这图。编写一个指导性的提示词,让DeepSeek-V3-Base输出一组回答,用奖励模型进行奖励RL训练,这样就可以训练出DeepSeek-R1-Zero。

image.png

群组相对策略优化:

为了降低强化学习(RL)的训练成本,我们采用了群组相对策略优化(Group Relative Policy Optimization, GRPO)(Shao 等,2024)。GRPO 放弃了通常与策略模型规模相当的批评模型(critic model),而是通过群组得分来估计基线值。具体而言,对于每个问题 qq,GRPO 从旧策略 πθold\pi_{\theta_{\text{old}}} 中采样一组输出 {o1,o2,,oG}\{o_1, o_2, \cdots, o_G\},然后通过最大化以下目标函数来优化策略模型 πθ\pi_\theta

JGRPO(θ)=E[qP(Q),{oi}i=1Gπθold(Oq)]1Gi=1G(min(πθ(oiq)πθold(oiq)Ai,clip(πθ(oiq)πθold(oiq),1ε,1+ε)Ai)βDKL(πθπref)),\begin{aligned} \mathcal{J}_{G R P O}(\theta) &= \mathbb{E}\left[q \sim P(Q), \{o_i\}_{i=1}^G \sim \pi_{\theta_{\text{old}}}(O \mid q)\right] \\ &\quad \frac{1}{G} \sum_{i=1}^G \Bigg( \min \left( \frac{\pi_\theta(o_i \mid q)}{\pi_{\theta_{\text{old}}}(o_i \mid q)} A_i, \operatorname{clip}\left(\frac{\pi_\theta(o_i \mid q)}{\pi_{\theta_{\text{old}}}(o_i \mid q)}, 1-\varepsilon, 1+\varepsilon\right) A_i \right) \\ &\quad - \beta \mathbb{D}_{K L}(\pi_\theta || \pi_{\text{ref}}) \Bigg), \end{aligned}

其中,DKL(πθπref)\mathbb{D}_{K L}(\pi_\theta || \pi_{\text{ref}}) 表示 KL 散度,定义为:

DKL(πθπref)=πref(oiq)πθ(oiq)logπref(oiq)πθ(oiq)1,\mathbb{D}_{K L}(\pi_\theta || \pi_{\text{ref}}) = \frac{\pi_{\text{ref}}(o_i \mid q)}{\pi_\theta(o_i \mid q)} - \log \frac{\pi_{\text{ref}}(o_i \mid q)}{\pi_\theta(o_i \mid q)} - 1,

ε\varepsilonβ\beta 是超参数,AiA_i 是优势函数,通过一组奖励 {r1,r2,,rG}\{r_1, r_2, \ldots, r_G\} 计算得出,这些奖励对应于每个群组内的输出:

Ai=rimean({r1,r2,,rG})std({r1,r2,,rG}).A_i = \frac{r_i - \operatorname{mean}(\{r_1, r_2, \cdots, r_G\})}{\operatorname{std}(\{r_1, r_2, \cdots, r_G\})}.

解释

  1. 核心思想

    • GRPO 的核心是通过群组得分来估计基线值,而不是使用传统的批评模型(critic model)。这种方法可以显著减少计算开销。
    • GRPO 通过对旧策略采样的一组输出进行评估,并结合优势函数 AiA_i 来更新策略模型。
  2. 目标函数

    • 目标函数由两部分组成:
      • 第一部分是一个加权的优势函数,权重是新策略和旧策略的概率比值(重要性采样比率)。
      • 第二部分是一个惩罚项,用于限制新策略和参考策略之间的 KL 散度,确保策略更新不会过于剧烈。
  3. 优势函数

    • 优势函数 AiA_i 衡量了某个输出 oio_i 的奖励相对于群组内平均奖励的表现。通过标准化(减去均值并除以标准差),优势函数能够更好地反映相对性能。
  4. KL 散度

    • KL 散度用于衡量新策略 πθ\pi_\theta 和参考策略 πref\pi_{\text{ref}} 之间的差异。通过引入惩罚项,可以避免策略更新偏离参考策略过远。
  5. 超参数

    • ε\varepsilon 控制重要性采样比率的裁剪范围,防止过大的更新步长。
    • β\beta 控制 KL 散度惩罚的强度,平衡探索与利用。

这种方法在理论上能够有效降低 RL 训练的成本,同时保持策略优化的稳定性和高效性。

image.png

image.png

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!