DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning

作者: DeepSeek-AI 年份: 2025 会议: arXiv 分类: 训练优化

论文笔记:DeepSeek-R1

元信息

项目内容
机构DeepSeek
日期January 2025
对比基线OpenAI o1, GPT-4o, Claude 3.5 Sonnet, Qwen 2.5
链接arXiv / GitHub

一句话总结

通过纯强化学习训练(无 SFT 冷启动) 在 DeepSeek-V3 基础模型上涌现出 Chain-of-Thought 和自我验证能力,并提出 GRPO 算法替代 PPO,最终通过蒸馏将推理能力迁移到 1.5B-70B 的小模型,在数学和代码推理 benchmark 上匹敌 OpenAI o1。

核心贡献

RL-only 训练涌现推理: DeepSeek-R1-Zero 证明了不需要 SFT 数据,纯 RL 训练即可让大模型自发涌现 CoT 推理、自我验证和反思行为

GRPO 算法: 提出 Group Relative Policy Optimization,用组内相对奖励替代 critic 模型,大幅降低 RL 训练的内存和计算开销

推理能力蒸馏: 将 DeepSeek-R1 的推理能力蒸馏到 Qwen 和 Llama 系列的 1.5B-70B 模型,小模型在推理任务上超越同量级的非蒸馏模型数十个百分点

涌现行为的发现与分析: 详细记录了 RL 训练过程中 “aha moment”(顿悟时刻)的出现——模型学会重新审视自己的答案并纠正错误

问题背景

要解决的问题

大语言模型在数学推理、代码生成等需要深度推理的任务上仍有明显短板,OpenAI o1 通过 RL + CoT 取得突破但方法未公开

现有方法的局限

SFT-based 推理增强: 需要大量人工标注的 CoT 数据,数据质量是瓶颈;且 SFT 本质上是模仿学习,无法超越标注者的推理水平

PPO-based RLHF: PPO 需要训练独立的 critic 模型(与 actor 同等规模),内存开销翻倍

Standard CoT prompting: 仅靠 prompt 工程激发推理能力有上限,模型不会主动进行自我纠错

本文的动机

探索一个根本性问题:推理能力能否通过纯 RL 信号从头涌现? 如果可以,就不再依赖昂贵的人工 CoT 标注数据

方法详解

阶段 0: DeepSeek-R1-Zero(纯 RL,无 SFT)

基础模型: DeepSeek-V3-Base(671B MoE,37B 激活参数)

训练方式: 直接在基础模型上做 RL,不经过任何 SFT

奖励信号:

  • 准确性奖励: 数学题验证答案正确性(规则匹配);代码题通过单元测试判断
  • 格式奖励: 强制模型将推理过程放在 <think>...</think> 标签内,最终答案放在标签外
  • 无过程奖励模型(No PRM): 不使用过程级奖励,仅用结果级奖励

涌现行为:

  • CoT 长度自然增长: 训练过程中模型的平均 thinking token 数从数百增长到数千
  • “Aha moment”: 模型在某个训练阶段突然学会了 “Wait, let me reconsider…” 式的自我纠错
  • 自我验证: 模型开始主动验算自己的中间步骤
  • 多策略探索: 模型学会尝试不同的解题方法

阶段 1: DeepSeek-R1(完整流水线)

R1-Zero 虽然涌现了推理能力,但存在可读性差、语言混杂等问题,因此完整版 R1 采用多阶段流水线:

  1. 冷启动 SFT: 收集数千条高质量 CoT 数据微调基础模型,提供更好的 RL 起点
  2. 推理 RL 阶段: 使用 GRPO 在数学和代码任务上做大规模 RL 训练
  3. 拒绝采样 + SFT: 用 RL 后的模型生成大量推理数据,过滤正确的用于 SFT
  4. 通用 RL 对齐: 在更广泛的任务上(写作、对话、角色扮演等)做 RL 对齐

