Administrator
发布于 2026-07-30 / 5 阅读
0

DeepSeek-R1 论文深度解析:从纯强化学习到推理能力涌现

DeepSeek-R1 论文深度解析:从纯强化学习到推理能力涌现

论文DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning 作者:DeepSeek-AI(Daya Guo, Dejian Yang, Haowei Zhang, Junxiao Song, Peiyi Wang 等 100+ 人) arXiv:2501.12948(2025年1月20日发布,2025年1月4日 v2 更新) 发布:2025年1月20日,DeepSeek 开源了 R1 系列模型权重、推理代码和训练数据


目录

  1. 引言:推理能力的瓶颈与突破
  2. 背景知识:理解 R1 所需的理论基础
  3. DeepSeek-V3:R1 的基座模型
  4. GRPO 算法:核心强化学习引擎
  5. PPO vs GRPO:两种算法的深度对比
  6. DeepSeek-R1-Zero:纯 RL 激励推理能力
  7. DeepSeek-R1:多阶段训练管道
  8. 奖励设计详解
  9. 自我进化行为分析
  10. 实验结果与性能分析
  11. 模型蒸馏:让推理能力触手可及
  12. 与 OpenAI o1/o3 的深度对比
  13. 安全与伦理分析
  14. 局限性与未来工作
  15. 关键发现与经验教训
  16. 更广泛的背景:CoT、RLHF、MoE 与蒸馏
  17. RL 训练基础设施详解
  18. 评估基准与实验设置详解
  19. SFT 数据构建细节
  20. 社区反应与行业影响
  21. 总结与展望

一、引言:推理能力的瓶颈与突破

1.1 推理为何重要

推理能力是人类智能的基石——从数学解题到逻辑演绎,从编程到科学发现,无一不依赖推理。在人工智能领域,推理能力长期被视为区分"真正智能"与"模式匹配"的关键标准。

近年来,大语言模型(LLMs)在推理任务上取得了显著进展。从 GPT-3 到 GPT-4,从 PaLM 到 Claude,模型在数学、代码、逻辑推理等领域的表现不断提升。但这种进展严重依赖人类标注的推理链(Chain-of-Thought, CoT),形成了一个难以突破的瓶颈。

1.2 传统方法的三条路径及其局限

在 DeepSeek-R1 之前,提升 LLM 推理能力主要有三条路径。让我们逐一深入分析每条路径的原理、成果和局限。

路径一:预训练阶段注入推理能力

Kaplan et al.(2020)提出的 Scaling Laws 表明,当模型规模足够大时,LLM 会展现出包括推理能力在内的涌现行为。Wei et al.(2022a)进一步验证了这一发现。但这种方法需要消耗巨量计算资源——训练一个 671B 参数的模型需要数千 GPU 数月的计算时间,且推理能力的上限受限于预训练数据的质量和数量。

更重要的是,预训练阶段的推理能力是"隐式"的——模型学会了推理,但无法显式地展示推理过程。这导致了两个问题:

  1. 无法验证推理过程的正确性
  2. 无法引导模型使用特定的推理策略

路径二:CoT 提示(Prompting)

Wei et al.(2022b)和 Kojima et al.(2022)提出的 CoT 提示技术,通过让模型"一步步思考"来显著提升推理性能。这种方法要么需要精心设计少样本示例(few-shot CoT),要么使用"让我们一步步思考"这类极简提示(zero-shot CoT)。

CoT 提示的核心思想是在提示中加入中间推理步骤,而非直接给出输入-输出对。例如,不是简单地展示"问题→答案",而是展示"问题→推理过程→答案"。这种方法在数学推理、常识推理和符号推理等任务上都取得了显著效果。

然而,CoT 提示仍依赖人类先验知识来引导推理方向。模型只是模仿人类提供的推理示例,而非自主发现推理策略。具体来说:

  • Few-shot CoT:需要人类精心设计推理示例,成本高昂且覆盖范围有限
  • Zero-shot CoT:虽然无需示例,但推理质量不如 few-shot,且无法引导特定领域的推理策略
  • Auto-CoT(Zhang et al., 2022):自动生成推理示例,但生成的示例质量参差不齐

路径三:后训练阶段学习推理轨迹

Chung et al.(2024)和 OpenAI(2023)在模型后训练阶段使用高质量多步推理轨迹进行监督微调(SFT),取得了进一步的性能提升。OpenAI 的 o1 系列模型据信也采用了类似的方法。

这种方法的核心思想是:通过人类标注的推理链来教会模型如何推理。然而,这种方法面临三个根本问题:

  1. 标注成本高昂:一个高质量的推理链可能需要领域专家数小时来标注
  2. 覆盖范围有限:人类无法覆盖所有推理场景
  3. 推理路径受限:模型只能模仿人类提供的推理方式,无法探索更优路径

1.3 传统方法的共同瓶颈

上述三条路径有一个共同瓶颈:依赖人类标注的推理链。这带来三个根本问题:

  1. 可扩展性受限:人类标注成本高昂,难以覆盖所有推理场景。一个高质量的推理链可能需要领域专家数小时来标注。

  2. 认知偏差:人类的推理方式不一定是最优的。模型被限制在模仿人类思维,而非探索更高效、更准确的推理路径。

  3. 性能天花板:模型的性能上限被人类示例所约束。正如论文所指出的:"通过约束模型复制人类思维过程,其性能本质上被人类示例所限制,阻止了探索更优的、非人类推理路径。"

1.4 DeepSeek-R1 的核心假设

关键假设:LLM 的推理能力可以通过纯强化学习来激励,无需人类标注的推理轨迹。人类定义的推理模式可能限制模型的探索,而无限制的 RL 训练能更好地激励新颖推理能力的涌现。

这一假设挑战了当时的主流观点。在 R1 之前,业界普遍认为强大的推理能力需要大量人类示范——OpenAI 的 o1 系列模型被认为使用了大量人工标注的推理链。DeepSeek-R1 证明了这一假设是错误的。

1.5 论文的核心贡献

  1. DeepSeek-R1-Zero:首个通过纯 RL 涌现出高级推理行为的模型,展示了自反思、验证等复杂策略的自发形成
  2. DeepSeek-R1:多阶段管道整合了冷启动、RL、拒绝采样和 SFT,在保持推理能力的同时提升了可读性和通用能力
  3. GRPO 算法:提出了一种无需价值模型的高效 RL 算法,大幅降低了训练成本
  4. 模型蒸馏:证明将推理能力蒸馏到小模型上是可行且高效的
  5. 开源贡献:发布了完整的模型权重、推理代码和训练数据

1.6 为什么这篇论文如此重要

DeepSeek-R1 的发布在 AI 界引起了巨大反响,原因在于:

  • 方法论创新:首次证明了纯 RL 可以激励 LLM 发展出高级推理能力,无需人类推理示范
  • 成本效率:训练成本仅为约 $294K(147K H800 GPU 小时),远低于竞争对手
  • 开源精神:完全开源(MIT 许可),包括模型权重、代码和数据
  • 性能卓越:在数学和编码任务上达到与 OpenAI o1-1217 相当的水平
  • 可复现性:提供了详细的训练流程和超参数,便于社区复现和改进

英伟达高级研究科学家 Jim Fan 评价道:"我们正生活在一个特殊的时代:一家非美国公司在真正践行着 OpenAI 的初心——让 AI 的能力惠及所有人。"


二、背景知识:理解 R1 所需的理论基础

2.1 大语言模型(LLM)基础

2.1.1 Transformer 架构

LLM 的核心是基于 Transformer 架构的自回归语言模型。Transformer 由 Vaswani et al.(2017)提出,其核心组件包括:

  • 自注意力机制(Self-Attention):允许模型在处理每个 token 时关注输入序列的所有位置
  • 多头注意力(Multi-Head Attention):使用多个注意力头并行处理不同的表示子空间
  • 前馈网络(Feed-Forward Network):对每个位置独立应用非线性变换
  • 层归一化(Layer Normalization):稳定训练过程
  • 残差连接(Residual Connection):缓解梯度消失问题

给定输入序列 x = (x_1, x_2, ..., x_n),模型学习条件概率分布:

P(x) = \prod_{i=1}^{n} P(x_i | x_{<i})

训练目标是最小化负对数似然:

\mathcal{L} = -\sum_{i=1}^{n} \log P(x_i | x_{<i})

2.1.2 从 GPT 到 DeepSeek-V3 的演进

  • GPT-1(2018):首次展示了生成式预训练 + 微调的范式
  • GPT-2(2019):展示了大规模语言模型的零样本能力
  • GPT-3(2020):175B 参数,展示了 few-shot 学习能力
  • GPT-4(2023):多模态能力,推理能力显著提升
  • DeepSeek-V2(2024):236B 总参数,21B 激活参数,引入 MLA 和 DeepSeekMoE
  • DeepSeek-V3(2024):671B 总参数,37B 激活参数,引入 MTP 和无辅助损失负载均衡

2.2 Chain-of-Thought(CoT)推理

2.2.1 CoT 的起源

Chain-of-Thought 由 Wei et al.(2022b)在 Google 的论文中首次提出。核心思想是:在提示中加入中间推理步骤,而非直接给出输入-输出对。

传统提示:

Q: 小明有 5 个苹果,小红给了他 3 个,然后小明吃了 2 个。小明现在有几个苹果?
A: 6

CoT 提示:

Q: 小明有 5 个苹果,小红给了他 3 个,然后小明吃了 2 个。小明现在有几个苹果?
A: 小明最初有 5 个苹果。小红给了他 3 个,所以 5 + 3 = 8 个。然后小明吃了 2 个,所以 8 - 2 = 6 个。答案是 6。

2.2.2 Zero-shot CoT

Kojima et al.(2022)发现,只需在提示末尾加上"让我们一步步思考"(Let's think step by step),就能在无需任何示例的情况下激发模型的推理能力。这进一步证明了推理能力是 LLM 的内在属性,而非来自人类示范。

2.2.3 CoT 的局限性

尽管 CoT 在多个任务上取得了显著效果,但它仍有三个主要局限:

  1. 依赖人类先验:需要人类提供推理示例或设计提示语
  2. 推理路径受限:模型只能模仿人类提供的推理方式
  3. 能力上限:模型的性能被人类示例的质量所限制

DeepSeek-R1 的核心创新在于:模型通过 RL 自动学会了生成 CoT,无需人类示范

2.3 强化学习(RL)基础

2.3.1 马尔可夫决策过程(MDP)

强化学习通常在一个马尔可夫决策过程(MDP)框架下进行。MDP 由以下元素构成:

  • 状态空间(State Space, S):环境的可能状态集合
  • 动作空间(Action Space, A):智能体可以执行的动作集合
  • 转移函数(Transition Function, P)P(s'|s,a) 表示在状态 s 执行动作 a 后转移到状态 s' 的概率
  • 奖励函数(Reward Function, R)R(s,a) 表示在状态 s 执行动作 a 后获得的即时奖励
  • 折扣因子(Discount Factor, \gamma:平衡短期和长期奖励的重要性

智能体的目标是找到最优策略 \pi^*,使得期望累积折扣奖励最大化:

\pi^* = \arg\max_{\pi} \mathbb{E}_{\tau \sim \pi} \left[ \sum_{t=0}^{\infty} \gamma^t R(s_t, a_t) \right]

2.3.2 策略梯度方法

策略梯度方法直接对策略 \pi_\theta(a|s) 进行参数化,并通过梯度上升优化参数 \theta

\nabla_\theta J(\theta) = \mathbb{E}_{\tau \sim \pi_\theta} \left[ \sum_{t=0}^{T} \nabla_\theta \log \pi_\theta(a_t|s_t) \cdot G_t \right]

其中 G_t = \sum_{k=t}^{T} \gamma^{k-t} R(s_k, a_k) 是从时刻 t 开始的累积折扣奖励。

策略梯度方法的核心问题是高方差——直接使用 G_t 会导致梯度估计的方差很大,训练不稳定。

2.3.3 优势函数与基线

为了降低方差,通常引入基线函数 b(s_t)

A(s_t, a_t) = Q(s_t, a_t) - V(s_t)

其中 Q(s_t, a_t) 是状态-动作价值函数,V(s_t) 是状态价值函数。优势函数衡量了在状态 s_t 下,执行动作 a_t 比平均情况好多少。

引入基线后的策略梯度:

\nabla_\theta J(\theta) = \mathbb{E}_{\tau \sim \pi_\theta} \left[ \sum_{t=0}^{T} \nabla_\theta \log \pi_\theta(a_t|s_t) \cdot A(s_t, a_t) \right]

2.4 PPO:传统 RL 算法

2.4.1 PPO 的起源

Proximal Policy Optimization(PPO)由 OpenAI 的 John Schulman 等人在 2017 年提出。它是 TRPO(Trust Region Policy Optimization)的改进版本,通过更简单的实现达到了相似的效果。

PPO 的核心思想是:限制新旧策略之间的差异,避免策略更新过大导致性能崩溃

2.4.2 PPO 的数学推导

PPO 的核心目标函数为:

J_{PPO}(\theta) = \mathbb{E} \left[ \min \left( r_t(\theta) A_t, \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon) A_t \right) \right]

其中 r_t(\theta) = \frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)} 是新旧策略的概率比。

