04 GRPO 与 DeepSeek-R1
学习理念:上一篇讲了 PPO-RLHF,需要 4 个模型协作,像一个大公司流程复杂。GRPO 则是"创业公司版本的 RLHF"——去掉了一个部门(Critic),用更轻量的方式达到类似效果。而 DeepSeek-R1 就是 GRPO 最成功的产品。
📖 阅读优先级
| 等级 | 章节 | 说明 |
|---|---|---|
| 🔴 必须深入 | 一、GRPO 原理 | DeepSeek 热门技术,面试高频 |
| 🟡 理解即可 | 二、DeepSeek-R1 | 了解推理模型的训练思路 |
一、GRPO——"没有导师打分了,小组互评代替"
🔴 ** 必须深入** 之前讲 PPO-RLHF 需要 4 个模型(Actor、Reference、RM、Critic)。GRPO 砍掉了 Critic,那问题来了:没有 Critic 怎么算优势估计?
1.1 先回顾:Critic 是干嘛的?
用一个比方:
PPO-RLHF 的方式(有 Critic):
一个班的学生(Actor)考试,每人写一篇作文。
班主任(Critic)预估:"张三平时水平 85 分,李四平时 70 分"
最后发现张三得了 80 分 → 低于预估,说明退步了(优势 = 负)
发现李四得了 80 分 → 高于预估,说明进步了(优势 = 正)
GRPO 的方式(无 Critic):
同样考试,但没有班主任。怎么办?
看同班同学的成绩!
张三 80 分,李四 80 分,王五 60 分
平均分 ≈ 73 分
张三 80 分 > 平均分 → 组内优势 = 正
王五 60 分 < 平均分 → 组内优势 = 负这就是 GRPO 的核心:不靠一个单独的模型去估值,而是让同一批回答互相比较。 数学上就是把同一 prompt 的 G 个回答的分数做归一化:
组内优势 = (自己的分数 - 组平均分) / 组标准差1.2 为什么能砍掉 Critic?
🟡 【理解即可】 你能节省 25-30% 的显存,但代价是什么?
| 维度 | PPO-RLHF | GRPO |
|---|---|---|
| Critic 模型 | ✅ 需要(和 Actor 一样大) | ❌ 不需要 |
| 显存占用 | 4× 模型大小 | 3× 模型大小(省 25-30%) |
| 优势计算 | Critic 预测 + GAE | 组内分数归一化 |
| 适用场景 | 通用场景 | 有明确评分标准的场景 |
代价:GRPO 要求"同一 prompt 能生成多个回答,并且评分标准相对统一"。在数学推理、代码生成这类场景没有问题(答案对不对容易判断),但在开放对话场景("帮我写首诗")就不太适用——因为不同回答的好坏很难分高下。
1.3 程序员类比:A/B 测试
PPO 的 Critic = 产品经理凭经验预估"这个功能上线后 DAU 会涨 5%"
(个体预估,可能有偏差)
GRPO 的组内归一化 = 上线 A/B 测试,看实验组和对照组的相对差异
(组内比较,更客观)二、DeepSeek-R1——"GRPO 的明星产品"
🟡 【理解即可】 DeepSeek-R1 是 2025 年最火的开源推理模型之一。它没有用全新的模型架构,而是用 GRPO 让模型学会了"推理"。你可以理解为:不是换了更好的发动机,而是换了驾驶方式。
2.1 R1 到底干了什么?
用两个聊天记录对比,一秒看懂 R1 和非 R1 的区别:
普通 LLM(直接给答案):
用户:17 × 24 等于多少?
模型:408
R1(先推理再给答案):
用户:17 × 24 等于多少?
模型:[思考] 17 × 24 = 17 × 20 + 17 × 4 = 340 + 68 = 408 [/思考]
答案是 408。R1 训练的核心就是:用 GRPO 让模型学会在回答前先产生"推理链条"(thinking chain)。
2.2 训练过程——"让你做题,不让你直接写答案"
传统 SFT 训练:
数据:( "17×24=", "408" ) ← 记住答案
R1 的 GRPO 训练:
数据:( "17×24=", "?→?→?→408" ) ← 学思路
同一个 prompt,模型生成多个回答
有的回答推理步骤完整,答案对了 → 高分
有的回答跳步了,答案对了 → 低分(因为跳步不可靠)
有的回答直接写答案,没推理 → 更低分
GRPO 让"推理完整、答案正确"的回答在组内胜出
→ 模型学会了"要展示推理过程"这个行为🟡 【理解即可】 R1 的效果震撼的原因:它证明了 RL 训练可以让模型学会"思考",而不仅仅是通过数据学习"模仿"。
2.3 什么场景适合 GRPO?
| 场景 | 例子 | GRPO 有效吗? |
|---|---|---|
| 数学推理 | 解方程、证明题 | ✅ 非常适合(答案对错明确) |
| 代码生成 | 写排序算法 | ✅ 适合(跑测试就知道对不对) |
| 逻辑问答 | "如果 A>B, B>C, 那么?" | ✅ 适合 |
| 创意写作 | 写诗、写故事 | ⚠️ 不太有效(好坏难量化) |
| 闲聊 | "今天天气怎么样" | ❌ 不需要 |
三、本节小结
PPO-RLHF = 有班主任,逐个评估学生水平
↓ 显存大,4 个模型
GRPO = 没有班主任,看组内排名
↓ 省 25% 显存,3 个模型
↓ 适合有明确评分标准的场景
DeepSeek-R1 = GRPO 的成功案例
↓ 学会了"先推理再回答"
不是新架构,是新训练方法