GRPO 算法(Group Relative Policy Optimization)

核心改进: 去掉 PPO 中的 value function(critic 模型),用同一 prompt 的一组回答之间的相对奖励作为 advantage 估计

具体流程:

  1. 对每个 prompt xx,用当前策略采样 GG 个回答 {o1,,oG}\{o_1, \ldots, o_G\}
  2. 用奖励模型对每个回答打分 {r1,,rG}\{r_1, \ldots, r_G\}
  3. 计算组内归一化 advantage:A^i=rimean(r)std(r)\hat{A}_i = \frac{r_i - \text{mean}(\mathbf{r})}{\text{std}(\mathbf{r})}
  4. 用 clipped PPO-style 目标更新策略

蒸馏到小模型

教师模型: DeepSeek-R1 (671B MoE)

学生模型: Qwen-2.5 系列(1.5B, 7B, 14B, 32B)和 Llama-3 系列(8B, 70B)

蒸馏方式: 用 R1 生成的 ~800K 条推理数据对小模型做 SFT(直接模仿 R1 的推理链)

不使用 RL 训练小模型: 纯 SFT 蒸馏已经足够有效,小模型上的 RL 收益有限

关键公式

公式1: GRPO 目标函数

JGRPO(θ)=ExP(X),{oi}i=1Gπθold(x)[1Gi=1Gmin(πθ(oix)πθold(oix)A^i,clip(πθ(oix)πθold(oix),1ϵ,1+ϵ)A^i)βDKL(πθπref)]\mathcal{J}_{\text{GRPO}}(\theta) = \mathbb{E}_{x \sim P(X), \{o_i\}_{i=1}^{G} \sim \pi_{\theta_{\text{old}}}(\cdot|x)} \left[ \frac{1}{G} \sum_{i=1}^{G} \min\left( \frac{\pi_\theta(o_i|x)}{\pi_{\theta_{\text{old}}}(o_i|x)} \hat{A}_i, \, \text{clip}\left(\frac{\pi_\theta(o_i|x)}{\pi_{\theta_{\text{old}}}(o_i|x)}, 1-\epsilon, 1+\epsilon\right) \hat{A}_i \right) - \beta \, D_{\text{KL}}(\pi_\theta \| \pi_{\text{ref}}) \right]

含义: 类 PPO 的 clipped 目标函数,但 advantage 来自组内相对奖励而非 critic 模型

符号说明:

  • GG: 每个 prompt 采样的回答组大小(通常 16-64)
  • A^i\hat{A}_i: 第 ii 个回答的组内归一化 advantage
  • ϵ\epsilon: clip 范围(如 0.2)
  • β\beta: KL 惩罚系数
  • πref\pi_{\text{ref}}: 参考策略(SFT 模型)

公式2: 组内 Advantage 计算

A^i=rimean(r1,,rG)std(r1,,rG)\hat{A}_i = \frac{r_i - \text{mean}(r_1, \ldots, r_G)}{\text{std}(r_1, \ldots, r_G)}

含义: 用同组回答的奖励均值和标准差做 z-score 归一化,完全不需要 critic 模型

优势: 相比 PPO 的 A^t=rt+γV(st+1)V(st)\hat{A}_t = r_t + \gamma V(s_{t+1}) - V(s_t),GRPO 省去了训练和维护一个与 actor 同等规模的 value function

公式3: 奖励函数

r(x,o)=raccuracy(x,o)+rformat(x,o)r(x, o) = r_{\text{accuracy}}(x, o) + r_{\text{format}}(x, o)

含义: 总奖励由准确性奖励和格式奖励组成

符号说明:

  • raccuracyr_{\text{accuracy}}: 答案正确性(数学: 规则匹配;代码: 测试用例通过率)
  • rformatr_{\text{format}}: 是否正确使用 <think>...</think> 格式

实验结果

数学推理