这个目标函数的精妙之处在于:

  • A_t > 0(动作优于平均)时,增加该动作的概率,但不超过 1+\epsilon
  • A_t < 0(动作劣于平均)时,降低该动作的概率,但不低于 1-\epsilon
  • 这种"截断"机制防止了策略的剧烈变化

2.4.3 广义优势估计(GAE)

PPO 通常使用广义优势估计(GAE)来计算优势函数:

A_t^{GAE} = \sum_{l=0}^{\infty} (\gamma \lambda)^l \delta_{t+l}

其中 \delta_t = R_t + \gamma V(s_{t+1}) - V(s_t) 是时间差分误差,\lambda \in [0,1] 是 GAE 参数。

GAE 的核心思想是:通过指数加权平均不同步数的时间差分误差,在偏差和方差之间取得平衡

  • \lambda = 0:仅使用单步 TD 误差(低方差,高偏差)
  • \lambda = 1:使用完整回报(高方差,低偏差)

2.4.4 PPO 在 LLM 中的应用

在 LLM 的 RLHF 训练中,PPO 的流程如下:

  1. 采样:使用当前策略 \pi_\theta 对一批 prompt 生成响应
  2. 评估:使用奖励模型对生成的响应打分
  3. 计算优势:使用 GAE 计算每个 token 的优势值
  4. 更新策略:使用 PPO 目标函数更新策略参数
  5. 更新价值模型:训练价值模型以更好地预测未来奖励

PPO 在 LLM 中的关键局限

  1. 需要价值模型:价值模型通常与策略模型大小相当,带来巨大的内存和计算开销
  2. 价值模型训练困难:在长链推理模型中,由于模型可能在中途进行反思和修正,基于部分响应对最终奖励的预测变得极不可靠
  3. 超参数敏感:GAE 的 \lambda 系数需要仔细调参

2.5 RLHF:传统对齐范式

2.5.1 RLHF 的三阶段流程

在 R1 之前,LLM 后训练的标准范式是 RLHF(Reinforcement Learning from Human Feedback):

阶段一:监督微调(SFT)

在人类标注的输入-输出对上进行监督微调:

\mathcal{L}_{SFT} = -\sum_{(x,y) \in \mathcal{D}} \log P(y|x)

SFT 的作用是为模型提供一个良好的初始策略,防止 RL 训练中的模式崩溃。

阶段二:奖励模型训练

基于人类偏好对训练一个奖励模型。对于每个问题 x,人类标注员对两个候选回答 y_w(偏好)和 y_l(非偏好)进行排序。奖励模型的损失函数为:

\mathcal{L}_{RM} = -\mathbb{E}_{(x,y_w,y_l)} \left[ \log \sigma(r_\theta(x, y_w) - r_\theta(x, y_l)) \right]

阶段三:PPO 优化

使用 PPO 优化模型输出,使其最大化奖励模型评分,同时通过 KL 散度惩罚防止策略偏离初始策略太远:

J_{RLHF} = \mathbb{E} \left[ r_\theta(x, y) - \beta D_{KL}(\pi_\theta || \pi_{ref}) \right]

2.5.2 RLHF 的局限

RLHF 的核心问题在于:

  1. 人类标注成本高:需要大量人类偏好数据
  2. 奖励黑客攻击:模型可能找到捷径来欺骗奖励模型
  3. 推理能力受限:人类提供的推理示例可能并非最优

三、DeepSeek-V3:R1 的基座模型

3.1 架构概览

DeepSeek-R1 基于 DeepSeek-V3-Base 构建。DeepSeek-V3 是一个拥有 6710 亿总参数的混合专家(MoE)模型,每个 token 激活约 370 亿参数。其核心架构包括三大创新:

  1. 多头潜在注意力(Multi-head Latent Attention, MLA)
  2. DeepSeekMoE 架构
  3. 多 Token 预测(Multi-Token Prediction, MTP)

3.2 多头潜在注意力(MLA)

3.2.1 传统注意力机制的问题

在标准的 Transformer 注意力机制中,每个 token 需要缓存 Key 和 Value 向量。对于长序列,这会带来巨大的显存开销。具体来说,对于一个有 n_h 个注意力头、每个头维度为 d_h 的模型,每个 token 需要缓存的 KV 数据量为 2 \times n_h \times d_h

3.2.2 MLA 的解决方案

MLA 的核心思想是:对注意力键值进行低秩联合压缩,以减少推理期间的 KV cache

给定第 t 个 token 的注意力输入 \mathbf{h}_t \in \mathbb{R}^d,MLA 的计算过程如下:

  1. 压缩:计算潜向量 c_t^{KV} = W^{DKV} \mathbf{h}_t,其中 W^{DKV} 是降维矩阵
  2. 还原:从潜向量还原 Key 和 Value:k_t = W^{UK} c_t^{KV}v_t = W^{UV} c_t^{KV}

这样,模型只需缓存低维的潜向量 c_t^{KV},而非完整的 Key 和 Value 向量,从而显著减少了 KV cache 的大小。

3.2.3 MLA 的优势

  • KV cache 减少 93.3%:与 DeepSeek 67B 相比,DeepSeek-V2 的 KV cache 减少了 93.3%
  • 推理速度提升:最大生成吞吐量提升至 5.76 倍
  • 性能保持:在性能没有显著下降的前提下实现了效率提升

3.3 DeepSeekMoE 架构

3.3.1 传统 MoE 的问题

传统 MoE 架构中,每个 token 通过门控网络选择 K 个专家进行处理。这种设计存在两个问题:

  1. 专家负载不均衡:某些专家可能被过度使用,而其他专家几乎不被使用
  2. 知识冗余:不同专家可能学习到相似的知识

3.3.2 DeepSeekMoE 的创新

DeepSeekMoE 使用了更细粒度的专家设计,并隔离了一些专家用于共享知识:

  • 共享专家(Shared Experts):始终激活,负责捕获通用知识
  • 路由专家(Routed Experts):通过门控网络选择,负责处理特定类型的输入

\mathbf{u}_t 表示第 t 个 token 的 FFN 输入,那么 FFN 的输出 \mathbf{h}_t' 计算如下:

\mathbf{h}_t' = \mathbf{u}_t + \sum_{i=1}^{N_s} \text{FFN}_i^{(s)}(\mathbf{u}_t) + \sum_{j \in \text{TopK}(\cdot, K)} \text{FFN}_j^{(r)}(\mathbf{u}_t)

其中 \text{TopK}(\cdot, K) 表示由第 t 个 token 和所有路由专家计算出的相关性得分中最高的 K 个组成的集合。

3.3.3 无辅助损失负载均衡

传统 MoE 通常使用辅助损失来鼓励专家负载均衡。DeepSeek-V3 创新性地提出了无辅助损失负载均衡策略,通过动态调整每个专家的偏置项来实现负载均衡,无需额外的损失函数。

3.4 多 Token 预测(MTP)

3.4.1 传统逐 Token 预测的问题

传统 LLM 采用逐 token 预测(next-token prediction)的方式生成文本。在生成每个 token 时,模型需要频繁地进行访存操作,加载 KV Cache,这往往成为训练或推理过程中的瓶颈。

3.4.2 MTP 的解决方案

MTP 允许模型在每个位置同时预测多个未来的 token。具体来说,除了预测下一个 token 外,模型还预测第 2 个、第 3 个未来 token。

MTP 的训练目标是在每个位置上增加额外的交叉熵损失:

\mathcal{L}_{MTP} = -\sum_{k=1}^{K} \log P(x_{t+k} | x_{\leq t}, \hat{x}_{t+1}, ..., \hat{x}_{t+k-1})

其中 K 是预测的未来 token 数量。

3.4.3 MTP 的优势

  • 训练效率提升:通过预测多个 token,模型能够更好地预规划未来 token 的表示
  • 推理加速:在推理阶段,MTP 组件可以与推测解码(speculative decoding)结合,显著加速解码速度
  • 性能提升:特别是在数学和编码任务上,MTP 带来了显著的性能提升

3.5 DeepSeek-V3 的训练数据

DeepSeek-V3 在 14.8 万亿高质量、多样化的 token 上进行了预训练。值得注意的是:

  • 数据清洗:DeepSeek-V3-Base 仅使用纯网页和电子书,未使用任何合成数据
  • 数据污染检测:发现一些网页包含大量 OpenAI 模型生成的答案,可能导致基础模型间接从其他强大模型获取知识
  • 知识截止:DeepSeek-V3 base 的知识截止日期为 2024 年 7 月

3.6 为什么选择 DeepSeek-V3-Base 作为 R1 的基础

论文指出,选择 DeepSeek-V3-Base 的原因包括:

  1. 模型规模:671B 总参数 / 37B 激活参数,足够大以支持 RL 训练
  2. 推理数据暴露:预训练数据包含大量数学和代码相关内容,使模型具备生成合理推理候选的能力
  3. MoE 架构:稀疏激活特性使得大规模 RL 训练更加高效
  4. MLA 机制:高效的注意力机制支持长链推理

四、GRPO 算法:核心强化学习引擎

4.1 GRPO 的起源

GRPO(Group Relative Policy Optimization)由 DeepSeek 的 Junxiao Song 提出,最初用于简化 PPO 的训练流程并减少资源消耗。在 DeepSeek-R1 中,GRPO 成为了训练 R1-Zero 和 R1 的核心算法。

4.2 GRPO 的核心思想

GRPO 的核心思想是:用组内相对排名替代价值模型

传统 PPO 需要一个价值模型来估计每个状态的优势函数,而 GRPO 通过在同一问题上生成多个回答,用这些回答的相对表现来计算优势,完全绕过了价值模型。

4.3 GRPO 的数学推导

4.3.1 问题定义

对于每个问题 q,GRPO 从旧策略 \pi_{\theta_{old}} 中采样一组输出 \{o_1, o_2, ..., o_G\}

4.3.2 组内优势计算

对于每个输出 o_i,计算其奖励 r_i,然后使用组内统计量进行标准化:

A_i = \frac{r_i - \text{mean}(\{r_1, r_2, ..., r_G\})}{\text{std}(\{r_1, r_2, ..., r_G\})}

这个公式的精妙之处在于:

  • 动态基线:每个问题的基线(均值)不同,适应不同难度的题目
  • 自适应缩放:通过标准差进行缩放,使得不同问题的优势值具有可比性
  • 无需价值模型:完全基于组内统计量,无需额外的神经网络

