在这里插入图片描述

😊你好,我是小航,一个正在变秃、变强的文艺倾年。
🔔本文讲解【强化学习】GRPO 与 DeepSeek,20W字总结(十二),期待与你一同探索、学习、进步,一起卷起来叭!

🎯 把我的博客装进你的 Claude Code,它就是你的 AI 学习搭子

想随时搜我的文章、让 AI 帮你深度讲解甚至出面试题?复制下面这段提示词丢进你的 Claude Code——它会自动生成一个本地 SKILL,之后你直接说「搜一下强化学习的文章」就行。RSS 自动同步最新内容,不用手动存任何文件。

请为这个 CSDN 博客创建一个本地 SKILL(存到 .claude/skills/csdn-blog/SKILL.md):
RSS 源:https://rss.csdn.net/m0_51517236/rss/map
支持三件事:① 列出最新文章(标题+链接+摘要);② 按关键词搜索;
③ 抓取指定文章全文,作为 AI 学习助手 / 面试官深度讲解并出题考核我。
SKILL.md 里写清楚 RSS URL、调用方式和示例。生成完就能用自然语言搜文章了。

一键订阅,长期可用。🚀


前面我们讲了 PPO 和 DPO 两大对齐算法。这篇进入 GRPO(Group Relative Policy Optimization,组相对策略优化)——DeepSeek 的选择。DeepSeek-Math 和爆火的 DeepSeek-R1,推理能力强得离谱,背后靠的就是它。

在这里插入图片描述

强化学习增强大模型推理,是这两年的大热门。GRPO 解决了"把 RL 用到 LLM 上"的几个独特痛点。

PPO vs GRPO:三个关键改进

PPO 一直是 RL 微调 LLM 的首选(第 6~9 篇讲过)。但 PPO 用在大模型上有个累赘——得带一个价值函数网络(Critic),和策略网络一样大,显存直接翻倍。

GRPO 建立在 PPO 之上,砍了三刀:

  1. 去掉价值函数网络——省一半显存/计算
  2. 采样一组输出,用组内的相对关系估计优势(更稳)
  3. 更保守的更新——把 KL 惩罚直接写进奖励

在这里插入图片描述

LLM 作为策略:token 就是动作

在 GRPO 里,大语言模型就是策略网络(Actor)。问题 q q q 是输入状态,生成的 token 序列就是动作:

π θ ( a ∣ q ) = ∏ t = 1 N π θ ( a t ∣ q , a < t ) \pi_\theta(a|q) = \prod_{t=1}^{N} \pi_\theta(a_t | q, a_{<t}) πθ(aq)=t=1Nπθ(atq,a<t)

因为 LLM 是自回归的,生成本质上是顺序的——每个 token 都基于前面的 token 生成,每生成一个 token 就相当于 RL 框架里走了一步动作 a t a_t at

组相对优势:GRPO 的灵魂

PPO 算优势,靠价值函数 V ( s ) V(s) V(s) 当基线(第 5 篇讲过:优势 = 回报 − V(s))。GRPO 没有 V ( s ) V(s) V(s),那基线从哪来?

让一组回答互相当裁判。

具体做法:对同一个问题 q q q,让旧策略采样一组 G G G 个回答 o 1 , o 2 , … , o G o_1, o_2, \dots, o_G o1,o2,,oG,每个回答都算一个奖励 r i r_i ri。然后对这一组奖励做归一化当优势:

A ^ i , t = r ~ i = r i − mean ( r ) std ( r ) \hat{A}_{i,t} = \tilde{r}_i = \frac{r_i - \text{mean}(r)}{\text{std}(r)} A^i,t=r~i=std(r)rimean(r)

意思是:某个回答的奖励,减去这组的平均奖励,再除以标准差。比组内平均好的回答得正优势(增强),比平均差的得负优势(压制)——这就是"组相对"。

而每个 token 的奖励里,还直接塞了 KL 惩罚(防止偏离参考模型太远):

r t = r ϕ ( s , a ≤ t ) − β log ⁡ π θ ( a t ∣ s , a < t ) π r e f ( a t ∣ s , a < t ) r_t = r_\phi(s, a_{\le t}) - \beta \log \frac{\pi_\theta(a_t | s, a_{<t})}{\pi_{ref}(a_t | s, a_{<t})} rt=rϕ(s,at)βlogπref(ats,a<t)πθ(ats,a<t)

第一项是任务奖励(比如答对给 1),第二项就是和参考模型的 KL(偏离越多扣越多)。

这个设计很妙:PPO 要专门养一个价值网络当裁判,GRPO 让同一批回答互相当裁判——既省了价值网络,又因为"组内对比"天然稳健。

在这里插入图片描述

GRPO 的目标函数

对每个问题 q q q,从旧策略 π θ o l d \pi_{\theta_{old}} πθold 采样一组输出 o 1 , … , o G o_1, \dots, o_G o1,,oG,最大化这个目标(结构和 PPO 的 clip 很像,只是优势换成了组相对的 A ^ \hat{A} A^,KL 作为惩罚项加进去):

  • 用**裁剪(clip)**做保守更新(和 PPO 一样)
  • 把对参考模型的 KL 散度作为惩罚,防止策略跑偏

整体仍是我们熟悉的 PPO 那套"clip + 约束"骨架,只是优势的计算方式变了——从"价值网络估计"变成了"组内相对"。

小结

GRPO 的三个关键创新,都直指"把 RL 用到大模型上"的痛点:

创新 解决什么
去掉价值函数网络 省一半显存(LLM 太大,这点很关键)
组相对优势估计 不用价值网络也能稳稳估优势
KL 写进奖励 更保守的更新,训练更稳

DeepSeek-Math 和 DeepSeek-R1 的成功,证明了这套方法在推理密集型任务(数学、代码)上特别能打。

GRPO 之后还有改进款:字节的 DAPO、Qwen3 用的 GSPO 等。

下一篇我们就用 GRPO 实战微调 LLM,看"组采样 + 相对优势"的代码怎么写。


📌 [ 笔者 ] 文艺倾年
📃 [ 更新 ] 2026.06.14
❌ [ 勘误 ] /* 暂无 */
📜 [ 声明 ] 由于作者水平有限,本文有错误和不准确之处在所难免,
本人也很想知道这些错误,恳望读者批评指正!

在这里插入图片描述

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