模型AIME 2024 (pass@1)MATH-500Gaokao 2024
GPT-4o9.3%76.6%
Claude 3.5 Sonnet16.0%78.3%
OpenAI o1-mini63.6%90.0%
OpenAI o179.2%96.4%
DeepSeek-R1-Zero71.0%95.9%
DeepSeek-R179.8%97.3%91.4%

R1 在 AIME 2024 上达到 79.8%,略超 OpenAI o1 (79.2%)

R1-Zero(纯 RL,无 SFT)就达到了 71.0%,证明推理能力可以从 RL 中涌现

代码推理

模型Codeforces (rating)LiveCodeBench (pass@1)
GPT-4o80833.4%
Claude 3.5 Sonnet71733.8%
OpenAI o1180763.4%
DeepSeek-R1202965.9%

R1 在 Codeforces 竞赛评分上达到 2029(超过 96.3% 的人类选手),超越 o1 的 1807

蒸馏模型结果

蒸馏模型参数量AIME 2024MATH-500LiveCodeBench
Qwen-2.5-1.5B (base)1.5B0%34.3%6.2%
R1-Distill-Qwen-1.5B1.5B28.9%83.9%16.9%
Qwen-2.5-7B (base)7B3.3%52.5%12.8%
R1-Distill-Qwen-7B7B55.5%92.8%37.6%
Llama-3-70B (base)70B6.7%65.0%19.2%
R1-Distill-Llama-70B70B70.0%94.5%57.5%
OpenAI o1-mini~100B?63.6%90.0%53.8%

1.5B 蒸馏模型的 MATH-500 从 34.3% → 83.9%(+49.6%),效果惊人

70B 蒸馏模型在 AIME 达到 70.0%,接近 o1-mini 的 63.6%,体现了蒸馏的高效性

蒸馏(纯 SFT)在小模型上比直接做 RL 更有效——小模型的 RL 训练不稳定且收益有限

R1-Zero 涌现行为分析

思维链长度与训练步数: 训练初期平均 CoT 长度 ~200 tokens,训练后期增长到 ~10,000 tokens,说明模型自发学会了更深入的推理

“Aha moment”: 在训练过程中的某个阶段,模型突然开始输出 “Hmm, wait. Let me reconsider.” 并纠正之前的错误——这一行为完全是 RL 信号驱动的涌现,非人工设计

语言混杂问题: R1-Zero 的输出常常中英文混杂且可读性差,这是纯 RL 训练缺乏格式约束的副作用,在完整版 R1 中通过 SFT 冷启动解决

局限性

训练成本极高: 671B MoE 模型的 RL 训练需要大量 GPU 资源,论文未公开具体训练成本,但可推测为数百万美元量级

通用能力折损: R1 在推理任务上出色,但在写作、角色扮演等非推理任务上可能不如通用对话模型——需要额外的通用 RL 对齐阶段

长上下文推理的效率问题: R1 的推理链可能非常长(>10K tokens),增加了推理成本和延迟

奖励设计限制: 准确性奖励仅适用于有明确答案的任务(数学、代码),开放式任务(如写作)难以定义类似的奖励信号

蒸馏的局限: 蒸馏模型的能力仍受限于教师模型的生成数据质量,且蒸馏后的小模型在 RL 上的进一步提升空间有限

相关概念

速查卡片

DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning

  • 核心: 纯 RL 训练(无 SFT)可涌现 CoT 推理和自我验证能力;GRPO 替代 PPO 省去 critic 模型
  • 方法: R1-Zero(纯 RL 涌现)→ R1(冷启动 SFT + RL + 拒绝采样 SFT + 对齐 RL)→ 蒸馏到小模型
  • 结果: AIME 2024 79.8%(≈o1);Codeforces 2029 rating(>o1);1.5B 蒸馏模型 MATH +49.6%
  • 代码: GitHub,模型权重开源

笔记创建时间: 2026-04-03