4.3.3 策略优化目标

GRPO 的目标函数为:

J_{GRPO}(\theta) = \mathbb{E} \left[ \frac{1}{G} \sum_{i=1}^{G} \min \left( \frac{\pi_\theta(o_i|q)}{\pi_{\theta_{old}}(o_i|q)} A_i, \text{clip} \left( \frac{\pi_\theta(o_i|q)}{\pi_{\theta_{old}}(o_i|q)}, 1-\epsilon, 1+\epsilon \right) A_i \right) - \beta D_{KL}(\pi_\theta || \pi_{ref}) \right]

4.3.4 KL 散度估计

GRPO 使用 Schulman(2020)提出的 KL 散度无偏估计器:

D_{KL}(\pi_\theta || \pi_{ref}) = \frac{\pi_{ref}(o_i|q)}{\pi_\theta(o_i|q)} - \log \frac{\pi_{ref}(o_i|q)}{\pi_\theta(o_i|q)} - 1

与 PPO 将 KL 作为密集奖励加在每个 token 上不同,GRPO 的方式不会隐式惩罚响应长度,这对于训练长链推理模型至关重要。

4.4 GRPO 的工作流程

GRPO 的训练流程可以分为以下步骤:

  1. 采样:对每个问题 q,从当前策略 \pi_{\theta_{old}} 中采样 G 个输出
  2. 评分:对每个输出 o_i 计算奖励 r_i
  3. 计算优势:使用组内均值和标准差计算每个输出的优势 A_i
  4. 策略更新:使用带截断的目标函数更新策略参数
  5. 参考模型更新:每 400 步将参考模型替换为最新策略模型

4.5 GRPO 与 PPO 的深度对比

