DeepSeek-R1:通过强化学习激励LLMs的推理能力
摘要
我们介绍了第一代推理模型DeepSeek-R1-Zero和DeepSeek-R1。DeepSeek-R1-Zero是一个通过大规模强化学习(RL)训练的模型,没有进行监督微调(SFT)作为初步步骤,展示了显著的推理能力。通过RL,DeepSeek-R1-Zero自然涌现出许多强大且有趣的推理行为。然而,它也面临诸如可读性差和语言混合等挑战。为了解决这些问题并进一步提升推理性能,我们引入了DeepSeek-R1,它在RL之前结合了多阶段训练和冷启动数据。DeepSeek-R1在推理任务上的表现与OpenAI-o1-1217相当。为了支持研究社区,我们开源了DeepSeek-R1-Zero、DeepSeek-R1以及基于Qwen和Llama的六个密集模型(1.5B、7B、8B、14B、32B、70B)。
1 引言
近年来,大型语言模型(LLMs)经历了快速的迭代和演进(Anthropic, 2024; Google, 2024; OpenAI),逐步缩小了与人工通用智能(AGI)的差距。最近,后训练已成为完整训练流程中的重要组成部分。它被证明可以提高推理任务的准确性,与社会价值观对齐,并适应用户偏好,同时相对于预训练所需的计算资源相对较少。在推理能力方面,OpenAI的o1系列模型首次引入了推理时扩展,通过增加思维链(Chain-of-Thought, CoT)推理过程的长度。这种方法在数学、编码和科学推理等各种推理任务中取得了显著改进。然而,有效的测试时扩展仍然是研究社区面临的一个开放性问题。之前的一些工作探索了各种方法,包括基于过程的奖励模型(Lightman等,2023;Uesato等,2022;Wang等,2023)、强化学习(Kumar等,2024)以及蒙特卡洛树搜索和束搜索等搜索算法(Feng等,2024;Trinh等,2024;Xin等,2024)。然而,这些方法尚未达到与OpenAI的o1系列模型相当的通用推理性能。
在本文中,我们迈出了通过纯强化学习(RL)提升语言模型推理能力的第一步。我们的目标是探索LLMs在没有监督数据的情况下发展推理能力的潜力,重点关注它们通过纯RL过程的自我进化。具体来说,我们使用DeepSeek-V3-Base作为基础模型,并采用GRPO(Shao等,2024)作为RL框架,以提高模型在推理中的表现。在训练过程中,DeepSeek-R1-Zero自然涌现出许多强大且有趣的推理行为。经过数千次RL步骤后,DeepSeek-R1-Zero在推理基准测试中表现出色。例如,AIME 2024的pass@1分数从15.6%提高到71.0%,通过多数投票后,分数进一步提升至86.7%,与OpenAI-o1-0912的表现相当。
然而,DeepSeek-R1-Zero面临诸如可读性差和语言混合等挑战。为了解决这些问题并进一步提升推理性能,我们引入了DeepSeek-R1,它结合了少量冷启动数据和多阶段训练流程。具体来说,我们首先收集数千条冷启动数据来微调DeepSeek-V3-Base模型。随后,我们像DeepSeek-R1-Zero一样进行推理导向的RL。在RL过程接近收敛时,我们通过对RLCheckpoint进行拒绝采样来创建新的SFT数据,并结合来自DeepSeek-V3的写作、事实问答和自我认知等领域的监督数据,然后重新训练DeepSeek-V3-Base模型。在使用新数据进行微调后,Checkpoint会经历额外的RL过程,考虑所有场景的提示。经过这些步骤后,我们得到了一个称为DeepSeek-R1的Checkpoint,其表现与OpenAI-o1-1217相当。
我们进一步探索了从DeepSeek-R1到更小密集模型的蒸馏。使用Qwen2.5-32B作为基础模型,直接蒸馏DeepSeek-R1的表现优于在其上应用RL。这表明较大基础模型发现的推理模式对于提升推理能力至关重要。我们开源了蒸馏后的Qwen和Llama系列。值得注意的是,我们蒸馏的14B模型大幅超越了当前最先进的开源模型QwQ-32B-Preview,而蒸馏的32B和70B模型在密集模型的推理基准测试中创下了新纪录。
1.1 贡献
后训练:在基础模型上进行大规模强化学习
我们直接在基础模型上应用强化学习(RL),而不依赖监督微调(SFT)作为初步步骤。这种方法使模型能够探索思维链(CoT)来解决复杂问题,从而开发出DeepSeek-R1-Zero。DeepSeek-R1-Zero展示了自我验证、反思和生成长CoT等能力,标志着研究社区的一个重要里程碑。值得注意的是,这是首个验证LLMs的推理能力可以完全通过RL激励而不需要SFT的开放研究。这一突破为未来在这一领域的发展铺平了道路。
我们介绍了开发DeepSeek-R1的流程。该流程包含两个RL阶段,旨在发现改进的推理模式并与人类偏好对齐,以及两个SFT阶段,作为模型推理和非推理能力的种子。我们相信该流程将通过创建更好的模型使行业受益。
蒸馏:小型模型也可以很强大
我们证明了较大模型的推理模式可以蒸馏到较小的模型中,从而获得比通过RL在小模型上发现的推理模式更好的性能。开源的DeepSeek-R1及其API将使研究社区在未来能够蒸馏出更好的小型模型。
使用DeepSeek-R1生成的推理数据,我们对研究社区广泛使用的几个密集模型进行了微调。评估结果表明,蒸馏后的小型密集模型在基准测试中表现优异。DeepSeek-R1-Distill-Qwen-7B在AIME 2024上达到了55.5%,超越了QwQ-32B-Preview。此外,DeepSeek-R1-Distill-Qwen-32B在AIME 2024上得分为72.6%,在MATH-500上得分为94.3%,在LiveCodeBench上得分为57.2%。这些结果显著优于之前的开源模型,并与o1-mini相当。我们向社区开源了基于Qwen2.5和Llama3系列的1.5B、7B、8B、14B、32B和70B
Checkpoint。
评估结果总结
推理任务:(1)DeepSeek-R1在AIME 2024上获得了79.8%的Pass@1分数,略微超过了OpenAI-o1-1217。在MATH-500上,它获得了令人印象深刻的97.3%的分数,与OpenAI-o1-1217相当,并显著优于其他模型。(2)在与编码相关的任务中,DeepSeek-R1在代码竞赛任务中表现出专家水平,在Codeforces上获得了2,029的Elo评分,超过了96.3%的人类参赛者。在工程相关任务中,DeepSeek-R1的表现略优于DeepSeek-V3,这可能有助于开发人员在现实世界任务中的应用。
知识:在MMLU、MMLU-Pro和GPQA Diamond等基准测试中,DeepSeek-R1取得了出色的成绩,显著优于DeepSeek-V3,在MMLU上得分为90.8%,在MMLU-Pro上得分为84.0%,在GPQA Diamond上得分为71.5%。虽然在这些基准测试中其表现略低于OpenAI-o1-1217,但DeepSeek-R1超越了其他闭源模型,展示了其在教育任务中的竞争优势。在事实基准测试SimpleQA上,DeepSeek-R1优于DeepSeek-V3,展示了其处理基于事实的查询的能力。类似的趋势是OpenAI-o1在该基准测试上优于4o。
其他:DeepSeek-R1在广泛的任务中也表现出色,包括创意写作、一般问答、编辑、摘要等。它在AlpacaEval 2.0上获得了87.6%的长度控制胜率,在ArenaHard上获得了92.3%的胜率,展示了其在智能处理非考试导向查询方面的强大能力。此外,DeepSeek-R1在需要长上下文理解的任务上表现出色,在长上下文基准测试中大幅优于DeepSeek-V3。
2 方法
2.1 概述
之前的工作严重依赖大量监督数据来提升模型性能。在本研究中,我们展示了即使不使用监督微调(SFT)作为冷启动,通过大规模强化学习(RL)也可以显著提高推理能力。此外,结合少量冷启动数据可以进一步提升性能。在接下来的章节中,我们将介绍:
(1)DeepSeek-R1-Zero,它直接将RL应用于基础模型,不使用任何SFT数据;
(2)DeepSeek-R1,它从经过数千条长思维链(CoT)示例微调的Checkpoint开始应用RL;
(3)将DeepSeek-R1的推理能力蒸馏到小型密集模型中。
2.2 DeepSeek-R1-Zero:在基础模型上进行强化学习
强化学习在推理任务中表现出显著的有效性,正如我们之前的工作(Shao等,2024;Wang等,2023)所证明的那样。然而,这些工作严重依赖监督数据,而这些数据的收集非常耗时。在本节中,我们探索了LLMs在没有监督数据的情况下发展推理能力的潜力,重点关注它们通过纯强化学习过程的自我进化。我们首先简要概述我们的强化学习算法,随后展示一些令人兴奋的结果,并希望为社区提供有价值的见解。
2.2.1 强化学习算法
组相对策略优化(GRPO):为了节省RL的训练成本,我们采用了组相对策略优化(GRPO)(Shao等,2024),它放弃了通常与策略模型大小相同的Critic 模型,而是从组分数中估计基线。具体来说,对于每个问题$q$,GRPO从旧策略$\pi_{\theta_{old} }$中采样一组输出${o_{1},o_{2},\cdots,o_{G}}$,然后通过最大化以下目标来优化策略模型$\pi_{\theta}$: $$ \mathcal{J}{GRPO}(\theta)=\mathbb{E}[q\sim P(Q),{o}{i=1}^{G} \sim\pi{\theta_{old} }(O|q)] \frac{1}{G}\sum_{i=1}^{G}\left(\min\left(\frac{\pi_{\theta}(o_{i}|q)}{\pi_{\theta_{old} }(o_{i}|q)}A_{i},\textnormal{clip}\left(\frac{\pi_{\theta}(o_{i}|q)}{\pi_{\theta_{old} }(o_{i}|q)},1-\varepsilon,1+\varepsilon\right)A_{i}\right)-\beta\mathbb{D}{KL}\left(\pi{\theta}||\pi_{ref}\right)\right), $$ $$ \mathbb{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 $$
其中$\varepsilon$和$\beta$是超参数,$A_{i}$是优势,使用组内输出对应的奖励${r_{1},r_{2},\ldots,r_{G}}$计算: $$ A_{i}=\frac{r_{i}-\textnormal{mean}({r_{1},r_{2},\cdots,r_{G}})}{\textnormal{std}({r_{1},r_{2},\cdots,r_{G}})}. $$
Kullback-Leibler 散度
为了衡量同一变量 $x$ 上的两个概率分布之间的差异,数据挖掘文献中广泛使用了一种称为 Kullback-Leibler 散度(简称 KL 散度)的度量方法。这一概念起源于概率论和信息论。
KL 散度与相对熵、信息散度和信息判别密切相关,它是衡量两个概率分布 $p(x)$ 和 $q(x)$ 之间差异的非对称度量。具体来说,$q(x) $ 相对于 $p(x) $ 的 Kullback-Leibler (KL) 散度,记作 $D_{KL}(p(x),q(x)) $,是当使用 $q(x) $ 来近似 $p(x) $ 时所丢失的信息量。
假设 $p(x) $ 和 $q(x) $ 是离散随机变量 $x $ 的两个概率分布。即,$p(x) $ 和 $q(x) $ 的总和为 1,且对于 $X $ 中的任何 $x $,$p(x) > 0 $ 且 $q(x) > 0 $。$D_{KL}(p(x),q(x)) $ 在下面公式中定义。
$$ D_{KL}(p(x)||q(x))=\sum_{x\in X}p(x)\ln\frac{p(x)}{q(x)} $$ KL 散度衡量了当使用基于 $q(x) $ 的编码而不是基于 $p(x) $ 的编码时,编码来自 $p(x) $ 的样本所需的额外比特数的期望值。通常,$p(x) $ 表示数据的“真实”分布、观测值或精确计算的理论分布。而 $q(x) $ 通常表示对 $p(x) $ 的理论、模型、描述或近似。
KL 散度的连续版本为
$$ D_{KL}(p(x)||q(x))=\int_{-\infty}^{\infty}p(x)\ln\frac{p(x)}{q(x)}dx $$ 尽管 KL 散度衡量了两个分布之间的“距离”,但它并不是一个距离度量。这是因为 KL 散度不是度量标准。它不是对称的:从 $p(x) $ 到 $q(x) $ 的 KL 散度通常与从 $q(x) $ 到 $p(x) $ 的 KL 散度不同。此外,它不一定满足三角不等式。然而,$D_{KL}(P||Q) $ 是一个非负的度量。$D_{KL}(P||Q)\geq 0 $ 且 $D_{KL}(P||Q)=0 $ 当且仅当 $P=Q $。
GRPO 中的 KL 散度公式推导
该公式是KL散度(Kullback-Leibler Divergence)在特定上下文中的一种近似或变形表达。以下是其推导逻辑的逐步解释:
步骤 1:标准KL散度的定义
对于两个概率分布 $P$和 $Q $,KL散度的定义为: $$ D_{\text{KL} }(P \parallel Q) = \mathbb{E}{x \sim P} \left[ \log \frac{P(x)}{Q(x)} \right]. $$ 在强化学习策略优化中,若 $\pi{\theta}$和 $\pi_{\text{ref} }$分别表示当前策略和参考策略,KL散度可写为: $$ D_{\text{KL} }(\pi_{\theta} \parallel \pi_{\text{ref} }) = \mathbb{E}{o \sim \pi{\theta} } \left[ \log \frac{\pi_{\theta}(o|q)}{\pi_{\text{ref} }(o|q)} \right]. $$
步骤 2:公式变形分析
GRPO 中的KL散度公式为: $$ \mathbb{D}{\text{KL} } (\pi{\theta} \parallel \pi_{\text{ref} }) = \frac{\pi_{\text{ref} }(o_i|q)}{\pi_{\theta}(o_i|q)} - \log \frac{\pi_{\text{ref} }(o_i|q)}{\pi_{\theta}(o_i|q)} - 1. $$ 令 $r = \frac{\pi_{\text{ref} }(o_i|q)}{\pi_{\theta}(o_i|q)} $,则公式右侧可简化为: $$ (r -1) + \log r. $$
步骤 3:泰勒展开近似
对 $f(r) = (r -1)+ \log r $在 $r=1$处进行二阶泰勒展开: $$ f(r) \approx f(1) + f'(1)(r-1) + \frac{f''(1)}{2}(r-1)^2. $$ 计算导数:
$f(1) = 1 - 0 -1 = 0 $,
$f'(r) = 1 - \frac{1}{r} \implies f'(1) = 0 $,
$f''(r) = \frac{1}{r^2} \implies f''(1) = 1 $.
代入得: $$ f(r) \approx 0 + 0 + \frac{1}{2}(r-1)^2 = \frac{1}{2}(r-1)^2. $$ 这表明当 $r \approx 1$时,GRPO 中的KL散度公式近似为 均方误差,与KL散度的二阶展开 $D_{\text{KL} } \approx \frac{1}{2}(r-1)^2$一致。
步骤 4: 对 $\log r$ 进行泰勒展开
在 $ r = 1 $ 处对 $\log r$ 展开至二阶: $$ \log r \approx (r - 1) - \frac{(r - 1)^2}{2} $$
将泰勒展开结果代入逐样本公式: $$ r - \log r - 1 \approx r - \left( (r - 1) - \frac{(r - 1)^2}{2} \right) - 1 = \frac{(r - 1)^2}{2}. $$ 当 $ r \approx 1 $ 时,$ \frac{(r - 1)^2}{2} $ 是二阶小量,与标准 KL 散度的局部二次近似一致。这表明: $$ \mathbb{D}{KL} (\pi{\theta}||\pi_{ref}) \approx \frac{1}{2} \left( \frac{\pi_{ref} - \pi_{\theta} }{\pi_{\theta} } \right)^2. $$
步骤 5:实际应用背景
该公式常见于 策略优化算法(如GRPO) 中,用于约束策略更新的幅度。例如:
- 避免策略突变:通过限制 $\pi_{\theta}$与 $\pi_{\text{ref} }$的差异,确保训练稳定性。
- 计算简化:直接使用概率比 $r$的显式表达式,避免对数的计算开销。
- 隐式KL约束:公式 $r - \log r - 1$在 $r=1$处取得最小值 0,且随着 $r$偏离 1 单调递增,与KL散度的性质一致。
总结
GRPO 中的 KL 散度公式是通过对标准形式的二阶泰勒展开近似得到的,其核心思想是:
假设策略更新幅度小($ r \approx 1 $),忽略高阶项。
将全局期望转换为逐样本的局部近似,以降低计算复杂度。
通过 $ r - \log r - 1 $ 的形式保留关键的二阶信息,平衡数学合理性与工程效率。
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:Table 1 | Template for DeepSeek-R1-Zero. prompt will be replaced with the specific reasoning question during training.
2.2.2 奖励建模
奖励是训练信号的来源,决定了RL的优化方向。为了训练DeepSeek-R1-Zero,我们采用了基于规则的奖励系统,主要包括两种类型的奖励:
准确性奖励:准确性奖励模型评估响应是否正确。例如,在具有确定性结果的数学问题中,模型需要以指定格式(例如在方框内)提供最终答案,从而能够基于规则可靠地验证正确性。同样,对于LeetCode问题,可以使用编译器根据预定义的测试用例生成反馈。
格式奖励:除了准确性奖励模型外,我们还采用了格式奖励模型,强制模型将其思考过程放在
<think>和</think>标签之间。
我们没有在开发DeepSeek-R1-Zero时应用结果或过程神经奖励模型,因为我们发现神经奖励模型在大规模强化学习过程中可能会受到奖励攻击的影响,并且重新训练奖励模型需要额外的训练资源,这会使整个训练流程复杂化。
2.2.3 训练模板
为了训练DeepSeek-R1-Zero,我们首先设计了一个简单的模板,指导基础模型遵循我们指定的指令。如表1所示,该模板要求DeepSeek-R1-Zero首先生成推理过程,然后提供最终答案。我们有意将约束限制在这种结构格式上,避免任何内容特定的偏见——例如强制反思推理或推广特定的问题解决策略——以确保我们能够准确观察模型在强化学习(RL)过程中的自然进展。
2.2.4 DeepSeek-R1-Zero的性能、自我进化过程和“顿悟时刻”
DeepSeek-R1-Zero的性能:图2展示了DeepSeek-R1-Zero在AIME 2024基准测试中的表现轨迹,贯穿整个强化学习(RL)训练过程。如图所示,随着RL训练的推进,DeepSeek-R1-Zero表现出稳定且一致的性能提升。值得注意的是,AIME 2024的平均pass@1分数显著增加,从最初的15.6%跃升至令人印象深刻的71.0%,达到了与OpenAI-o1-0912相当的水平。这一显著改进突显了我们的RL算法在优化模型性能方面的有效性。
表2提供了DeepSeek-R1-Zero与OpenAI的o1-0912模型在各种推理相关基准测试中的对比分析。研究结果表明,RL使DeepSeek-R1-Zero能够在不需要任何监督微调数据的情况下获得强大的推理能力。这是一个值得注意的成就,因为它强调了模型通过纯RL学习和泛化的能力。此外,通过多数投票的应用,DeepSeek-R1-Zero的性能可以进一步增强。例如,在AIME基准测试中应用多数投票时,DeepSeek-R1-Zero的表现从71.0%提升至86.7%,从而超过了OpenAI-o1-0912的表现。DeepSeek-R1-Zero在有和没有多数投票的情况下都能达到如此有竞争力的表现,突显了其强大的基础能力及其在推理任务中进一步发展的潜力。
DeepSeek-R1-Zero的自我进化过程:DeepSeek-R1-Zero的自我进化过程是一个引人入胜的演示,展示了RL如何推动模型自主提升其推理能力。通过直接从基础模型启动RL,我们可以密切监控模型的进展,而不受监督微调阶段的影响。这种方法清晰地展示了模型如何随着时间的推移而进化,特别是在处理复杂推理任务的能力方面。
如图3所示,DeepSeek-R1-Zero的思考时间在整个训练过程中持续改善。这种改进不是外部调整的结果,而是模型内部的固有发展。DeepSeek-R1-Zero通过利用扩展的测试时计算,自然地获得了解决日益复杂推理任务的能力。这种计算范围从生成数百到数千个推理标记,使模型能够更深入地探索和完善其思维过程。
这种自我进化最显著的一个方面是随着测试时计算的增加,复杂行为的出现。诸如反思——模型重新审视和重新评估其先前步骤——以及探索问题解决的替代方法等行为自发地出现。这些行为不是显式编程的,而是模型与强化学习环境交互的结果。这种自发的发展显著增强了DeepSeek-R1-Zero的推理能力,使其能够更高效、更准确地应对更具挑战性的任务。
DeepSeek-R1-Zero的“顿悟时刻”:在训练DeepSeek-R1-Zero过程中观察到一个特别有趣的现象是“顿悟时刻”的出现。如表3所示,这一时刻发生在模型的中间版本中。在这个阶段,DeepSeek-R1-Zero学会了通过重新评估其初始方法为问题分配更多的思考时间。这种行为不仅证明了模型不断增长的推理能力,也是强化学习如何导致意外和复杂结果的一个引人入胜的例子。
这个时刻不仅是模型的“顿悟时刻”,也是观察其行为的研究人员的“顿悟时刻”。它突显了强化学习的力量和美感:我们不是明确地教模型如何解决问题,而是简单地提供正确的激励,模型就会自主开发出高级的问题解决策略。“顿悟时刻”有力地提醒了RL在解锁人工智能系统新智能水平方面的潜力,为未来更自主和自适应的模型铺平了道路。
Question: If $ a > 1 $, then the sum of the real solutions of $ \sqrt{a - \sqrt{a + x} } = x $ is equal to
Response: <think>
To solve the equation $ \sqrt{a - \sqrt{a + x} } = x $, let’s start by squaring both ...
$$(\sqrt{a - \sqrt{a + x} })^2 = x^2 \implies a - \sqrt{a + x} = x^2.$$
Rearrange to isolate the inner square root term: $$(a - x^2)^2 = a + x \implies a^2 - 2ax^2 + (x^2)^2 = a + x \implies x^4 - 2ax^2 - x + (a^2 - 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:
$$\sqrt{a - \sqrt{a + x} } = x$$
First, let’s square both sides:
$$a - \sqrt{a + x} = x^2 \implies \sqrt{a + x} = a - x^2$$
Next, I could square both sides again, treating the equation:
Table 3 | An interesting “aha moment” of an intermediate version of DeepSeek-R1-Zero. The model learns to rethink using an anthropomorphic tone. This is also an aha moment for us, allowing us to witness the power and beauty of reinforcement learning.
DeepSeek-R1-Zero的缺点:尽管DeepSeek-R1-Zero表现出强大的推理能力,并自主开发出意外且强大的推理行为,但它也面临一些问题。例如,DeepSeek-R1-Zero在可读性差和语言混合等方面存在困难。为了使推理过程更具可读性并与开放社区共享,我们探索了DeepSeek-R1,这是一种利用RL与人类友好的冷启动数据的方法。
2.3 DeepSeek-R1:带冷启动的强化学习
受到DeepSeek-R1-Zero有希望的结果的启发,两个自然的问题出现了:
1)通过结合少量高质量数据作为冷启动,是否可以进一步提高推理性能或加速收敛?
2)我们如何训练一个用户友好的模型,不仅生成清晰且连贯的思维链(CoT),还展示出强大的通用能力?
为了解决这些问题,我们设计了一个训练DeepSeek-R1的流程。该流程包括四个阶段,概述如下。
2.3.1 冷启动
与DeepSeek-R1-Zero不同,为了防止从基础模型开始的RL训练的早期不稳定冷启动阶段,对于DeepSeek-R1,我们构建并收集了少量长CoT数据来微调模型作为初始RL参与者。为了收集这些数据,我们探索了几种方法:使用带有长CoT示例的少样本提示,直接提示模型生成带有反思和验证的详细答案,收集DeepSeek-R1-Zero的可读格式输出,并通过人类注释者的后处理来优化结果。
在本工作中,我们收集了数千条冷启动数据来微调DeepSeek-V3-Base作为RL的起点。与DeepSeek-R1-Zero相比,冷启动数据的优势包括:
可读性:DeepSeek-R1-Zero的一个关键限制是其内容通常不适合阅读。响应可能混合多种语言或缺乏标记格式来突出显示用户的答案。相比之下,在为DeepSeek-R1创建冷启动数据时,我们设计了一种可读的模式,包括在每次响应末尾的摘要,并过滤掉不适合阅读的响应。在这里,我们将输出格式定义为
|special_token|<reasoning_process>|special_token|<summary>,其中推理过程是查询的CoT,摘要用于总结推理结果。潜力:通过精心设计具有人类先验的冷启动数据模式,我们观察到相对于DeepSeek-R1-Zero的更好性能。我们相信迭代训练是推理模型的更好方式。
2.3.2 推理导向的强化学习
在对DeepSeek-V3-Base进行冷启动数据微调后,我们应用与DeepSeek-R1-Zero相同的大规模强化学习训练过程。这一阶段专注于增强模型的推理能力,特别是在编码、数学、科学和逻辑推理等推理密集型任务中,这些任务涉及具有明确解决方案的明确定义的问题。在训练过程中,我们观察到CoT经常表现出语言混合,特别是在RL提示涉及多种语言时。为了缓解语言混合问题,我们在RL训练期间引入了语言一致性奖励,该奖励计算为目标语言单词在CoT中的比例。尽管消融实验表明这种对齐会导致模型性能略有下降,但这种奖励与人类偏好一致,使其更具可读性。最后,我们将推理任务的准确性和语言一致性奖励直接相加,形成最终奖励。然后,我们在微调后的模型上应用强化学习(RL)训练,直到其在推理任务上达到收敛。
2.3.3 拒绝采样和监督微调
当推理导向的RL收敛时,我们利用生成的Checkpoint收集SFT(监督微调)数据用于下一轮。与主要关注推理的初始冷启动数据不同,此阶段结合了来自其他领域的数据,以增强模型在写作、角色扮演和其他通用任务中的能力。具体来说,我们生成数据并微调模型,如下所述。
推理数据:我们策划推理提示并通过从上述RL训练的Checkpoint执行拒绝采样来生成推理轨迹。在前一阶段,我们仅包括可以使用基于规则的奖励评估的数据。然而,在此阶段,我们通过结合其他数据扩展了数据集,其中一些数据使用生成奖励模型,通过将真实值和模型预测输入DeepSeek-V3进行判断。此外,由于模型输出有时混乱且难以阅读,我们过滤掉了混合语言、长段落和代码块的思维链。对于每个提示,我们采样多个响应并仅保留正确的响应。总共,我们收集了约60万条与推理相关的训练样本。
非推理数据:对于非推理数据,如写作、事实问答、自我认知和翻译,我们采用DeepSeek-V3流程并重用DeepSeek-V3的部分SFT数据集。对于某些非推理任务,我们调用DeepSeek-V3在回答问题之前生成潜在的思维链。然而,对于更简单的查询,例如“你好”,我们不会在响应中提供CoT。最终,我们收集了约20万条与推理无关的训练样本。
我们使用上述策划的约80万条样本对DeepSeek-V3-Base进行了两个epoch的微调。
2.3.4 所有场景的强化学习
为了进一步使模型与人类偏好对齐,我们实施了第二阶段的强化学习,旨在提高模型的有用性和无害性,同时完善其推理能力。具体来说,我们使用奖励信号和多样化的提示分布来训练模型。对于推理数据,我们遵循DeepSeek-R1-Zero中概述的方法,该方法利用基于规则的奖励来指导数学、代码和逻辑推理领域的学习过程。对于一般数据,我们依靠奖励模型来捕捉复杂和微妙场景中的人类偏好。我们基于DeepSeek-V3流程,并采用了类似的偏好对和训练提示分布。对于有用性,我们仅关注最终摘要,确保评估强调响应对用户的实用性和相关性,同时最小化对底层推理过程的干扰。对于无害性,我们评估模型的整个响应,包括推理过程和摘要,以识别和减轻生成过程中可能出现的任何潜在风险、偏见或有害内容。最终,奖励信号和多样化数据分布的整合使我们能够训练出一个在推理方面表现出色,同时优先考虑有用性和无害性的模型。
2.4 蒸馏:为小型模型赋予推理能力
为了为更高效的小型模型赋予像DeepSeek-R1一样的推理能力,我们直接使用DeepSeek-R1策划的80万条样本对开源模型如Qwen和Llama进行了微调。我们的研究结果表明,这种简单的蒸馏方法显著增强了小型模型的推理能力。我们在这里使用的基础模型是Qwen2.5-Math-1.5B、Qwen2.5-Math-7B、Qwen2.5-14B、Qwen2.5-32B、Llama-3.1-8B和Llama-3.3-70B-Instruct。我们选择Llama-3.3是因为其推理能力略优于Llama-3.1。
对于蒸馏模型,我们仅应用SFT,不包括RL阶段,尽管结合RL可以显著提升模型性能。我们的主要目标是展示蒸馏技术的有效性,将RL阶段的探索留给更广泛的研究社区。
3 实验
基准测试
我们在MMLU(Hendrycks等,2020)、MMLU-Redux(Gema等,2024)、MMLU-Pro(Wang等,2024)、C-Eval(Huang等,2023)、CMMLU(Li等,2023)、IF-Eval(Zhou等,2023)、FRAMES(Krishna等,2024)、GPQA Diamond(Rein等,2023)、SimpleQA(OpenAI)、C-SimpleQA(He等,2024)、SWE-Bench Verified(OpenAI,2024)、Aider 1、LiveCodeBench(Jain等,2024)(2024-08 - 2025-01)、Codeforces 2、中国国家高中数学奥林匹克(CNMO 2024)3和美国数学邀请赛2024(AIME 2024)(MAA,2024)上评估模型。除了标准基准测试外,我们还使用LLMs作为评判者评估我们的模型在开放式生成任务上的表现。具体来说,我们遵循AlpacaEval 2.0(Dubois等,2024)和Arena-Hard(Li等,2024)的原始配置,这些配置利用GPT-4-Turbo-1106作为成对比较的评判者。在这里,我们仅将最终摘要输入评估,以避免长度偏差。对于蒸馏模型,我们报告了AIME 2024、MATH-500、GPQA Diamond、Codeforces和LiveCodeBench上的代表性结果。
评估提示
遵循DeepSeek-V3的设置,标准基准测试如MMLU、DROP、GPQA Diamond和SimpleQA使用simple-evals框架的提示进行评估。对于MMLU-Redux,我们在零样本设置中采用Zero-Eval提示格式(Lin,2024)。对于MMLU-Pro、C-Eval和CLUE-WSC,由于原始提示是少样本的,我们略微修改提示为零样本设置。少样本中的CoT可能会损害DeepSeek-R1的性能。其他数据集遵循其原始评估协议,使用其创建者提供的默认提示。对于代码和数学基准测试,HumanEval-Mul数据集涵盖了八种主流编程语言(Python、Java、C++、C#、JavaScript、TypeScript、PHP和Bash)。LiveCodeBench上的模型性能使用CoT格式进行评估,数据收集于2024年8月至2025年1月之间。Codeforces数据集使用10场Div.2比赛的问题以及专家制作的测试用例进行评估,之后计算预期评分和参赛者的百分比。SWE-Bench验证结果通过无代理框架(Xia等,2024)获得。AIDER相关基准测试使用“diff”格式进行测量。DeepSeek-R1的输出在每个基准测试中最多限制为32,768个标记。
基线
我们对多个强基线进行了全面评估,包括DeepSeek-V3、Claude-Sonnet-3.5-1022、GPT-4o-0513、OpenAI-o1-mini和OpenAI-o1-1217。由于在中国大陆访问OpenAI-o1-1217 API具有挑战性,我们根据官方报告报告其性能。对于蒸馏模型,我们还比较了开源模型QwQ-32B-Preview(Qwen)。
生成设置
对于我们所有的模型,最大生成长度设置为32,768个标记。对于需要采样的基准测试,我们使用温度为0.6,top-p值为0.95,并为每个查询生成64个响应以估计pass@1。
DeepSeek-R1评估
对于教育导向的知识基准测试,如MMLU、MMLU-Pro和GPQA Diamond,DeepSeek-R1表现出优于DeepSeek-V3的性能。这一改进主要归因于STEM相关问题准确性的提高,通过大规模强化学习(RL)实现了显著增益。此外,DeepSeek-R1在FRAMES(一个依赖于长上下文的QA任务)上表现出色,展示了其强大的文档分析能力。这突显了推理模型在AI驱动的搜索和数据分析任务中的潜力。在事实基准测试SimpleQA上,DeepSeek-R1优于DeepSeek-V3,展示了其处理基于事实的查询的能力。类似的趋势是OpenAI-o1在该基准测试上优于GPT-4o。然而,DeepSeek-R1在中文SimpleQA基准测试上的表现不如DeepSeek-V3,主要是由于其在安全RL后倾向于拒绝回答某些查询。如果没有安全RL,DeepSeek-R1可以达到超过70%的准确性。
DeepSeek-R1在IF-Eval(一个旨在评估模型遵循格式指令能力的基准测试)上也取得了令人印象深刻的结果。这些改进可以归因于在监督微调(SFT)和RL训练的最后阶段包含的指令遵循数据。此外,在AlpacaEval2.0和ArenaHard上的显著表现表明DeepSeek-R1在写作任务和开放域问答中的优势。其显著优于DeepSeek-V3的表现突显了大规模RL的泛化优势,不仅提升了推理能力,还提高了跨多个领域的性能。此外,DeepSeek-R1生成的摘要长度简洁,ArenaHard上的平均长度为689个标记,AlpacaEval 2.0上的平均长度为2,218个字符。这表明DeepSeek-R1在基于GPT的评估中避免了引入长度偏差,进一步巩固了其在多个任务中的稳健性。
在数学任务上,DeepSeek-R1表现出与OpenAI-o1-1217相当的性能,大幅超越其他模型。类似的趋势出现在编码算法任务上,如LiveCodeBench和Codeforces,推理导向的模型在这些基准测试中占据主导地位。在工程导向的编码任务上,OpenAI-o1-1217在Aider上优于DeepSeek-R1,但在SWE Verified上表现相当。我们相信DeepSeek-R1的工程性能将在下一个版本中有所提升,因为目前相关的RL训练数据量仍然非常有限。
蒸馏模型评估
如表5所示,简单地蒸馏DeepSeek-R1的输出使得高效的DeepSeek-R1-7B(即DeepSeek-R1-Distill-Qwen-7B,以下类似缩写)在各个方面都优于非推理模型如GPT-4o-0513。DeepSeek-R1-14B在所有评估指标上均超越了QwQ-32B-Preview,而DeepSeek-R1-32B和DeepSeek-R1-70B在大多数基准测试上显著超过了o1-mini。这些结果展示了蒸馏的强大潜力。此外,我们发现对这些蒸馏模型应用RL可以带来显著的进一步增益。我们相信这值得进一步探索,因此在此仅展示简单SFT蒸馏模型的结果。
4 讨论
蒸馏与强化学习
在第3.2节中,我们可以看到通过蒸馏DeepSeek-R1,小型模型可以取得令人印象深刻的结果。然而,还有一个问题:模型是否可以通过本文讨论的大规模RL训练而不进行蒸馏来达到相当的性能?
为了回答这个问题,我们在Qwen-32B-Base上进行了大规模RL训练,使用数学、代码和STEM数据,训练了超过10K步,得到了DeepSeek-R1-Zero-Qwen-32B。实验结果如图6所示,表明经过大规模RL训练的32B基础模型达到了与QwQ-32B-Preview相当的性能。然而,从DeepSeek-R1蒸馏的DeepSeek-R1-Distill-Qwen-32B在所有基准测试上显著优于DeepSeek-R1-Zero-Qwen-32B。因此,我们可以得出两个结论:首先,将更强大的模型蒸馏到较小的模型中会产生出色的结果,而依赖本文中讨论的大规模RL的小型模型需要巨大的计算能力,甚至可能无法达到蒸馏的性能。其次,尽管蒸馏策略既经济又有效,但超越智能的边界可能仍然需要更强大的基础模型和更大规模的强化学习。
不成功的尝试
在开发DeepSeek-R1的早期阶段,我们也经历了一些失败和挫折。我们在此分享我们的失败经验,以提供见解,但这并不意味着这些方法无法开发出有效的推理模型。
过程奖励模型(PRM):PRM是一种合理的方法,可以引导模型采用更好的方法来解决推理任务(Lightman等,2023;Uesato等,2022;Wang等,2023)。然而,在实践中,PRM有三个主要限制,可能会阻碍其最终成功。首先,在一般推理中明确定义细粒度步骤具有挑战性。其次,确定当前中间步骤是否正确是一项具有挑战性的任务。使用模型进行自动注释可能无法产生令人满意的结果,而手动注释不利于扩展。第三,一旦引入基于模型的PRM,它不可避免地会导致奖励攻击(Gao等,2022),并且重新训练奖励模型需要额外的训练资源,这会使整个训练流程复杂化。总之,虽然PRM展示了重新排序模型生成的top-N响应或辅助引导搜索的良好能力(Snell等,2024),但在我们实验中的大规模强化学习过程中,其优势与引入的额外计算开销相比有限。
蒙特卡洛树搜索(MCTS):受到AlphaGo(Silver等,2017a)和AlphaZero(Silver等,2017b)的启发,我们探索了使用蒙特卡洛树搜索(MCTS)来增强测试时计算的可扩展性。这种方法涉及将答案分解为较小的部分,以允许模型系统地探索解决方案空间。为了促进这一点,我们提示模型生成多个标签,这些标签对应于搜索所需的特定推理步骤。对于训练,我们首先使用收集的提示通过MCTS找到答案,该搜索由预训练的价值模型引导。随后,我们使用生成的问题-答案对来训练演员模型和价值模型,迭代地完善过程。
然而,这种方法在扩展训练时遇到了几个挑战。首先,与国际象棋不同,国际象棋的搜索空间相对明确,标记生成呈现出一个指数级更大的搜索空间。为了解决这个问题,我们为每个节点设置了最大扩展限制,但这可能导致模型陷入局部最优。其次,价值模型直接影响生成的质量,因为它指导搜索过程的每一步。训练一个细粒度的价值模型本身就很困难,这使得模型难以迭代改进。虽然AlphaGo的核心成功依赖于训练一个价值模型以逐步提高其性能,但由于标记生成的复杂性,这一原则在我们的设置中难以复制。
总之,虽然MCTS在与预训练价值模型配对时可以提高推理性能,但通过自我搜索迭代提升模型性能仍然是一个重大挑战。
5 结论、局限性和未来工作
在这项工作中,我们分享了通过强化学习(RL)增强模型推理能力的历程。DeepSeek-R1-Zero代表了一种不依赖冷启动数据的纯RL方法,在各种任务中表现出色。DeepSeek-R1更强大,利用冷启动数据结合迭代RL微调。最终,DeepSeek-R1在一系列任务上达到了与OpenAI-o1-1217相当的性能。
我们进一步探索了将推理能力蒸馏到小型密集模型。我们使用DeepSeek-R1作为教师模型生成80万条数据,并对几个小型密集模型进行微调。结果令人鼓舞:DeepSeek-R1-Distill-Qwen-1.5B在数学基准测试上优于GPT-4o和Claude-3.5-Sonnet,AIME得分为28.9%,MATH得分为83.9%。其他密集模型也取得了令人印象深刻的结果,显著优于基于相同底层Checkpoint的其他指令调优模型。
在未来,我们计划在以下方向进行DeepSeek-R1的研究:
通用能力:目前,DeepSeek-R1在函数调用、多轮对话、复杂角色扮演和json输出等任务上的能力不如DeepSeek-V3。未来,我们计划探索如何利用长CoT来增强这些领域的任务。
语言混合:DeepSeek-R1目前针对中文和英文进行了优化,这可能导致在处理其他语言的查询时出现语言混合问题。例如,即使查询语言不是英文或中文,DeepSeek-R1也可能使用英文进行推理和响应。我们旨在在未来的更新中解决这一限制。
提示工程:在评估DeepSeek-R1时,我们观察到它对提示敏感。少样本提示通常会降低其性能。因此,我们建议用户直接描述问题并使用零样本设置指定输出格式以获得最佳结果。
软件工程任务:由于评估时间较长,影响了RL过程的效率,大规模RL尚未广泛应用于软件工程任务。因此,DeepSeek-R1在软件工程基准测试上并未表现出比DeepSeek-V3的巨大改进。未来的版本将通过实施对软件工程数据的拒绝采样或在RL过程中引入异步评估来提高效率。
参考文献
(此处省略参考文献部分,内容与原文一致)
附录A 贡献和致谢
(此处省略贡献者和致谢部分,内容与原文一致)