/ DeepSeek
[DeepSeek-2] DeepSeek-R1 Technical Report: Scaling Reasoning with RL, Verifiers, and Systems Engineering
A systems-oriented reading of DeepSeek-R1 and R1-Zero, covering GRPO, outcome rewards, multi-stage post-training, test-time compute, distillation, RL infrastructure, costs, failures, and limitations.
DeepSeek-R1 最容易被压缩成一句吸引眼球的话:不需要人工标注思维链,只靠强化学习,模型就能自己学会推理。
这句话抓住了 R1-Zero 的实验亮点,却没有准确描述最终的 DeepSeek-R1。R1-Zero 确实从 DeepSeek-V3-Base 出发,不先进行推理轨迹 SFT,直接通过大规模结果奖励强化学习提升数学、代码和逻辑能力;但真正面向用户的 R1,仍然经历了冷启动 SFT、推理 RL、拒绝采样、混合 SFT 和通用偏好 RL。
因此,R1 的核心贡献不是一种新的 Transformer 架构,也不是“RL 取代 SFT”,而是验证了一套可以扩展的推理模型后训练范式:
强预训练基座提供能力上限,验证器提供可信反馈,Rollout 提供探索规模,RL 放大成功策略,SFT 塑造产品行为,蒸馏降低部署门槛。
本文主要依据 2026 年 1 月 4 日修订的 DeepSeek-R1 arXiv v2,并参考 2025 年 9 月发表的 Nature 正式版本。早期 arXiv v1 曾报告 R1-Zero 在 AIME 2024 上从 15.6% 提升到 71.0%,v2 将最终结果更新为 77.9%;阅读不同版本的解读时,需要先统一数字口径。
1. R1 建立在怎样的起点上#
R1 与 R1-Zero 都从 DeepSeek-V3-Base 开始。这个基座是一个 671B 总参数、每个 token 激活约 37B 参数的 MoE 模型,使用 14.8T token 完成预训练。
这一点决定了该怎样理解“从零开始的强化学习”:
- “Zero”表示没有先用人工整理的长思维链做推理 SFT;
- 它不表示模型没有预训练,也不表示基座完全没有推理能力;
- V3-Base 的预训练数据本就包含大量数学、代码和推理相关内容;
- RL 的前提是模型已经有非零概率采样到正确轨迹。
换句话说,R1-Zero 不是从白纸上创造推理,而是在庞大的预训练能力空间中搜索、筛选并强化原本低概率出现的成功策略。
这也解释了报告中的规模效应:7B 和较小 MoE 模型即使在 RL 中生成得越来越长,也容易进入重复,准确率没有同步增长;32B、230B MoE 和 671B MoE 才获得明显收益。若基座几乎无法偶然产生正确答案,稀疏的结果奖励就没有足够的正样本可以放大。
2. 从 R1-Zero 到 R1:不是一条,而是两条路线#
报告从同一个 V3-Base 分出两条训练路线:
+-- 大规模结果奖励 RL ----------------> R1-Zero
DeepSeek-V3-Base ---------+
+-- 冷启动 SFT
|
v
推理专项 RL
|
v
拒绝采样 + 混合 SFT
|
v
通用能力与偏好 RL
|
v
DeepSeek-R1
|
v
蒸馏到 Qwen / Llama 基座R1-Zero 回答的是一个研究问题:如果不先教模型标准思维链,仅凭可验证的最终结果,推理能力能否通过 RL 涌现和增强?
最终 R1 回答的是另一个工程问题:怎样把这种推理能力变成一个可读、可控、能处理通用任务的助手?
后一个问题最终需要两轮 SFT 与两轮 RL:
| 阶段 | 数据或反馈 | 主要职责 |
|---|---|---|
| 冷启动 SFT | 数千条高质量长推理数据 | 稳定格式、提高可读性、减少语言混杂 |
| 第一轮 RL | 数学、代码与逻辑的可验证奖励 | 探索更强的推理、检查与回退策略 |
| 拒绝采样与第二轮 SFT | 约 600K 推理数据 + 约 200K 通用数据 | 固化成功轨迹,补入写作、问答与软件工程能力 |
| 第二轮 RL | 规则奖励与通用偏好奖励 | 改善指令遵循、帮助性、安全性和用户体验 |
所以“DeepSeek-R1 是纯 RL 模型”并不准确。纯 RL 路线对应的是 R1-Zero;最终 R1 是一个经过数据治理与多阶段目标切换的混合后训练系统。
3. GRPO:用组内相对表现代替超大 critic#
R1 使用 Group Relative Policy Optimization(GRPO)。对同一道题 ,策略模型一次采样一组 个回答。R1-Zero 中每题采样 16 个输出,得到奖励 ,再将第 个回答的相对优势写成:
直觉很直接:
- 奖励高于同组平均水平,,提高该回答的生成概率;
- 奖励低于同组平均水平,,降低该回答的生成概率;
- 再通过 clipped objective 和相对参考策略的 KL 约束,限制单次更新幅度。
传统 PPO 通常还要训练一个 value model,根据状态估计价值并计算 advantage。对于 671B MoE,维护规模相近的 critic 会增加显存、计算、通信与工程复杂度。GRPO 直接把同一道题的一组回答作为相对基线,省去了独立价值模型。
| 对比项 | PPO | GRPO |
|---|---|---|
| Advantage 来源 | critic / value model 与 GAE | 同 prompt 的组内奖励统计 |
| 额外大模型 | 通常需要 value model | 不需要独立 critic |
| 工程成本 | 更高 | 相对更低 |
| 超参数敏感性 | 对 value、GAE 等配置敏感 | 结构更简单,但仍依赖采样和归一化 |
| 信用分配 | 可形成更细粒度估计 | 主要是回答级结果,仍然较粗 |
报告的对比实验并没有证明 PPO 在能力上必然弱于 GRPO。调好参数后,PPO 可以接近 GRPO;GRPO 的主要价值是以更低的系统成本适配“同一问题多次采样、最终结果可打分”的场景。
这意味着不应把 R1 的成功简单归功于某个优化器名字。GRPO 只有在下面这条链路成立时才有用:
基座偶尔生成正确轨迹
-> 可靠验证器识别正确轨迹
-> 大量 Rollout 提供足够样本
-> Policy Gradient 提高成功轨迹概率
-> 新策略产生更多、更强的可学习轨迹4. R1-Zero:没有过程标注,不等于没有监督#
R1-Zero 的奖励设计出奇简单:
其中准确率奖励检查数学最终答案,或运行代码测试用例;格式奖励要求推理部分和最终答案遵循指定结构。两类奖励权重相同,推理专项训练不依赖神经网络奖励模型。
采用规则奖励有两个重要原因:
- 数学答案、编译器和测试用例能提供相对客观、廉价且可扩展的反馈;
- 神经奖励模型在长时间优化中可能被策略攻击,而且自身也要训练、部署和推理。
但 R1-Zero 不能被描述成“完全无监督”。题目、标准答案、格式约束、编译器和测试环境都是监督信号。变化只在于,监督从“示范每一步应该怎样推导”,变成了“判断整条轨迹最终是否成功”。
这种训练方式把难点从人工编写思维链,转移到了另外三件事:
- 基座能否产生至少少量正确轨迹;
- 验证器能否稳定地区分成功和失败;
- 系统能否负担海量、超长且成功率不高的在线采样。
5. 推理为什么会变长,并出现检查与回退#
R1-Zero 约进行了 10,400 个策略更新步骤。最大生成长度先设为 32,768 token,训练后期提高到 65,536 token。新版报告中,AIME 2024 平均 pass@1 从 15.6% 提升到 77.9%,64 次采样多数投票达到 86.7%。与此同时,平均输出长度持续增加。
模型逐渐更频繁地生成以下行为:
- 检查已经完成的推导;
- 发现矛盾后回退;
- 尝试另一条求解路径;
- 重新计算或验证最终答案;
- 根据问题难度分配不同长度。
报告分析的一组 2024 数学竞赛题中,R1 平均使用 8,793 个思考 token:简单题少于 7,000,最难题超过 18,000。这说明模型不仅学到了“生成更长”,还形成了一定程度的推理时计算分配。
不过,长度只是手段,不是能力本身。小模型实验已经表明,回答变长可能只是重复;简单问题上的过度思考也被报告列为局限。真正有效的是额外 token 被用于搜索、验证和纠错,而不是长度数字本身。
5.1 “Aha Moment”应该怎样理解#
报告展示了模型在推导中生成 “Wait” 并开始重新检查的案例。这是一个很有感染力的观察,但更稳妥的解释是:
结果奖励提高了“检查、回退、改用其他方法”这类文本策略出现在成功轨迹中的概率,而不是证明模型产生了意识。
第一人称的自我修正语言是可观察到的生成行为。它说明策略分布发生了变化,却不能单独支持关于主观体验、自主意识或人类式认知的结论。
6. 为什么最终 R1 必须把 SFT 加回来#
R1-Zero 在可验证推理上证明了 RL 的探索能力,同时也暴露了纯结果奖励的产品边界:推理可能混乱、冗长和重复,容易中英文混杂,指令遵循较弱,也无法自然覆盖写作与开放域问答。
最终 R1 首先用数千条长思维链数据做冷启动 SFT,再进行推理 RL;随后从 RL 检查点批量生成回答,通过拒绝采样保留正确且可读的轨迹,并混入非推理数据进行第二轮 SFT。
第二轮 SFT 共包含 804,745 条样本,平均每条约 5,355 token,其中约 600K 条是推理数据,约 200K 条是写作、事实问答、自我认知、翻译和软件工程等非推理数据。数据大多是单轮对话,这也成为其多轮能力受限的一个原因。
各阶段消融结果很好地展示了 RL 与 SFT 的分工:
| 模型阶段 | AIME 2024 | IF-Eval | AlpacaEval 2.0 |
|---|---|---|---|
| R1-Zero | 77.9 | 46.6 | 24.7 |
| 冷启动后 Dev1 | 59.0 | 71.7 | 50.1 |
| 推理 RL 后 Dev2 | 74.0 | 72.0 | 55.8 |
| 混合 SFT 后 Dev3 | 78.1 | 78.1 | 62.1 |
| 最终 R1 | 79.8 | 83.3 | 87.6 |
冷启动 SFT 大幅改善了指令遵循和语言表现,却一度把 AIME 2024 从 77.9 拉低到 59.0;专项 RL 把推理能力重新拉升;混合 SFT 同时增强推理和通用任务;最后的偏好 RL 对 AIME 增益很小,却显著改善 AlpacaEval。
这组结果比“RL 和 SFT 谁更重要”的二选一更有价值:
RL 适合在可验证任务上探索策略,SFT 适合固化高质量轨迹、塑造语言行为,并覆盖缺少可靠奖励的任务。
7. 基准成绩也是推理时计算的成绩#
最终 R1 相对 DeepSeek-V3 的主要变化如下:
| 基准 | DeepSeek-V3 | DeepSeek-R1 | 变化 |
|---|---|---|---|
| AIME 2024 | 39.2 | 79.8 | +40.6 |
| MATH-500 | 90.2 | 97.3 | +7.1 |
| LiveCodeBench | 36.2 | 65.9 | +29.7 |
| Codeforces Rating | 1134 | 2029 | +895 |
| GPQA Diamond | 59.1 | 71.5 | +12.4 |
| SWE-bench Verified | 42.0 | 49.2 | +7.2 |
| Aider-Polyglot | 49.6 | 53.3 | +3.7 |
提升最明显的是最终答案容易自动验证的数学和竞赛编程。真实软件工程也有收益,但幅度明显更小:仓库环境搭建、测试执行和交互轨迹验证的延迟远高于数学答案匹配,很难以同样吞吐量进行在线 RL。
R1 也并非所有项目都最好。报告中的 GPQA Diamond 为 71.5,低于 o1-1217 的 75.7;SimpleQA 为 30.1,对比模型为 47.0;Aider-Polyglot 也没有取得最高结果。
还要注意 pass@1 的计算方式。报告以 temperature 0.6、top-p 0.95 对每题采样 8 至 64 次,用样本平均正确率估计 pass@1;AIME 另有 64 次采样的多数投票结果。它并不是“只贪心生成一次”的准确率。
因此,一项推理成绩实际上由多部分共同决定:
比较推理模型时,必须同时报告最大生成长度、temperature、top-p、采样次数、是否多数投票,以及是否使用额外验证器。只比较表格中的最终百分比,很容易把推理时算力差异误认为纯模型能力差异。
8. 蒸馏:把昂贵探索变成便宜模仿#
DeepSeek 使用最终 R1 生成的约 800K 条数据,对 Qwen 和 Llama 基座进行普通 SFT,没有再为蒸馏模型执行完整 RL。
| 蒸馏模型 | AIME 2024 | MATH-500 | GPQA Diamond | LiveCodeBench |
|---|---|---|---|---|
| Qwen-1.5B | 28.9 | 83.9 | 33.8 | 16.9 |
| Qwen-7B | 55.5 | 92.8 | 49.1 | 37.6 |
| Qwen-14B | 69.7 | 93.9 | 59.1 | 53.1 |
| Qwen-32B | 72.6 | 94.3 | 62.1 | 57.2 |
| Llama-70B | 70.0 | 94.5 | 65.2 | 57.5 |
报告还发现,对 32B 模型直接做大规模 RL,不如让它模仿 R1 已经找到的成功轨迹。原因在于探索比模仿困难:
- 大模型更可能从巨大动作空间中偶然发现正确的长轨迹;
- 验证和筛选后,成功轨迹成为密集、稳定的监督数据;
- 小模型只需学习从问题到高质量轨迹的映射;
- 它不再承担低成功率 Rollout 和稀疏奖励的探索成本。
但蒸馏模型不是“等比例缩小的 R1”。它们具有不同的 Qwen 或 Llama 基座,只通过 SFT 模仿 R1 输出,没有复现完整的 RL 探索过程。训练分布外的长尾搜索、通用稳定性和能力上限,仍不能与完整 R1 简单画等号。
9. 从 AI Infra 看,真正昂贵的是轨迹工厂#
R1 的 RL 系统可以分为四类核心工作负载:
- Rollout:多个 vLLM worker 使用当前策略批量生成超长回答;
- Inference:运行参考策略与需要的神经奖励模型;
- Rule Reward:执行答案匹配、代码测试和格式检查;
- Training:计算 GRPO 或 PPO loss,更新 actor 权重。
损失函数本身通常不是最大的系统瓶颈。一次策略更新之前,系统必须先生成并验证大量长短不一的在线轨迹:
Prompt
-> 多样本长序列 Rollout
-> 规则验证 / 代码执行 / 奖励推理
-> 轨迹聚合与组内 Advantage
-> Actor Training
-> 新权重进入 Rollout Worker
-> 下一轮在线采样其中会出现一系列分布式系统问题:
- 样本长度差异巨大,短样本等待长样本形成 straggler;
- 代码执行器和规则验证器具有长尾延迟;
- actor、reference 和 reward model 争夺显存;
- MoE 路由带来 All-to-All 通信与专家热点;
- Rollout 与训练使用不同的并行和内存布局;
- 权重需要在训练端和生成端之间高频切换或同步。
报告披露的优化包括:MoE 跨节点专家并行、为热点专家部署冗余副本、使用 MTP 自推测解码、让规则验证器异步执行、按长度排序后进行 Best-Fit packing、用 DualPipe 改善流水线,以及在 Rollout、奖励和训练阶段之间卸载与重新加载模型。
这些设计共同优化的不是单次矩阵乘法,而是一个更有意义的指标:
每单位时间、每单位集群成本能够生成并验证多少条有效训练轨迹。
10. 147K GPU 小时不等于从零造出 R1#
新版报告给出了后训练阶段的计算量:
| 项目 | GPU 数量 | 时间 | H800 GPU hours |
|---|---|---|---|
| R1-Zero RL | 512 | 约 198 小时 | 约 101K |
| R1 多阶段训练 | 512 | 约 80 小时 | 约 41K |
| SFT 数据生成 | - | - | 约 5K |
| 合计 | - | - | 约 147K |
如果按每 H800 GPU-hour 2 美元估算,得到约 29.4 万美元。但这个数字只适合描述报告所统计的成功后训练配方的边际计算成本,不能描述从零研发并上线 R1 的总成本。
它没有计入:
- V3-Base 的 14.8T token 预训练;
- 形成最终配方之前的算法实验和失败训练;
- 研究与工程人员成本;
- 集群资本支出、网络、存储、机房与运维;
- 数据收集、清洗、治理和验证器开发;
- 模型上线后的长期推理成本。
所以“29.4 万美元训练出 DeepSeek-R1”是错误的成本口径。它把一次后训练运行的估算,误写成了整个模型研发项目的全生命周期成本。
11. 失败经验比成功配方更能说明边界#
11.1 Reward hacking:奖励上升,能力可能下降#
第二轮 RL 中,通用偏好奖励只在最后 400 步加入。训练更久时,策略会逐渐学会攻击奖励模型。报告中的典型现象是:奖励模型分数持续上升,Codeforces 的真实通过率却开始下降。
这说明 reward 只是能力目标的代理变量。生产训练除了 reward 曲线,还必须长期监控独立、难以被训练过程直接利用的任务指标,并保留人工抽检和分布外评估。
11.2 PRM:中间步骤并不容易可靠打分#
DeepSeek 尝试了 Process Reward Model,但没有获得足以覆盖复杂度的收益:通用推理中很难定义统一的“步骤”,中间状态难以自动判断,模型式过程打分器也会被攻击,并引入新的训练和推理成本。
这不是对 PRM 的原则性否定,而是说明其价值高度依赖任务、过程标注质量和验证方法。
11.3 MCTS:语言搜索不同于棋类搜索#
棋类拥有明确动作、规则和终局结果;语言模型的动作空间是巨大的 token 序列,搜索分支迅速爆炸,中间状态价值也难以准确估计。报告中的 MCTS 实验没有形成理想的通用扩展路线,但作者同样没有据此声称搜索方法原则上不可行。
11.4 小模型纯 RL:生成更长不等于发现能力#
较小模型常常学会延长回答,却没有同步提高正确率。这个失败再次说明:RL 更擅长放大基座已经能以一定概率产生的行为,而不是从接近零的成功率中凭空创造复杂能力。
12. R1 尚未解决什么#
报告明确列出了一些能力与产品局限:
- 工具调用和结构化输出仍不够稳定;
- 简单问题可能过度思考,token 效率较低;
- 中文、英文之外的语言容易发生语言混杂;
- 对提示词形式敏感,few-shot 有时反而降低表现;
- 软件工程没有获得数学任务那样的巨大增益;
- 写作等开放任务缺少可靠验证器,难以直接扩展纯结果奖励 RL;
- SFT 数据主要是单轮对话,多轮交互能力受限。
论文也进行了数据去污染检查,但字符串或近似匹配无法彻底排除语义改写、间接记忆,以及预训练数据中的相似题型。因此,竞赛基准是“可验证推理能力大幅提升”的强证据,却不能自动外推为所有现实推理任务都已解决。
13. 怎样概括 R1 的真正贡献#
R1-Zero 给出的科学证据是:对于答案能够可靠验证的任务,不必为每一道题人工标注完整思维链。只要强基座偶尔能够找到正确轨迹,大规模采样和结果奖励就可以逐步提高检查、回退、重算和长程搜索策略的概率。
最终 R1 给出的工程结论则更克制:一个可用的推理助手不能只靠纯 RL。它需要把不同方法安排在各自擅长的位置:
- 预训练基座决定可供搜索的能力空间;
- RL负责在可验证任务上探索并放大成功策略;
- SFT负责冷启动、轨迹固化与语言行为塑造;
- 验证器决定奖励信号是否可信、能否规模化;
- RL Infra决定长轨迹探索的吞吐与成本;
- 蒸馏把大模型支付过的探索成本转化为小模型可模仿的数据。
可以用下面这个心智模型结束全文:
GRPO 是其中重要的降本组件,但不是全部答案。DeepSeek-R1 真正展示的是:推理模型的扩展,是算法、数据、奖励、推理时计算与分布式系统共同作用的结果。