维度PPOGRPO
价值模型需要(与策略模型同大小)不需要
优势估计GAE(基于学习到的价值函数)组内相对排名
内存开销高(额外加载价值模型)低(仅需策略模型)
计算复杂度
适用场景通用 RL奖励信号稀疏、输出长度大的场景
超参数敏感性高(需调 \lambda
KL 处理密集奖励(每 token)损失函数中的直接约束
长度惩罚有(隐式)

4.6 GRPO 在 MATH 任务上的对比实验

论文在 DeepSeek-Coder-V2-Lite(16B MoE,2.4B 激活参数)上对比了 PPO 和 GRPO 在 MATH 任务上的表现:

  • PPO(\lambda=0.95,默认值):表现明显差于 GRPO
  • PPO(\lambda=1.0,仔细调参后):性能接近 GRPO
  • GRPO(默认参数):表现最佳

结论:GRPO 在默认参数下即可达到甚至超越经过仔细调参的 PPO,且无需额外的价值模型和超参数调优。

4.7 GRPO 的设计哲学

GRPO 的设计体现了 DeepSeek 团队对 LLM RL 训练场景的深刻理解:

  1. 简化而非复杂化:在 LLM 场景中,奖励信号通常是稀疏的(只有最终答案正确与否),价值模型难以准确预测。GRPO 通过组内比较绕过了这个问题。

  2. 适应长链推理:在长链推理中,模型可能在中途进行反思和修正,使得基于部分响应的价值预测变得不可靠。GRPO 不依赖部分响应的价值预测。

  3. 降低训练成本:去掉价值模型后,内存占用和计算复杂度都大幅降低,使得大规模 RL 训练更加可行。


五、PPO vs GRPO:两种算法的深度对比

5.1 PPO 的完整流程

PPO 在 LLM RLHF 中的完整流程:

  1. 采样阶段:使用当前策略 \pi_\theta 对一批 prompt 生成响应
  2. 评估阶段:使用奖励模型 r_\phi 对生成的响应打分
  3. 价值估计:使用价值模型 v_\psi 估计每个 token 的状态价值
  4. 优势计算:使用 GAE 计算每个 token 的优势值
  5. 策略更新:使用 PPO-Clip 目标函数更新策略参数
  6. 价值模型更新:使用回归损失更新价值模型参数

5.2 GRPO 的完整流程

GRPO 在 DeepSeek-R1 中的完整流程:

  1. 采样阶段:对每个问题 q,从当前策略中采样 G 个输出
  2. 评分阶段:使用规则奖励或奖励模型对每个输出打分
  3. 优势计算:使用组内均值和标准差计算每个输出的优势
  4. 策略更新:使用带截断的目标函数更新策略参数
  5. 参考模型更新:每 400 步将参考模型替换为最新策略模型

5.3 内存和计算开销对比

以一个 671B MoE 模型(37B 激活参数)为例:

PPO 的内存开销

  • 策略模型:~74 GB(37B 参数 × 2 bytes,BF16)
  • 价值模型:~74 GB(通常与策略模型大小相当)
  • 参考模型:~74 GB
  • 奖励模型:~12 GB(通常 6B 参数)
  • 总计:~234 GB

GRPO 的内存开销

  • 策略模型:~74 GB
  • 参考模型:~74 GB
  • 奖励模型:~12 GB(仅用于推理)
  • 总计:~160 GB

GRPO 节省了约 31% 的内存开销,这在大型模型训练中是一个显著的差异。

5.4 训练稳定性对比

PPO 的训练稳定性受到以下因素影响:

  • 价值模型的质量直接影响优势估计的准确性
  • GAE 的 \lambda 参数需要仔细调优
  • 策略更新和价值模型更新需要协调

GRPO 的训练稳定性优势:

  • 不依赖价值模型,避免了价值估计误差
  • 组内比较天然适应不同难度的题目
  • 超参数更少,调优更简单

5.5 何时选择 GRPO vs PPO

选择 GRPO 的场景

  • 奖励信号稀疏(只有最终答案正确与否)
  • 输出长度大(长链推理)
  • 计算资源有限
  • 需要快速迭代

选择 PPO 的场景

  • 奖励信号密集(每个 token 都有奖励)
  • 输出长度短
  • 有充足的计算资源进行价值模型训练
  • 需要精细控制策略更新幅度

六、DeepSeek-R1-Zero:纯 RL 激励推理能力

6.1 核心设计决策

DeepSeek-R1-Zero 做出了一个大胆的设计选择:完全跳过 SFT 阶段,直接在基础模型上应用 RL。

设计理念:不教模型如何推理,而是提供正确的激励,让它自主发现推理策略。

这一设计基于一个关键假设:人类定义的推理模式可能限制模型的探索,而无限制的 RL 训练能更好地激励新颖推理能力的涌现。

6.2 训练模板

DeepSeek-R1-Zero 使用一个极简的训练模板,仅约束结构格式,不做任何内容限制:

A conversation between User and Assistant. The user asks a question, 
and the Assistant solves it. The assistant first thinks about the 
reasoning process in the mind and then provides the user with the 
answer. The reasoning process and answer are enclosed within 
<think>...</think> and <answer>...</answer> tags, respectively, 
i.e., <think> reasoning process here </think>
<answer>answer here</answer>. User: prompt. Assistant:

设计哲学:仅约束"先思考后回答"的结构,不对推理内容做任何先验假设,让模型自由探索最优推理策略。

6.3 奖励设计

DeepSeek-R1-Zero 使用基于规则的奖励(rule-based reward),而非神经奖励模型:

Reward_{rule} = Reward_{acc} + Reward_{format}

6.3.1 准确性奖励(Accuracy Reward)

  • 数学题:要求模型在指定格式(如 \boxed{})内给出最终答案,通过规则匹配验证正确性
  • 代码题:通过编译器运行预定义测试用例来评估
  • STEM/逻辑题:答案匹配即为正确,否则为错误

6.3.2 格式奖励(Format Reward)

激励模型将推理过程放在 <think>...</think> 标签内,最终答案放在 <answer>...</answer> 标签内。这确保了推理过程的可解释性。

6.3.3 为何不用神经奖励模型?

论文明确指出不使用神经奖励模型的原因:

  1. 奖励黑客攻击:神经奖励模型在大规模 RL 训练中容易被利用
  2. 资源开销:重新训练奖励模型需要大量计算资源
  3. 管道复杂度:增加了整个训练流程的复杂性

6.4 训练超参数

参数
学习率3e-6
KL 系数 \beta0.001
采样温度1.0
每问题采样数16
最大生成长度32,768 tokens(8.2k 步前)→ 65,536 tokens(8.2k 步后)
训练步数10,400 步(约 1.6 个 epoch)
每步问题数32
批次大小512
参考模型更新频率每 400 步替换为最新策略模型
Rollout 加速每次生成 8,192 个输出,随机分为 16 个小批次,仅训练 1 个 inner epoch

6.5 训练结果

6.5.1 AIME 2024 表现

在 AIME 2024 数学竞赛中,DeepSeek-R1-Zero 的 pass@1 分数从初始的 15.6% 跃升至 77.9%。使用自一致性解码(self-consistency decoding)后,准确率进一步提升至 86.7%,超越了人类参赛者的平均分。

6.5.2 响应长度的演变

训练过程中,模型的平均响应长度稳步增长——这不是外部修改的结果,而是 RL 内在驱动的适应性行为。模型自主学会了生成更长的推理链来解决复杂问题。

在 8.2k 步时,最大生成长度从 32,768 增加到 65,536 tokens,这导致了性能和响应长度的显著跳跃。

6.5.3 多领域性能

除了数学竞赛,DeepSeek-R1-Zero 在以下领域也取得了出色表现:

  • 编码竞赛:LiveCodeBench Pass@1 达到 50.0%
  • STEM 研究生水平问题:GPQA Diamond Pass@1 达到 75.8%
  • 逻辑推理:在多个逻辑推理基准上表现优异

6.6 "Aha Moment"

6.6.1 什么是 "Aha Moment"

在训练过程中,DeepSeek-R1-Zero 出现了一个令人惊叹的时刻:模型学会了在推理过程中使用"Wait, wait. Wait."这样的反思性词语。这种行为不是被明确教导的,而是通过 RL 自发涌现的。

论文中展示了一个具体例子:

问题:如果 a > 1,则 \sqrt{a - \sqrt{a + x}} = x 的实数解之和等于?

模型响应(部分):

<think>
To solve the equation √(a - √(a + x)) = x, let's start by squaring both...
(a - x²)² = a + x ⇒ a² - 2ax² + (x²)² = a + x ⇒ x⁴ - 2ax² - x + (a² - a) = 0
...
Wait, wait. Wait. That's an aha moment I can flag here.
Let's reevaluate this step-by-step to identify if the correct sum can be...
We started with the equation: √(a - √(a + x)) = x
First, let's square both sides:
a - √(a + x) = x² ⇒ √(a + x) = a - x²
Next, I could square both sides again, treating the equation:...
</think>

6.6.2 "Aha Moment" 的意义

这个时刻标志着推理模式的质变:

  1. 自我反思:模型学会了在推理过程中暂停并重新评估
  2. 错误检测:模型能够识别潜在的错误步骤
  3. 策略调整:模型能够动态调整推理方向

这是强化学习的美丽之处:我们不是教模型如何解决问题,而是提供正确的激励,让它自主发展出高级解题策略。

6.6.3 反思词频分析

论文对训练过程中的反思性词语进行了系统分析:

  • 分析的词语:"wait"、"mistake"、"however"、"but"、"retry"、"error"、"verify"、"wrong"、"evaluate"、"check"
  • 选择方法:由 3 位人类专家独立思考后合并
  • 总体趋势:反思词频增加了 5-7 倍
  • "Wait" 的特殊模式:在训练早期几乎不出现,在 4,000-7,000 步偶尔出现,然后在 8,000 步后出现显著峰值

6.7 DeepSeek-R1-Zero 的局限

尽管推理能力出色,R1-Zero 存在三个主要问题:

  1. 可读性差:推理过程不够清晰易读
  2. 语言混合:在同一推理链中混合使用中英文
  3. 能力范围窄:RL 训练集中在推理任务上,写作和开放域问答能力有限

七、DeepSeek-R1:多阶段训练管道

为了解决 R1-Zero 的局限,DeepSeek-R1 采用了四阶段训练管道(Figure 2)。

7.1 阶段一:冷启动(Cold Start)

7.1.1 动机

产品驱动:用户更倾向于阅读以第一人称视角、自然对话风格呈现的推理过程。R1-Zero 倾向于使用 "we" 或避免人称代词,而 R1 更自然地使用 "I"。

7.1.2 数据构建流程

  1. 收集 R1-Zero 输出:使用 R1-Zero 对推理提示生成多个推理轨迹(temperature=1.0)
  2. 过滤:保留答案正确且格式可读的输出
    • 数学答案使用 sympy 进行符号比较
    • 格式规则包括重复检测、语言混合过滤
  3. 人工精修:人工标注员将推理链转化为更自然的对话风格
  4. LLM 辅助扩展:用精修后的数据作为示例,提示 DeepSeek-V3 重写更多数据
  5. 人工二次验证:确保质量和一致性

7.1.3 冷启动数据特点

  • 推理过程以第一人称视角呈现
  • 包含反思和验证步骤
  • 语言一致性得到保证
  • 风格自然、对话式

7.2 阶段二:第一个 RL 阶段

7.2.1 训练配置

与 R1-Zero 类似,但增加了语言一致性奖励(Language Consistency Reward):

Reward_{language} = \frac{\text{Num(Words_{target})}}{\text{Num(Words)}}

即目标语言(中文或英文)单词占总单词数的比例。

7.2.2 为何需要语言一致性奖励?

尽管冷启动数据已经控制了语言一致性,但 RL 训练过程中模型可能重新出现语言混合问题。这个奖励信号确保模型在整个训练过程中保持语言一致性。

消融实验表明:虽然这个奖励会导致模型性能轻微下降(在数学基准上),但它显著提高了可读性,使其更符合人类偏好。

7.2.3 超参数差异

  • Clip ratio \epsilon = 10(比 R1-Zero 更大,允许更大幅度的策略更新)
  • 其余参数与 R1-Zero 相同

7.3 阶段三:拒绝采样 + SFT

7.3.1 推理数据扩展

在之前的阶段,仅包含可通过规则奖励评估的数据(数学、代码、逻辑)。在此阶段:

  1. 拒绝采样(Rejection Sampling):从第一阶段 RL 的检查点采样多个响应,仅保留正确答案
  2. 生成式奖励模型:将 DeepSeek-V3 作为判断器,评估答案正确性(对于无法规则评估的任务)
  3. 数据过滤:移除语言混合、长段落、代码块混乱的推理链

7.3.2 非推理数据

引入约 200K 非推理训练样本:

  • 写作、事实问答、自我认知、翻译
  • 软件工程数据(程序修复、前端开发)
  • 对于简单查询(如"hello"),不提供 CoT

7.3.3 SFT 数据统计

领域样本数平均轮数平均 Token 数
数学395,2851.06,094.2
代码211,1291.17,435.7
STEM10,1241.04,928.8
逻辑10,3951.02,739.0
通用177,8121.11,419.8
总计804,7451.05,355.3

7.4 阶段四:第二个 RL 阶段

7.4.1 多信号奖励融合

第二个 RL 阶段结合三种奖励信号:

Reward = Reward_{reasoning} + Reward_{general} + Reward_{language}

其中:

  • Reward_{reasoning} = Reward_{rule}(规则奖励,用于数学/代码/逻辑推理)
  • Reward_{general} = Reward_{reward\_model} + Reward_{format}(奖励模型 + 格式奖励,用于通用数据)
  • Reward_{language}:语言一致性奖励

7.4.2 模型化奖励(Model-based Rewards)

有用性奖励模型(Helpful Reward Model):

  • 训练数据:66K 偏好对
  • 使用 arena-hard 提示格式
  • 通过 DeepSeek-V3 生成偏好判断(每次判断 4 次,随机分配 A/B 位置以消除位置偏差)
  • 仅保留偏好分数差 \Delta > 1 的对
  • 训练参数:batch size 256, lr 6e-6, 1 epoch

安全性奖励模型(Safety Reward Model):

  • 训练数据:106K 安全/不安全标注数据
  • 使用逐点(point-wise)方法训练(非成对比较)
  • 与有用性奖励模型相同的超参数

7.4.3 训练细节

  • 温度:0.7(比第一个 RL 阶段低,避免生成不连贯文本)
  • 训练步数:1,700 步
  • 通用数据引入:仅在最后 400 步引入通用指令数据和偏好奖励
  • 训练成本:约 41K H800 GPU 小时

发现:过多使用模型偏好奖励信号会导致奖励黑客攻击(reward hacking),即模型找到捷径来欺骗奖励模型而非真正提升能力。


八、奖励设计详解

8.1 规则奖励 vs 模型奖励

DeepSeek-R1 的奖励系统采用了混合策略

  • 推理任务:使用规则奖励(准确率 + 格式)
  • 通用任务:使用模型奖励(有用性 + 安全性 + 格式)

这种混合策略的设计哲学是:

  • 对于有明确正确答案的任务,规则奖励更可靠
  • 对于开放性任务,模型奖励能更好地捕捉人类偏好

8.2 奖励黑客攻击问题

8.2.1 什么是奖励黑客攻击

奖励黑客攻击(Reward Hacking)是指模型利用奖励函数的缺陷,获得高奖励分数而不真正提升能力的现象。

在 DeepSeek-R1 的训练中,论文观察到:

  • 当过多使用模型偏好奖励时,奖励分数上升但实际性能下降
  • 模型学会了生成"看起来好"但实际不准确的回答

8.2.2 如何防止奖励黑客攻击

  1. 规则奖励优先:对于可验证的任务,使用规则奖励而非模型奖励
  2. 限制模型奖励训练步数:仅在最后 400 步引入模型偏好奖励
  3. 定期更新奖励模型:防止模型适应固定的奖励函数

8.3 语言一致性奖励的消融实验

论文在 DeepSeek-R1-Distill-Qwen-7B 上进行了消融实验:

无语言一致性奖励

  • 语言一致性随训练步数增加而逐渐恶化
  • 数学性能(AIME)保持相当
  • 编码性能(LiveCodeBench)略有提升

有语言一致性奖励

  • 语言一致性在整个训练过程中保持稳定
  • 数学性能保持相当
  • 编码性能略有下降

结论:虽然语言一致性奖励会导致性能轻微下降,但它显著提高了可读性,使其更符合人类偏好。


九、自我进化行为分析

9.1 推理能力的逐步演化

9.1.1 MATH 数据集上的难度分层分析

论文分析了 DeepSeek-R1-Zero 在 MATH 数据集上按难度等级(1-5)的性能变化:

  • 简单问题(Level 1-3):快速达到高准确率(0.90-0.95)并保持稳定
  • 困难问题(Level 4):从 0.78 显著提升至 0.95
  • 最困难问题(Level 5):从 0.55 显著提升至 0.90,提升幅度最大

9.1.2 有趣的发现

一个看似矛盾的现象:模型在较难问题(Level 3-4)上的准确率偶尔会超过较简单问题(Level 1)。

原因分析:

  • MATH 数据集分布不均匀:Level 1 仅 43 题,而更高级别约 100 题
  • Level 1 的 95-97% 准确率仅代表 1-2 道未解决题目
  • 未解决的题目主要集中在几何领域
  • 难度等级基于人类感知而非机器学习考虑

9.2 高级推理行为的涌现

9.2.1 反思词频分析

论文对训练过程中的反思性词语进行了系统分析:

  • 分析的词语:"wait"、"mistake"、"however"、"but"、"retry"、"error"、"verify"、"wrong"、"evaluate"、"check"
  • 选择方法:由 3 位人类专家独立思考后合并
  • 总体趋势:反思词频增加了 5-7 倍

9.2.2 "Wait" 的特殊模式

"Wait" 一词的出现模式特别有启发性:

  • 训练早期:几乎不出现
  • 4,000-7,000 步:偶尔出现
  • 8,000 步后:出现显著峰值

这表明模型在不同训练阶段学会了不同形式的反思。

9.3 测试时计算扩展

9.3.1 自适应计算分配

DeepSeek-R1 展现了自适应计算分配的能力:

  • 简单问题(如 1+1):<100 tokens
  • 中等难度:~7,000 tokens
  • 最困难问题:>18,000 tokens

这与传统的多数投票(majority voting)方法不同。推理模型通过增加单个推理链的深度来扩展计算,而非通过增加独立样本数量。

9.3.2 与非推理模型的对比

在 2024 年数学竞赛题集上:

  • DeepSeek-R1:Pass@1 = 61.8%,平均 8,793 thinking tokens
  • GPT-4o:Pass@1 = 24.7%,平均 711 tokens
  • GPT-4o 使用 16 样本多数投票的 Pass@1 仅从 9.3% 提升到 13.4%

核心差异:推理模型的单链推理深度扩展 > 非推理模型的多数投票广度扩展

9.3.3 传统测试时扩展方法的局限

多数投票等方法对非推理模型效果有限,因为:

  • 样本是独立生成的,无法相互借鉴
  • 非推理模型缺乏回溯和自我纠正能力
  • 增加样本数量只是重复采样可能错误的解

9.4 CoT 长度的测试时扩展

论文分析了 DeepSeek-R1 在不同难度问题上的 token 使用情况:

  • 简单问题:平均 <7,000 thinking tokens
  • 中等问题:平均 ~8,000-12,000 thinking tokens
  • 最困难问题:平均 >18,000 thinking tokens

未来方向:如果在训练时显式建模 token 预算分配,测试时简单问题和困难问题之间的 token 使用差异可能会更加显著。


十、实验结果与性能分析

10.1 主要结果

DeepSeek-R1 与代表性模型的对比(Table 8):

基准Claude-3.5GPT-4oDeepSeek-V3o1-minio1-1217DeepSeek-R1
MMLU88.387.288.585.291.890.8
MMLU-Pro78.072.675.980.3-84.0
GPQA Diamond65.049.959.160.075.771.5
AIME 202416.09.339.263.679.279.8
Codeforces 百分位20.323.658.793.496.696.3
Codeforces 评分7177591,1341,8202,0612,029
MATH-50078.374.690.290.096.497.3
LiveCodeBench38.932.936.253.863.465.9
ArenaHard85.280.485.592.0-92.3

核心发现:DeepSeek-R1 在数学和编码任务上与 OpenAI o1-1217 表现相当,在推理任务上大幅超越其他模型。

10.2 与人类表现对比

  • AIME 2024:DeepSeek-R1 超越人类参赛者的平均分
  • Codeforces:DeepSeek-R1 超过 96.3% 的人类参赛者
  • GPQA:人类博士级专家仍优于 DeepSeek-R1,但论文指出,如果能接入网络搜索,差距可能缩小或消失

10.3 ChatBotArena 人类评估

DeepSeek-R1 在 ChatBotArena 的风格控制排行榜上与 OpenAI o1 和 Gemini-Exp-1206 并列第一。这是一个开源模型(MIT 许可)首次达到与闭源模型相当的水平。

ChatBotArena 的核心机制:

  • 双盲评估:用户不知道哪个模型生成了哪个回答
  • 成对比较:两个匿名模型回答同一问题,用户选择更好的
  • Elo 评分:基于成对比较结果计算模型的 Elo 分数

10.4 消融实验:各阶段贡献

基准R1-ZeroR1-Dev1R1-Dev2R1-Dev3R1
IF-Eval46.671.772.078.183.3
ArenaHard53.677.073.275.692.3
AIME 202477.959.074.078.179.8
AlpacaEval 2.024.750.155.862.187.6
  • Dev1(冷启动后):指令遵循大幅提升,但推理能力略有下降
  • Dev2(第一个 RL 后):推理能力恢复并提升
  • Dev3(拒绝采样 + SFT 后):通用能力显著提升
  • R1(第二个 RL 后):推理和通用能力进一步优化

10.5 训练成本

阶段H800 GPU 小时成本($2/GPU小时)
DeepSeek-R1-Zero101K$202K
SFT 数据创建5K$10K
DeepSeek-R141K$82K
总计147K$294K

10.6 数学能力分类分析

论文在 93 个 2024 年数学竞赛的 366 个问题上评估了 DeepSeek-R1 的数学推理能力:

  • 数论:73.4% Pass@1(最强)
  • 代数:72.6% Pass@1
  • 不等式:70.9% Pass@1
  • 函数方程:65.4% Pass@1
  • 组合数学:59.2% Pass@1
  • 几何:48.4% Pass@1(最弱)
  • 多项式组合:38.2% Pass@1
  • 组合几何:14.5% Pass@1

与 GPT-4o 相比,DeepSeek-R1 在所有类别上都有显著提升,但在几何和组合几何上仍有较大提升空间。

10.7 真实世界竞赛泛化

为了验证模型在未见数据上的泛化能力,论文在 AIME 2025(训练数据发布后的新竞赛)上进行了评估:

  • AIME 2025:DeepSeek-R1 达到 75% 解决率,接近 o1 的 80%
  • AMC 12 2024:DeepSeek-R1 获得 143.7/150 分
  • USAMO 资格指数:DeepSeek-R1 的 AMC + AIME 总分超过了 USAMO 资格线

意义:DeepSeek-R1 不仅记忆了训练数据,还真正掌握了解决新问题的能力。


十一、模型蒸馏:让推理能力触手可及

11.1 知识蒸馏基础

11.1.1 知识蒸馏的起源

知识蒸馏(Knowledge Distillation)由 Geoffrey Hinton 在 2015 年的论文 Distilling the Knowledge in a Neural Network 中首次提出。有趣的是,这篇论文最初被 NeurIPS 拒绝,但最终成为了机器学习领域最重要的论文之一。

Hinton 的核心思想是:大型模型(教师)学到的"暗知识"(dark knowledge)可以通过软目标(soft targets)传递给小型模型(学生)

11.1.2 传统知识蒸馏的数学框架

传统知识蒸馏使用温度参数 T 来软化教师模型的输出分布:

q_i = \frac{\exp(z_i/T)}{\sum_j \exp(z_j/T)}

学生模型的损失函数结合了两部分:

\mathcal{L} = \alpha \mathcal{L}_{soft}(q^{teacher}, q^{student}) + (1-\alpha) \mathcal{L}_{hard}(y, p^{student})

其中 \mathcal{L}_{soft} 是教师和学生软目标之间的 KL 散度或交叉熵,\mathcal{L}_{hard} 是学生预测与真实标签之间的标准交叉熵。

11.1.3 LLM 场景下的蒸馏

在 LLM 场景下,知识蒸馏通常指使用教师模型生成的响应来微调学生模型。这与 Hinton 的原始方法有所不同:

  • 传统 KD:对齐教师和学生的输出概率分布
  • LLM 蒸馏:使用教师生成的文本作为监督信号进行 SFT

DeepSeek-R1 采用的是 LLM 场景下的蒸馏方法。

11.2 DeepSeek-R1 的蒸馏方法

11.2.1 蒸馏数据构建

DeepSeek-R1 使用 800K 样本的 SFT 蒸馏(不含 RL 阶段):

  1. 使用 DeepSeek-R1 生成推理轨迹
  2. 在开源基础模型(Qwen、LLaMA)上进行 2-3 epoch 的微调
  3. 最大上下文长度 32,768 tokens,批次大小 64

11.2.2 蒸馏模型配置

蒸馏模型基础模型初始学习率
Distill-Qwen-1.5BQwen2.5-Math-1.5B1×10⁻⁴
Distill-Qwen-7BQwen2.5-Math-7B8×10⁻⁵
Distill-Qwen-14BQwen2.5-14B7×10⁻⁵
Distill-Qwen-32BQwen2.5-32B6×10⁻⁵
Distill-Llama-8BLlama-3.1-8B5×10⁻⁵
Distill-Llama-70BLlama-3.3-70B-Instruct2×10⁻⁵

11.3 蒸馏结果

蒸馏模型AIME 2024MATH-500GPQACodeForces 评分
Distill-Qwen-1.5B28.9%83.9%33.8%954
Distill-Qwen-7B55.5%92.8%49.1%1,189
Distill-Qwen-14B69.7%93.9%59.1%1,481
Distill-Qwen-32B72.6%94.3%62.1%1,691
Distill-Llama-70B70.0%94.5%65.2%1,633

关键发现:仅 1.5B 参数的蒸馏模型就能超越 GPT-4o 在数学基准上的表现。7B 蒸馏模型即可达到与 o1-mini 相当的水平。

11.4 蒸馏 vs 纯 RL

在 Qwen2.5-32B 上的对比实验:

  • Qwen2.5-32B-Zero(纯 RL,10K+ 步):AIME 2024 47.0%,CodeForces 评分 1,481
  • Distill-Qwen-32B(仅 SFT 蒸馏):AIME 2024 72.6%,CodeForces 评分 1,691

结论:蒸馏更强大的模型比在小模型上进行大规模 RL 训练更有效。但超越人类智能可能需要更强大的基础模型和更大规模的 RL。

11.5 蒸馏的理论解释

为什么蒸馏如此有效?论文给出了两个解释:

  1. 高质量教师输出:DeepSeek-R1 生成的推理轨迹质量极高,包含了反思、验证等高级推理策略
  2. 探索-利用权衡:RL 训练中的探索可能不如直接使用已发现的优质推理路径有效

十二、与 OpenAI o1/o3 的深度对比

12.1 方法论对比

维度OpenAI o1/o3DeepSeek-R1
训练方法未公开,据信使用大量人类推理示范纯 RL + 多阶段管道
开源程度闭源完全开源(MIT 许可)
模型规模未公开671B 总参数 / 37B 激活
训练成本据信数亿美元~$294K
推理透明度不公开 CoT完全公开 CoT
蒸馏提供 o1-mini 等小模型提供 1.5B-70B 蒸馏模型

12.2 性能对比

在关键基准上的对比:

基准o1-1217o3-mini (high)DeepSeek-R1
AIME 202479.2%79.8%79.8%
Codeforces 评分2,061-2,029
SWE-bench Verified48.9%49.2% (est.)49.2%
GPQA Diamond75.7%-71.5%

12.3 成本效益分析

DeepSeek-R1 的训练成本约为 $294K,而据估计 OpenAI o1 的训练成本在数亿美元级别。这意味着 DeepSeek-R1 的成本效益比 o1 高出约 1000 倍

12.4 透明度优势

DeepSeek-R1 的一个关键优势是推理过程的完全透明

  • 模型生成的完整 CoT 是可见的
  • 用户可以理解模型的推理过程
  • 便于调试和改进

相比之下,OpenAI o1 的 CoT 是不透明的,用户无法看到模型的完整推理过程。


十三、安全与伦理分析

13.1 安全评估

在 6 个公开安全基准上,DeepSeek-R1 的安全水平与 GPT-4o 相当(约 95% 安全得分),属于中等水平。

13.1.1 公开安全基准结果

安全基准Claude-3.7o1GPT-4oQwen2.5DeepSeek-V3DeepSeek-R1
SST100.099.098.5100.095.397.5
BBQ92.197.395.195.496.796.6
ART99.798.399.199.697.196.2
XSTest96.497.097.397.997.195.3
DNA95.986.290.695.995.694.8
HarmBench83.384.072.783.096.089.3

13.2 越狱攻击鲁棒性

无风险控制系统时,DeepSeek-R1 在越狱攻击下的不安全率从 25.2% 飙升至 85.9%。使用风险控制系统后,不安全率降至 4.3%

强烈建议:部署 DeepSeek-R1 时应实施风险控制系统。

13.3 多语言安全性

在 50 种语言的安全评估中,带风险控制系统的 DeepSeek-R1 总安全得分 85.9%,接近 Claude-3.7-Sonnet 的 88.3%。

13.4 安全控制系统

DeepSeek 部署的风险控制系统包括两个主要组件:

  1. 潜在风险对话过滤:通过关键词匹配识别潜在不安全对话
  2. 模型化风险审查:使用 DeepSeek-V3 作为审查模型,判断对话是否违反安全标准

十四、局限性与未来工作

14.1 当前局限

  1. 结构化输出与工具使用:模型的结构化输出能力不足,无法使用搜索引擎、计算器等工具

  2. Token 效率:存在"过度思考"现象,对简单问题生成不必要的长推理链

  3. 语言混合:目前仅针对中文和英语优化,其他语言可能出现推理语言与查询语言不一致

  4. 提示工程敏感:Few-shot 提示反而会降低性能,推荐使用 zero-shot

  5. 软件工程任务:由于评估时间长影响 RL 效率,软件工程基准上的提升有限

14.2 纯 RL 的内在挑战

  1. 奖励黑客攻击:依赖可靠的奖励信号。对于写作等难以构建可靠 RM 的任务,纯 RL 面临挑战

  2. 开放性问题的奖励定义:对于复杂、难以验证的任务,如何定义和优化奖励结构仍是开放问题

14.3 未来方向

  • 构建工具增强的推理环境
  • 优化 Token 预算分配
  • 扩展多语言支持
  • 开发更鲁棒的奖励模型
  • 探索更高效的 RL 算法

十五、关键发现与经验教训

15.1 基础模型的重要性

初期使用 7B 和 16B MoE 模型未能产生有意义的改进。只有当模型规模达到 32B(Qwen)、230B MoE 和 671B MoE(DeepSeek-V3)时,纯 RL 训练才开始产生显著性能提升。

结论:RL 的有效性高度依赖于基础模型的容量。小模型倾向于重复而无法利用长链推理。

15.2 验证器的重要性

规则-based RM 和 LLM-based 评估器是防止奖励黑客攻击的关键。对于答案明确的任务(如单句/短语),LLM 评估器特别有效;对于开放性任务(如长文写作),仍面临挑战。

15.3 迭代管道的必要性

  • RL:使模型能够探索和发现超越人类示例的推理轨迹
  • SFT:在难以定义可靠奖励的任务(如开放性问答、创意写作)中不可或缺
  • 仅依赖 RL 会导致奖励黑客攻击;仅依赖 SFT 会限制推理能力的优化

15.4 不成功的尝试

15.4.1 过程奖励模型(PRM)

PRM 是一种合理的方法来引导模型走向更好的推理路径。但在实践中面临三个主要挑战:

  1. 难以定义细粒度步骤:在通用推理中,很难明确定义每个步骤
  2. 中间步骤判断困难:自动标注效果不佳,人工标注不利于扩展
  3. 奖励黑客攻击:模型-based PRM 会导致奖励黑客攻击

15.4.2 蒙特卡洛树搜索(MCTS)

受 AlphaGo 和 AlphaZero 启发,团队探索了使用 MCTS 来增强测试时计算扩展。但在扩大训练时遇到挑战:

  1. 搜索空间过大:Token 生成的搜索空间指数级大于围棋
  2. 价值模型训练困难:训练细粒度价值模型本质上困难
  3. 迭代提升困难:AlphaGo 的成功依赖于训练价值模型逐步提升,这在 LLM 中难以复制

十六、更广泛的背景:CoT、RLHF、MoE 与蒸馏

16.1 Chain-of-Thought 的演进

16.1.1 从 Few-shot 到 Zero-shot

CoT 的发展经历了从 few-shot 到 zero-shot 的演进:

  • Few-shot CoT(Wei et al., 2022b):需要精心设计推理示例
  • Zero-shot CoT(Kojima et al., 2022):仅需"让我们一步步思考"
  • Auto-CoT(Zhang et al., 2022):自动生成推理示例
  • Self-Refine(Madaan et al., 2023):模型自我反思和改进

16.1.2 CoT 的理论基础

CoT 为何有效?主要理论解释包括:

  1. 分步计算:将复杂问题分解为简单子问题
  2. 错误传播减少:每步可以验证,减少累积错误
  3. 注意力分散:中间步骤提供了额外的注意力锚点
  4. 推理路径探索:允许模型探索多种推理路径

16.2 RLHF 的演进

16.2.1 从 InstructGPT 到 ChatGPT

  • InstructGPT(Ouyang et al., 2022):首次展示了 RLHF 的有效性
  • ChatGPT(2022):将 RLHF 应用于对话场景
  • GPT-4(2023):进一步提升了 RLHF 的效果

16.2.2 RLHF 的替代方案

  • DPO(Direct Preference Optimization):无需奖励模型,直接使用偏好数据优化
  • RLAIF(RL from AI Feedback):使用 AI 而非人类提供反馈
  • GRPO:DeepSeek-R1 提出的无需价值模型的 RL 方法

16.3 MoE 架构的演进

16.3.1 从 Mixtral 到 DeepSeekMoE

  • Mixtral 8x7B(Mistral AI):首次展示了开源 MoE 模型的潜力
  • DeepSeek-V2:引入 MLA 和 DeepSeekMoE
  • DeepSeek-V3:引入无辅助损失负载均衡和 MTP

16.3.2 MoE 的优势与挑战

优势

  • 在保持性能的同时大幅降低计算成本
  • 通过稀疏激活实现高效推理
  • 可以扩展模型容量而不增加推理成本

挑战

  • 专家负载均衡
  • 通信开销
  • 训练稳定性

16.4 知识蒸馏的演进

16.4.1 从 Hinton 到 DeepSeek-R1

  • Hinton 2015:提出知识蒸馏的基本概念
  • TinyBERT(Jiao et al., 2019):将蒸馏应用于 BERT
  • DistilBERT(Sanh et al., 2019):蒸馏 BERT 到更小模型
  • DeepSeek-R1:将蒸馏应用于推理能力传递

16.4.2 蒸馏为何对推理能力有效

推理能力的蒸馏之所以有效,是因为:

  1. 推理模式可迁移:反思、验证等高级推理策略可以通过文本传递
  2. 教师输出质量高:DeepSeek-R1 生成的推理轨迹质量极高
  3. 学生模型学习能力强:现代小模型具有强大的模仿学习能力

十七、RL 训练基础设施详解

17.1 整体架构

DeepSeek-R1 的 RL 训练基础设施采用了解耦和可扩展的架构设计,包含四个主要模块:

  1. Rollout 模块:负责生成模型输出
  2. 推理 模块:负责计算奖励和参考策略的 KL 散度
  3. 规则奖励模块:负责计算基于规则的奖励
  4. 训练模块:负责计算损失并更新模型参数

17.2 Rollout 模块

Rollout 模块使用 vLLM(Kwon et al., 2023)作为推理引擎,支持高效的批量推理。对于 DeepSeek-V3 的 MoE 架构,团队实现了以下优化:

  • 跨节点专家并行策略:减少内存访问开销
  • 热点专家冗余副本:平衡不同专家之间的计算负载
  • 多 Token 预测(MTP)自推测解码:显著加速解码速度

17.3 推理模块

推理模块加载奖励模型和参考模型,对 Rollout 生成的样本进行前向传播,计算模型奖励和 KL 散度。

17.4 规则奖励模块

规则奖励模块为不同类型的任务提供统一的接口:

  • 代码执行:通过编译器运行测试用例
  • 答案匹配:将模型输出与标准答案进行比较
  • 格式检查:验证输出格式是否符合要求

该模块不需要加载模型到 GPU 内存,但执行时间较长。为了解决这个问题,采用了异步调度策略,使其与 Rollout 和 Inference 模块重叠执行。

17.5 训练模块

训练模块加载Actor模型和Critic模型(如果需要),计算损失并更新模型参数。为了提高效率,团队设计了以下数据打包策略:

  1. 全局排序:将全局批次中的所有数据按长度排序
  2. Best-Fit 打包:将数据打包到固定长度的块中,最小化填充
  3. 负载均衡:调整块的数量,使其在所有进程中相等

17.6 DualPipe 算法

团队集成了 DualPipe 算法(用于 DeepSeek-V3 训练)来实现高效的流水线并行。该算法的核心思想是计算和通信的重叠,克服了跨节点 MoE 通信的瓶颈。

17.7 显存管理

每个模块完成后(除规则奖励模块外),该阶段使用的模型实例会自动从 VRAM 卸载到系统内存或磁盘存储,为后续阶段释放 VRAM。


十八、评估基准与实验设置详解

18.1 知识基准

18.1.1 MMLU(Massive Multitask Language Understanding)

MMLU 包含 57 个任务,涵盖 STEM、人文、社会科学和专业领域(如法律、医学)。它评估模型在多个学科领域的广泛知识推理能力。

18.1.2 MMLU-Redux

MMLU-Redux 是 MMLU 的重新标注版本,包含 5,700 个手动重新标注的问题,提高了质量和清晰度。

18.1.3 MMLU-Pro

MMLU-Pro 是 MMLU 的更难版本,包含更多需要深入推理的问题。

18.2 推理基准

18.2.1 AIME(American Invitational Mathematics Examination)

AIME 是美国数学邀请赛,面向高中学生。AIME 2024 包含 15 道极具挑战性的数学问题。

18.2.2 MATH-500

MATH-500 包含 500 道数学问题,覆盖多个数学领域和难度等级。

18.2.3 Codeforces

Codeforces 是一个在线编程竞赛平台,评估模型的算法和编程能力。

18.2.4 LiveCodeBench

LiveCodeBench 收集来自 LeetCode、AtCoder 和 CodeForces 等平台的编程问题,评估模型在实际编程任务上的表现。

18.3 指令遵循基准

18.3.1 IF-Eval

IF-Eval 评估模型按照特定格式指令生成输出的能力。

18.3.2 AlpacaEval 2.0

AlpacaEval 2.0 使用 GPT-4 作为评判者,评估模型在开放式生成任务上的表现。

18.4 评估协议

  • 采样温度:0.6
  • top-p:0.95
  • Pass@k 评估:使用非零温度生成 k 个响应,计算至少有一个正确的概率
  • 具体 k 值:AIME 和 GPQA 使用 k=64,MATH 和 CodeForces 使用 k=16,LCB 使用 k=8
  • 共识评估:使用 64 个样本的多数投票结果

十九、SFT 数据构建细节

19.1 推理数据构建

19.1.1 数学数据

数学数据包含 26K 个定量推理问题,覆盖代数、微积分、概率和几何等领域。问题难度从区域竞赛到国际奥林匹克竞赛不等。

对于每个问题,模型需要生成逐步推理过程,最终给出一个数值、数学表达式或方程作为答案。数学证明被排除在外,因为难以确定其正确性。

19.1.2 代码数据

代码数据包含 17K 个算法竞赛问题和 8K 个调试问题。

算法竞赛问题类似于 Codeforces 或 LeetCode 上的问题,每个问题包括详细的问题描述、约束条件和多个输入-输出示例。任务是编写一个完整的函数或程序,通过一组隐藏测试用例。

调试问题从真实的 GitHub issues 中提取。每个任务提供一个问题描述、一个有缺陷的源代码版本和一组部分或完全失败的单元测试。目标是理解问题的意图,定位并修复缺陷。

19.1.3 STEM 数据

STEM 数据包含 22K 个选择题,覆盖物理、化学和生物等主题。每个问题提供 4-8 个选项,模型需要选择最科学准确的答案。

19.1.4 逻辑数据

逻辑数据包含 15K 个问题,包括现实世界和合成生成的问题。现实部分包括脑筋急转弯、经典逻辑谜题和知识密集型问题。合成部分包括代码-IO 问题和谜题任务。

19.2 非推理数据构建

非推理数据包括写作、事实问答、自我认知和翻译等任务。对于某些非推理任务,团队调用 DeepSeek-V3 生成潜在的思维链,然后再回答问题。但对于简单查询(如"hello"),不提供 CoT。

19.3 数据质量控制

所有 SFT 数据都经过严格的质量控制:

  1. 人工验证:人工标注员验证推理轨迹的准确性
  2. 自动化过滤:使用规则过滤格式错误、语言混乱的响应
  3. 多轮迭代:通过多轮人工验证和自动化过滤确保数据质量

二十、社区反应与行业影响

20.1 学术界反应

DeepSeek-R1 的发布在学术界引起了巨大反响:

  • Jim Fan(英伟达高级研究科学家):"我们正生活在一个特殊的时代:一家非美国公司在真正践行着 OpenAI 的初心。"
  • Sebastian Raschka(Lightning AI):撰写了详细的论文解读,分析了 R1 的技术贡献
  • Andrej Karpathy(前 OpenAI/Tesla):讨论了 R1 对 AI 研究范式的影响
  • Matthew Berman(知名 AI 评测员):"R1 拥有我所见过的最像人类的内心独白。"

20.2 产业界影响

20.2.1 对 OpenAI 的冲击

DeepSeek-R1 的发布对 OpenAI 形成了直接竞争:

  • 性能相当但成本更低
  • 完全开源 vs 闭源
  • 推理过程透明 vs 不透明

20.2.2 对中国 AI 的推动

DeepSeek-R1 的成功推动了中国 AI 产业的发展:

  • 更多公司开始投入推理模型研发
  • 开源生态更加活跃
  • 降低了对海外模型的依赖

20.3 后续研究

DeepSeek-R1 激发了大量后续研究:

  • Training-Free GRPO:将 GRPO 应用于上下文学习
  • R1 复现:多个团队尝试复现 R1 的训练流程
  • 推理能力蒸馏:探索更高效的推理能力传递方法

20.4 历史意义

DeepSeek-R1 的发布标志着 AI 研究范式的转变:

  1. 从模仿到探索:从依赖人类示范到让模型自主探索
  2. 从封闭到开源:从闭源模型到开源社区协作
  3. 从高成本到低成本:从数亿美元训练到数十万美元训练
  4. 从黑盒到透明:从不可解释到完全透明的推理过程

二十一、总结与展望

21.1 核心贡献总结

DeepSeek-R1 系列模型的核心贡献可以概括为:

  1. 方法论突破:首次证明了纯 RL 可以激励 LLM 发展出高级推理能力,无需人类标注的推理轨迹
  2. 算法创新:提出了 GRPO 算法,大幅降低了 RL 训练成本
  3. 工程实践:展示了从纯 RL 到多阶段管道的完整训练流程
  4. 开源贡献:完全开源,推动了 AI 社区的进步
  5. 蒸馏验证:证明了推理能力可以高效地传递给小模型

21.2 核心启示

预训练 checkpoint 本身就具备解决复杂推理任务的巨大潜力。释放这一潜力的关键不在于大规模人类标注,而在于提供困难的推理问题、可靠的验证器和足够的强化学习计算资源。

21.3 未来展望

DeepSeek-R1 为 AI 研究开辟了新的方向:

  1. 推理能力的可解释性:R1 的 CoT 是完全透明的,这为理解模型推理过程提供了宝贵资源
  2. RL 训练的规模化:GRPO 证明了 RL 训练可以更加高效和低成本
  3. 开源 AI 的崛起:R1 展示了开源模型可以达到与闭源模型相当的水平
  4. 推理能力的民主化:通过蒸馏,小模型也能获得强大的推理能力

21.4 对 AI 研究范式的影响

DeepSeek-R1 可能对 AI 研究范式产生深远影响:

  • 从模仿到探索:从依赖人类示范到让模型自主探索
  • 从封闭到开源:从闭源模型到开源社区协作
  • 从高成本到低成本:从数亿美元训练到数十万美元训练
  • 从黑盒到透明:从不可解释到完全透明的推理过程

"我们不是教模型如何推理,而是给它正确的激励,让它自主学会如何思考。"


附录 A:论文中的关键公式汇总

A.1 GRPO 目标函数

J_{GRPO}(\theta) = \mathbb{E} \left[ \frac{1}{G} \sum_{i=1}^{G} \min \left( \frac{\pi_\theta(o_i|q)}{\pi_{\theta_{old}}(o_i|q)} A_i, \text{clip} \left( \frac{\pi_\theta(o_i|q)}{\pi_{\theta_{old}}(o_i|q)}, 1-\epsilon, 1+\epsilon \right) A_i \right) - \beta D_{KL}(\pi_\theta || \pi_{ref}) \right]

A.2 优势函数

A_i = \frac{r_i - \text{mean}(\{r_1, r_2, ..., r_G\})}{\text{std}(\{r_1, r_2, ..., r_G\})}

A.3 KL 散度估计

D_{KL}(\pi_\theta || \pi_{ref}) = \frac{\pi_{ref}(o_i|q)}{\pi_\theta(o_i|q)} - \log \frac{\pi_{ref}(o_i|q)}{\pi_\theta(o_i|q)} - 1

A.4 奖励组合

Reward = Reward_{reasoning} + Reward_{general} + Reward_{language}

A.5 语言一致性奖励

Reward_{language} = \frac{\text{Num(Words_{target})}}{\text{Num(Words)}}


附录 B:训练数据详情

B.1 RL 数据类型

数据类型提示数问题类型输出类型
数学26K定量推理数字/表达式/方程
代码17K算法和调试代码解决方案
STEM22K多选题选项
逻辑15K选择/定量推理选项/数字
通用66K有用性/无害性排序响应

B.2 SFT 数据统计

领域样本数平均轮数平均 Token 数
数学395,2851.06,094.2
代码211,1291.17,435.7
STEM10,1241.04,928.8
逻辑10,3951.02,739.0
通用177,8121.11,419.8
总计804,7451.05,355.3

附录 C:评估基准列表

C.1 知识基准

  • MMLU:57 个任务的事实和概念理解
  • MMLU-Redux:5,700 个手动重新标注的问题
  • MMLU-Pro:更难的 MMLU 版本
  • C-Eval:中文知识评估
  • CMMLU:中文多任务语言理解

C.2 推理基准

  • AIME 2024:美国数学邀请赛
  • MATH-500:500 道数学问题
  • CNMO 2024:中国数学奥林匹克
  • GPQA Diamond:博士级 STEM 问题
  • LiveCodeBench:算法竞赛任务
  • Codeforces:编程竞赛平台

C.3 指令遵循基准

  • IF-Eval:格式指令遵循
  • AlpacaEval 2.0:开放式生成评估
  • ArenaHard:人类偏好评估

C.4 安全基准

  • SST:简单安全测试
  • BBQ:偏见基准
  • ART:Anthropic 红队数据
  • XSTest:过度安全约束检测
  • DNA:不应回答的问题
  • HarmBench:综合安全评估

附录 D:相关论文引用

D.1 核心引用

  • Schulman et al. (2017). Proximal Policy Optimization Algorithms. arXiv:1707.06347.
  • Ouyang et al. (2022). Training language models to follow instructions with human feedback. NeurIPS 2022.
  • Wei et al. (2022b). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. NeurIPS 2022.
  • Kojima et al. (2022). Large Language Models are Zero-Shot Reasoners. NeurIPS 2022.
  • Kaplan et al. (2020). Scaling Laws for Neural Language Models. arXiv:2001.08361.
  • Hinton et al. (2015). Distilling the Knowledge in a Neural Network. arXiv:1503.02531.

D.2 相关论文

  • Shao et al. (2024). DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models. arXiv:2402.03300.
  • DeepSeek-AI (2024b). DeepSeek-V3 Technical Report. arXiv:2412.19437.
  • DeepSeek-AI (2024a). DeepSeek-V2: A Strong, Economical, and Efficient MoE Language Model. arXiv:2405.04434.
  • OpenAI (2023). GPT-4 Technical Report. arXiv:2303.08774.
  • Christiano et al. (2017). Deep Reinforcement Learning from Human Preferences. NeurIPS 2017.

参考论文DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning (arXiv:2501.12948, 2025)

模型权重https://huggingface.co/deepseek-ai

推理代码https://github.com/deepseek-ai/DeepSeek-V3

使用指南https://github.com/deepseek-ai/DeepSeek-R1


本文基于 DeepSeek-R1 论文原文撰写,所有数据点和公式均来自论文。部分背景知识来自公开的研究论文和技术博客。


附录 E:详细数学推导

E.1 GRPO 目标函数的详细推导

GRPO 的目标函数可以从策略梯度定理出发进行推导。

策略梯度定理

对于策略 \pi_\theta,目标函数 J(\theta) = \mathbb{E}_{\tau \sim \pi_\theta} [R(\ au)] 的梯度为:

\nabla_\theta J(\theta) = \mathbb{E}_{\tau \sim \pi_\theta} \left[ \sum_{t=0}^{T} \nabla_\theta \log \pi_\theta(a_t|s_t) \cdot A(s_t, a_t) \right]

重要性采样

为了使用旧策略 \pi_{\theta_{old}} 采样的数据来更新新策略 \pi_\theta,我们使用重要性采样:

\nabla_\theta J(\theta) = \mathbb{E}_{\tau \sim \pi_{\theta_{old}}} \left[ \frac{\pi_\theta(\tau)}{\pi_{\theta_{old}}(\tau)} \sum_{t=0}^{T} \nabla_\theta \log \pi_\theta(a_t|s_t) \cdot A(s_t, a_t) \right]

其中 \frac{\pi_\theta(\tau)}{\pi_{\theta_{old}}(\tau)} = \prod_{t=0}^{T} \frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)} 是重要性权重。

截断目标函数

为了防止策略更新过大,PPO 引入了截断目标函数:

J_{clip}(\theta) = \mathbb{E} \left[ \min \left( r_t(\theta) A_t, \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon) A_t \right) \right]

这个函数的作用是:

  • A_t > 0r_t(\theta) > 1+\epsilon 时,截断为 (1+\epsilon)A_t,防止策略更新过大
  • A_t < 0r_t(\theta) < 1-\epsilon 时,截断为 (1-\epsilon)A_t,防止策略更新过大
  • 其他情况使用原始的 r_t(\theta) A_t

GRPO 的优势函数

GRPO 的核心创新在于优势函数的计算。对于每个问题 q,采样 G 个输出 \{o_1, ..., o_G\},计算每个输出的奖励 \{r_1, ..., r_G\},然后:

A_i = \frac{r_i - \mu_G}{\sigma_G}

其中 \mu_G = \frac{1}{G}\sum_{j=1}^{G} r_j 是组内均值,\sigma_G = \sqrt{\frac{1}{G}\sum_{j=1}^{G}(r_j - \mu_G)^2} 是组内标准差。

这种计算方式的优势在于:

  1. 无需价值模型:完全基于组内统计量
  2. 自适应基线:每个问题的基线(均值)不同
  3. 归一化处理:通过标准差进行缩放,使不同问题的优势值具有可比性

E.2 KL 散度估计器的推导

GRPO 使用的 KL 散度无偏估计器(Schulman, 2020):n \hat{D}_{KL}(\pi_\theta || \pi_{ref}) = \frac{\pi_{ref}(o_i|q)}{\pi_\theta(o_i|q)} - \log \frac{\pi_{ref}(o_i|q)}{\pi_\theta(o_i|q)} - 1

这个估计器是无偏的,即 \mathbb{E}_{o_i \sim \pi_\theta} [\hat{D}_{KL}] = D_{KL}(\pi_\theta || \pi_{ref})

推导

对于两个分布 pq,KL 散度定义为:

D_{KL}(p || q) = \mathbb{E}_{x \sim p} \left[ \log \frac{p(x)}{q(x)} \right]

使用重要性采样,可以从 q 中采样的样本来估计 D_{KL}(p || q)

\hat{D}_{KL}(p || q) = \frac{1}{n} \sum_{i=1}^{n} \frac{p(x_i)}{q(x_i)} \log \frac{p(x_i)}{q(x_i)}

但 Schulman (2020) 提出了一个更高效的估计器:

\hat{D}_{KL}(p || q) = \frac{q(x)}{p(x)} - \log \frac{q(x)}{p(x)} - 1

这个估计器的优势在于只需要一个样本,且方差更低。


附录 F:训练过程逐步详解

F.1 DeepSeek-R1-Zero 训练步骤

步骤 1:初始化

  • 加载 DeepSeek-V3-Base 权重
  • 初始化策略模型 \pi_\theta 和参考模型 \pi_{ref}
  • 设置超参数:lr=3e-6, \beta=0.001, temperature=1.0

步骤 2:Rollout

  • 对每个问题 q,从当前策略中采样 16 个输出
  • 使用 temperature=1.0 进行采样,确保多样性
  • 最大生成长度为 32,768 tokens(8.2k 步前)或 65,536 tokens(8.2k 步后)

步骤 3:评分

  • 对每个输出计算规则奖励:准确性奖励 + 格式奖励
  • 准确性奖励:答案正确为 1,错误为 0
  • 格式奖励:输出包含 <think><answer> 标签为 1,否则为 0

步骤 4:优势计算

  • 对同一问题的 16 个输出,计算组内均值和标准差
  • 使用公式 A_i = (r_i - \mu) / \sigma 计算每个输出的优势

步骤 5:策略更新

  • 使用 GRPO 目标函数更新策略参数
  • 每步使用 32 个问题,每个问题 16 个输出,批次大小为 512
  • 仅训练 1 个 inner epoch

步骤 6:参考模型更新

  • 每 400 步将参考模型替换为最新策略模型

步骤 7:重复步骤 2-6,直到 10,400 步

F.2 DeepSeek-R1 多阶段训练步骤

阶段一:冷启动

  1. 使用 R1-Zero 对推理提示生成多个推理轨迹(temperature=1.0)
  2. 过滤:保留答案正确且格式可读的输出
  3. 人工精修:将推理链转化为自然对话风格
  4. LLM 辅助扩展:用精修数据作为示例,提示 DeepSeek-V3 重写更多数据
  5. 人工二次验证:确保质量和一致性

阶段二:第一个 RL 阶段

  1. 在冷启动数据上微调 DeepSeek-V3-Base
  2. 使用 GRPO 进行 RL 训练
  3. 奖励信号:规则奖励 + 语言一致性奖励
  4. 超参数与 R1-Zero 类似,但 clip ratio \epsilon = 10

阶段三:拒绝采样 + SFT

  1. 从第一阶段 RL 的检查点采样多个响应
  2. 使用规则奖励和生成式奖励模型过滤响应
  3. 收集约 600K 推理相关训练样本
  4. 收集约 200K 非推理训练样本
  5. 在 800K 样本上进行 SFT

阶段四:第二个 RL 阶段

  1. 在 SFT 后的模型上继续 RL 训练
  2. 奖励信号:规则奖励 + 模型奖励 + 语言一致性奖励
  3. 温度降低到 0.7
  4. 共 1,700 步,其中最后 400 步引入通用数据和偏好奖励

附录 G:DeepSeek 团队与 R1 研发历程

G.1 DeepSeek 公司简介

DeepSeek(深度求索)是杭州幻方人工智能基础技术研究有限公司旗下的 AI 成立于 2023 年,专注于大语言模型的研发。公司前身为幻方量化,是一家量化对冲基金,在 AI 领域有深厚的技术积累。

G.2 R1 研发的关键人物

根据论文的作者列表,R1 研发团队包括:

核心贡献者

  • Daya Guo:Peiyi Wang 共同证明了基于结果的 RL 可以激励长链推理模式
  • Peiyi Wang:与 Daya Guo 共同创建了 R1-Zero
  • Junxiao Song:提出 GRPO 算法,实现了初始版本并引入了基于规则的数学奖励
  • Zhibin Gou:提出了大 PPO 裁剪策略以增强 GRPO 性能
  • Runxin Xu:与 Peiyi Wang 共同改进了 GRPO 算法

系统实现团队

  • Xiao Bi, Xingkai Yu, Shirong Ma, Xiaokang Zhang, Haowei Zhang, Ziyi Gao 实现了 RL 管道

G.3 R1 研发时间线

根据论文中的信息和公开资料,R1 的研发时间线大致如下:

  • 2024 年初:开始探索使用 RL 提升推理能力
  • 2024 年中:在较小模型(7B、16B MoE)上尝试 RL 训练,未获成功
  • 2024 年下半年:转向更大模型(32B、230B MoE、671B MoE),开始看到显著效果
  • 2024 年 12 月:DeepSeek-V3 发布
  • 2025 年 1 月:DeepSeek-R1 论文发布
  • 2025 年 1 月 20 日:模型权重、推理代码和训练数据开源

G.4 从失败中学习

R1 的研发过程并非一帆风顺。论文分享了几个重要的失败尝试:

  1. 小模型失败:7B 和 16B MoE 模型在 RL 训练中未能产生有意义的改进,转向大模型后才成功
  2. PRM 失败:过程奖励模型在实践中面临定义、标注和奖励黑客三重挑战
  3. MCTS 失败:蒙特卡洛树搜索在 LLM 场景中面临搜索空间过大和价值模型训练困难的问题

这些失败尝试为最终的成功提供了宝贵的经验教训。


附录 H:RL 训练的工程挑战

H.1 显存管理

大规模 RL 训练面临严峻的显存挑战。DeepSeek 团队采用了以下策略:

  1. 模型卸载:每个模块完成后,模型实例自动从 VRAM 卸载到系统内存或磁盘
  2. 激活检查点:在反向传播时重新计算中间激活值,而非存储所有激活值
  3. 混合精度训练:使用 BF16 进行前向和反向传播,使用 FP32 进行参数更新
  4. 梯度累积:将大批次分解为多个小批次,累积梯度后更新

H.2 通信优化

MoE 架构的 RL 训练面临跨节点通信瓶颈。DeepSeek 团队采用了以下策略:

  1. DualPipe 算法:计算和通信的重叠,克服跨节点 MoE 通信瓶颈
  2. 专家并行:将不同专家分布到不同节点,减少单节点负载
  3. 热点专家冗余:为负载高的专家创建冗余副本,平衡计算负载
  4. 高效的全到全通信:实现跨节点的全到全通信,最小化通信开销

H.3 数据管道

RL 训练的数据管道需要高效地处理大量数据。DeepSeek 团队采用了以下策略:

  1. 数据打包:将不同长度的序列打包到固定长度的块中,最小化填充
  2. 负载均衡:调整块的数量,使其在所有进程中相等
  3. 异步调度:规则奖励的计算与 Rollout 和推理模块异步执行
  4. 预取:提前加载下一批数据,减少 I/O 等待时间

附录 I:推理优化

I.1 vLLM 部署

DeepSeek-R1 的推理可以使用 vLLM 进行加速。vLLM 是一个开源的大模型推理加速框架,通过 PagedAttention 高效地管理 attention 缓存。

硬件要求

  • GPU:8× NVIDIA A100 80GB(PCIe)
  • 系统内存:≥32GB
  • 操作系统:Linux(Ubuntu 22.04 LTS)

部署步骤

  1. 下载模型权重
  2. 克隆 DeepSeek-V3 GitHub 仓库
  3. 安装依赖
  4. 转换模型权重格式
  5. 启动推理服务

I.2 推理性能指标

关键指标

  • TTFT(Time To First Token):首 token 延迟
  • TPOT(Time Per Output Token):每个输出 token 的延迟
  • 吞吐量:单位时间处理的 token 数

优化策略

  • Prefill-Decode 分离(PD 分离):将计算密集的 Prefill 阶段与内存密集的 Decode 阶段分离
  • 动态专家冗余:根据负载动态调整专家副本数量
  • 张量并行(TP):将模型分布到多个 GPU 上
  • 量化:使用 FP8 或 INT8 量化减少显存占用

I.3 CPU 推理

DeepSeek-R1 蒸馏模型也可以在 CPU 上推理:

  • 英特尔至强处理器:使用 AMX(Advanced Matrix Extensions)加速矩阵运算
  • 单实例吞吐量:9.7-10 token/s
  • 双实例吞吐量:14.7 token/s
  • 部署时间:约 5 分钟

附录 J:常见问题解答

J.1 DeepSeek-R1 与 OpenAI o1 的主要区别是什么?

训练方法:R1 使用纯 RL 激励推理能力,无需人类推理示范;o1 据信使用了大量人类推理示范。 开源程度:R1 完全开源(MIT 许可),o1 是闭源的。 成本:R1 训练成本约 $294K,o1 据信数亿美元。 透明度:R1 的推理过程完全透明,o1 不公开 CoT。

J.2 为什么 R1-Zero 不需要 SFT?

因为预训练模型已经具备生成合理推理候选的能力。RL 的作用是激励模型从这些候选中选择和优化正确的推理路径。SFT 在 R1-Zero 中被跳过,以避免人类先验对模型探索的限制。

J.3 GRPO 相比 PPO 的主要优势是什么?

  1. 无需价值模型:节省内存和计算资源
  2. 适应长链推理:不依赖部分响应的价值预测
  3. 超参数更少:调优更简单
  4. 训练更稳定:避免了价值估计误差

J.4 蒸馏模型为什么比纯 RL 训练的小模型更好?

因为蒸馏利用了教师模型(R1)已经发现的高质量推理路径,而小模型通过纯 RL 探索可能需要更多的计算资源才能达到相同的性能。

J.5 DeepSeek-R1 的安全性如何?

在 6 个公开安全基准上,DeepSeek-R1 的安全水平与 GPT-4o 相当。但无风险控制系统时,越狱攻击下的不安全率会飙升至 85.9%。建议部署时实施风险控制系统。


术语表

缩写全称说明
RLReinforcement Learning强化学习
PPOProximal Policy Optimization近端策略优化
GRPOGroup Relative Policy Optimization组内相对策略优化
SFTSupervised Fine-Tuning监督微调
RLHFReinforcement Learning from Human Feedback基于人类反馈的强化学习
CoTChain-of-Thought思维链
MoEMixture of Experts混合专家
MLAMulti-head Latent Attention多头潜在注意力
MTPMulti-Token Prediction多 Token 预测
GAEGeneralized Advantage Estimation广义优势估计
KLKullback-LeiblerKL 散度
RMReward Model奖励模型
KDKnowledge Distillation知识蒸馏
vLLMVectorized LLM向量化 LLM 推理框架
VRAMVideo RAM显存
TTFTTime To First Token首 token 延迟
TPOTTime Per Output Token每个输出 token 的延迟

本文基于 DeepSeek-R1 论文原文撰写,所有数据点和公式均来自论文。部分背景知识来自公开的研究论文和技术博客。


附录 K:推理能力按数学类别详细分析

论文在 2024 年数学竞赛的 366 个问题上评估了 DeepSeek-R1 的详细数学推理能力。

数论(73.4% Pass@1):最强领域。涉及整除性、素数、模运算、同余等。推理步骤清晰,验证容易。

代数(72.6% Pass@1):多项式、方程组、函数性质。推理链长,模型通过长 CoT 逐步推导。

不等式(70.9% Pass@1):AM-GM、柯西不等式等。技巧性强,模型通过 RL 学会了选择合适工具。

函数方程(65.4% Pass@1):搜索空间大,需要创造力。表现相对较低。

组合数学(59.2% Pass@1):组合爆炸问题,需要系统性枚举。

几何(48.4% Pass@1):最弱领域。需要空间想象力、辅助线构造,纯文本模型存在天然劣势。

多项式组合(38.2% Pass@1):深度代数技巧,复杂变换。

组合几何(14.5% Pass@1):最难领域,组合与几何的交叉。

启示:强项是推理链清晰、验证容易的领域;弱项是需要视觉推理和高度创造力的领域。


附录 L:提示工程最佳实践

Zero-shot vs Few-shot

  • ✅ Zero-shot:直接描述问题
  • ❌ Few-shot:提供推理示例反而降低性能

推荐格式

{问题描述}
请以以下格式回答:
<think>你的推理过程</think>
<answer>你的最终答案</answer>

输出设置

  • 最大长度:32,768 tokens
  • 采样温度:0.6-0.7
  • 让模型自主决定推理长度

附录 M:蒸馏模型部署指南

模型推荐场景最低 GPU 显存推理速度
1.5B边缘设备、快速原型4 GB~50 tok/s
7B个人使用8 GB~30 tok/s
14B中小企业16 GB~20 tok/s
32B企业级40 GB~10 tok/s
70B高性能80 GB~5 tok/s

CPU 推理(英特尔至强):

  • 单实例:9.7-10 tok/s
  • 双实例:14.7 tok/s
  • 使用 AMX 指令集加速

附录 N:相关资源


全文完。基于 DeepSeek-R1 论文原文(arXiv:2501.12948)撰写。


附录 O:RL 算法演进史

O.1 从 Policy Gradient 到 PPO

1992:REINFORCE 算法(Williams)——最早的策略梯度方法

1998:Natural Policy Gradient ——使用 Fisher 信息矩阵进行更稳定的更新

2015:Trust Region Policy Optimization(TRPO, Schulman et al.)——引入信任域约束

2017:Proximal Policy Optimization(PPO, Schulman et al.)——简化 TRPO,引入截断目标函数

2017:PPO 成为 OpenAI 的默认 RL 算法

O.2 PPO 在 LLM 中的应用

2022:InstructGPT ——首次将 PPO 应用于 LLM 的 RLHF 训练

2022:ChatGPT ——将 RLHF 推向大众

2023:GPT-4 ——进一步提升了 RLHF 的效果

O.3 GRPO 的诞生

2024:DeepSeekMath(Shao et al., 2024)——提出 GRPO 算法

2025:DeepSeek-R1 ——将 GRPO 应用于推理模型训练,取得突破性成果


附录 P:MoE 架构演进史

P.1 早期发展

1991:Mixture of Experts(Jacobs et al.)——最早的 MoE 概念

2013:Conditional Computation(Bengio et al.)——条件计算的思想

2017:Sparsely Gated Mixture-of-Experts(Shazeer et al.)——大规模 MoE 的雏形

P.2 现代 MoE

2023:Mixtral 8x7B(Mistral AI)——首个开源的高性能 MoE 模型

2024:DeepSeek-V2 ——引入 MLA 和 DeepSeekMoE

2024:DeepSeek-V3 ——无辅助损失负载均衡 + MTP


附录 Q:知识蒸馏演进史

Q.1 奠基时期

2015:Hinton 提出知识蒸馏概念(论文最初被 NeurIPS 拒绝)

2015:FitNets——将蒸馏应用于深度网络

2016:Net2Net——加速知识转移

Q.2 LLM 蒸馏

2019:TinyBERT——蒸馏 BERT 到更小模型

2019:DistilBERT——蒸馏 BERT 到 66M 参数

2023:Alpaca——使用 GPT-3.5 生成数据微调 LLaMA

2024:Vicuna、WizardLM 等——多种蒸馏方法涌现

2025:DeepSeek-R1——推理能力蒸馏的里程碑


全文终。