DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning
- Abstract
- 1. Introduction
- 2. Approach
- 3. Experiment
- 4. Discussion
- 5. Conclusion, Limitations, and Future Work
Abstract
作者介绍了第一代推理模型,即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 从 DeepSeek-R1 中蒸馏出的六个密集模型(1.5B、7B、8B、14B、32B、70B)。
1. Introduction
近年来,大语言模型(LLMs)一直在经历快速的迭代和进化(Anthropic, 2024; Google, 2024; OpenAI, 2024a),逐步缩小与人工通用智能(AGI)的差距。
最近,后训练已成为完整训练流程中的重要组成部分。研究表明,后训练能够提升推理任务的准确性、与社会价值观对齐并适应用户偏好,同时相比预训练需要相对较少的计算资源。在推理能力方面,OpenAI 的 o1(OpenAI, 2024b)系列模型首次通过增加思维链推理过程的长度引入了推理时扩展。这种方法在数学、编程和科学推理等各种推理任务中取得了显著的改进。但是,有效的测试时扩展的挑战仍然是研究社区的一个开放性问题。一些先前的研究工作已经探索了多种方法,包括基于过程的奖励模型(Lightman et al., 2023; Uesato et al., 2022; Wang et al., 2023)、强化学习(Kumar et al., 2024)以及蒙特卡洛树搜索和束搜索等搜索算法(Feng et al., 2024; Trinh et al., 2024; Xin et al., 2024)。然而,这些方法均未达到与 OpenAI 的 o1 系列模型相当的通用推理性能。
在本文中,作者迈出了利用纯强化学习(RL)提升语言模型推理能力的第一步。作者的目标是探索 LLMs 在没有任何监督数据的情况下发展推理能力的潜力,重点关注它们通过纯 RL 过程进行自我进化。具体而言,作者以 DeepSeek-V3-Base 为基础模型,采用 GRPO(Shao et al., 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 过程接近收敛时,作者通过对 RL 检查点进行拒绝采样生成新的 SFT 数据,并结合来自 DeepSeek-V3 的写作、事实问答和自我认知等领域的监督数据,重新训练 DeepSeek-V3-Base 模型。在使用新数据进行微调后,检查点会经历额外的 RL 过程,同时考虑所有场景的提示。经过这些步骤,作者得到了一个称为 DeepSeek-R1 的检查点,其性能与 OpenAI-o1-1217 相当。
作者进一步探索了从 DeepSeek-R1 到更小规模密集模型的蒸馏。使用 Qwen2.5-32B(Qwen, 2024b)作为基础模型,直接从 DeepSeek-R1 进行蒸馏的效果优于在其上应用 RL。这表明,更大规模基础模型发现的推理模式对于提升推理能力至关重要。作者开源了蒸馏后的 Qwen 和 Llama(Dubey et al., 2024)系列模型。值得注意的是,作者蒸馏的 14B 模型大幅超越了当前最先进的开源模型 QwQ-32B-Preview(Qwen, 2024a),而蒸馏的 32B 和 70B 模型在密集模型的推理基准测试中创造了新的记录。
1.1. Contributions
后训练:在基础模型上进行大规模强化学习
- 作者直接将 RL 应用于基础模型,而不依赖监督微调(SFT)作为初始步骤。这种方法使模型能够探索思维链(CoT)以解决复杂问题,从而开发出 DeepSeek-R1-Zero。DeepSeek-R1-Zero 展示了自我验证、反思和生成长思维链等能力,标志着研究社区的一个重要里程碑。值得注意的是,这是首个公开的研究,验证了 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 蒸馏检查点。
1.2. Summary of Evaluation Results
- 推理任务:(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、MMLU-Pro 和 GPQA Diamond 上获得了 90.8%、84.0% 和 71.5% 的成绩。尽管在这些基准测试中,DeepSeek-R1 的表现略低于 OpenAI-o1-1217,但它超越了其他闭源模型,展现了其在教育任务中的竞争力。在事实性问答基准 SimpleQA 上,DeepSeek-R1 的表现优于 DeepSeek-V3,展示了其处理基于事实的查询的能力。在这个基准测试中,类似的趋势也得到体现,OpenAI-o1 超越了 4o。
- 其他:DeepSeek-R1 在多种任务中也表现出色,包括创意写作、通用问答、编辑、摘要等。它在 AlpacaEval 2.0 上取得了 87.6% 的优异长度控制胜率,在 ArenaHard 上取得了 92.3% 的胜率,展现了其智能处理非应试类查询的强大能力。此外,DeepSeek-R1 在需要长上下文理解的任务中表现优异,在长上下文基准测试中基本上超越了 DeepSeek-V3。
2. Approach
2.1. Overview
以往的研究已经在很大程度上依赖于大量的监督数据来增强模型性能。在本研究中,作者证明了即使不使用监督微调(SFT)作为冷启动,通过大规模强化学习(RL)也可以显著提升模型的推理能力。此外,加入少量冷启动数据可以进一步提升性能。在接下来的部分中,作者将介绍:(1) DeepSeek-R1-Zero,它直接在基础模型上应用 RL,未使用任何 SFT 数据;(2) DeepSeek-R1,它从经过数千条长思维链(CoT)示例微调的检查点开始应用 RL;(3) 将 DeepSeek-R1 的推理能力蒸馏到小型密集模型中。
2.2. DeepSeek-R1-Zero: Reinforcement Learning on the Base Model
强化学习在推理任务中展现了显著的有效性,这一点在作者之前的研究中得到了验证(Shao et al., 2024; Wang et al., 2023)。然而,这些研究严重依赖于监督数据,而收集这些数据非常耗时。在本节中,作者探索了在没有任何监督数据的情况下 LLMs 发展推理能力的潜力,重点关注其通过纯强化学习过程进行自我进化。作者首先简要概述作者的 RL 算法,随后展示一些令人振奋的结果,并希望这些能为研究社区提供有价值的见解。
2.2.1. Reinforcement Learning Algorithm
组相对策略优化 为了节省 RL 的训练成本,作者采用了组相对策略优化 (GRPO)(Shao等,2024),它摒弃了通常与策略模型规模相同的评论家模型,转而通过组分数来估计基线。具体而言,对于每个问题 q q q,GRPO从旧策略 π θ o l d \pi_{\theta_{old}} πθold 中采样一组输出 { o 1 , o 2 , ⋯ , o G } \{o_1, o_2, \cdots, o_G\} {o1,o2,⋯,oG},然后通过最大化以下目标来优化策略模型 π θ \pi_{\theta} πθ:
J G R P O ( θ ) = E [ q ∼ P ( Q ) , { o i } i = 1 G ∼ π θ o l d ( O ∣ q ) ] 1 G ∑ i = 1 G ( min ( π θ ( o i ∣ q ) π θ o l d ( o i ) ∣ q ) A i , clip ( π θ ( o i ∣ q ) π θ o l d ( o i ) ∣ q ) , 1 − ε , 1 + ε ) A i ) − β D K L ( π θ ∣ ∣ π r e f ) ) \mathcal{J}_{GRPO}(\theta)=\mathbb{E}[q\sim P(Q),\{o_i\}_{i=1}^{G} \sim \pi_{\theta_{old}}(O|q)] \frac{1}{G}\sum_{i=1}^{G}(\text{min}(\frac{\pi_\theta (o_i|q)}{\pi_{\theta_{old}}(o_i)|q)}A_i, \text{clip}(\frac{\pi_\theta (o_i|q)}{\pi_{\theta_{old}}(o_i)|q)},1-\varepsilon, 1+ \varepsilon)A_i)-\beta \mathbb{D}_{KL}(\pi_{\theta}||\pi_{ref})) JGRPO(θ)=E[q∼P(Q),{oi}i=1G∼πθold(O∣q)]G1i=1∑G(min(πθold(oi)∣q)πθ(oi∣q)Ai,clip(πθold(oi)∣q)πθ(oi∣q),1−ε,1+ε)Ai)−βDKL(πθ∣∣πref))
(1) \ \tag{1} (1)
D K L ( π θ ∣ ∣ π r e f ) = π r e f ( o i ∣ q ) π θ ( o i ∣ q ) − log π r e f ( o i ∣ q ) π θ ( o i ∣ q ) − 1 (2) \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 \tag{2} DKL(πθ∣∣πref)=πθ(oi∣q)πref(oi∣q)−logπθ(oi∣q)πref(oi∣q)−1(2)
其中, ϵ \epsilon ϵ 和 β \beta β 是超参数, A i A_i Ai 是优势值,通过每组输出对应的一组奖励 { r 1 , r 2 , … , r G } \{r_1, r_2, \dots, r_G\} {r1,r2,…,rG} 计算得出:
A i = r i − mean ( { r 1 , r 2 , ⋯ , r G } ) s t d ( { r 1 , r 2 , ⋯ , r G } ) (3) A_i = \frac{r_i-\text{mean}(\{r_1,r_2,\cdots,r_G\})}{std(\{r_1,r_2,\cdots,r_G\})} \tag{3} Ai=std({r1,r2,⋯,rG})ri−mean({r1,r2,⋯,rG})(3)
2.2.2. Reward Modeling
奖励是训练信号的来源,它决定了 RL 的优化方向。为了训练 DeepSeek-R1-Zero,作者采用了一种基于规则的奖励系统,主要包括两种类型的奖励:
- 准确性奖励:准确性奖励模型评估响应是否正确。例如,对于具有确定性结果的数学问题,模型需要以指定格式(如方框内)提供最终答案,从而能够可靠的基于规则的正确性验证。类似地,对于 LeetCode 问题,可以使用编译器根据预定义的测试用例生成反馈。
- 格式奖励:除了准确性奖励模型外,作者还采用了格式奖励模型,强制模型将其思考过程放在
<think>
和</think>
标签之间。
在开发 DeepSeek-R1-Zero 的过程中,作者没有使用结果或过程的神经奖励模型,因为作者发现神经奖励模型在大规模强化学习过程中可能会受到奖励欺骗的影响,而且重新训练奖励模型需要额外的训练资源,并使整个训练流程复杂化。
2.2.3. Training Template
为了训练 DeepSeek-R1-Zero,作者首先设计了一个简单的模板,引导基础模型遵循作者指定的指令。如表 1 所示,该模板要求 DeepSeek-R1-Zero 首先生成推理过程,然后给出最终答案。作者有意将约束限制在这种结构格式上,避免任何内容特定的偏见(例如强制进行反思性推理或推广特定的问题解决策略),以确保作者能够准确观察模型在 RL 过程中的自然演进。
2.2.4. Performance, Self-evolution Process and Aha Moment of 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 通过利用扩展测试时计算,自然地获得了解决日益复杂推理任务的能力。这一计算过程涵盖了从生成数百到数千个推理 token,允许模型更深入地探索和完善其思维过程。
这种自我进化最显著的方面之一是,随着测试时计算的增加而复杂行为的涌现。例如,反思行为(模型重新审视和评估其先前的步骤)以及探索解决问题的替代方法的行为自发地出现。这些行为并非显式编程,而是模型与强化学习环境交互的结果。这种自发的发展显著增强了 DeepSeek-R1-Zero 的推理能力,使其能够更高效、更准确地应对更具挑战性的任务。
DeepSeek-R1-Zero的“顿悟时刻” 在 DeepSeek-R1-Zero 的训练过程中,观察到一个特别有趣的现象,即“顿悟时刻”的发生。如表 3 所示,这一时刻出现在模型的中间版本中。在此阶段,DeepSeek-R1-Zero 学会了通过重新评估其初始方法,为问题分配更多的思考时间。这种行为不仅证明了模型推理能力的增长,也是一个强化学习如何导致意外且复杂结果的有吸引力的例子。
这一时刻不仅是模型的“顿悟时刻”,也是观察其行为的研究人员的“顿悟时刻”。它强调了强化学习的力量和美感:作者无需明确教导模型如何解决问题,只需为其提供适当的激励,模型就能自主发展出高级的解决问题策略。“顿悟时刻”有力地提醒作者,RL 有潜力在人工系统中解锁新的智能水平,为未来更自主和更自适应的模型做铺垫。
DeepSeek-R1-Zero的缺点 尽管 DeepSeek-R1-Zero 展现出强大的推理能力,并自主发展出意外且强大的推理行为,但它也面临一些问题。例如,DeepSeek-R1-Zero 在可读性差和语言混杂等方面存在挑战。为了使推理过程更具可读性并与开放社区分享,作者探索了 DeepSeek-R1,这是一种利用 RL 并结合人类友好冷启动数据的方法。
2.3. DeepSeek-R1: Reinforcement Learning with Cold Start
受 DeepSeek-R1-Zero 令人鼓舞的成果启发,作者提出了两个自然的问题: 1) 通过结合少量高质量数据作为冷启动,能否进一步提升推理性能或加速收敛?2) 作者如何训练一种用户友好的模型,其不仅能生成清晰连贯的思维链(CoT),还能展现出强大的通用能力? 为了解决这些问题,作者设计了一种用于训练 DeepSeek-R1 的流程。该流程包含四个阶段,具体如下:
2.3.1. Cold Start
与 DeepSeek-R1-Zero 不同,为了避免从基础模型 RL 训练时的早期不稳定冷启动阶段,对于 DeepSeek-R1,作者构建并收集了少量长 CoT 数据,以微调模型作为初始的 RL Actor。为了收集这些数据,作者已经探索了多种方法:使用带有长 CoT 示例的少样本提示、直接提示模型生成包含反思和验证的详细答案、收集 DeepSeek-R1-Zero 的可读格式输出,以及通过人工标注的后处理优化结果。
在本研究中,作者收集了数千条冷启动数据,以微调 DeepSeek-V3-Base 模型作为 RL 的起点。与 DeepSeek-R1-Zero 相比,冷启动数据的优势包括:
- 可读性:DeepSeek-R1-Zero 的一个关键限制是其内容通常不适合阅读。响应可能混合多种语言,或缺乏 Markdown 格式来为用户突出答案。相比之下,在为 DeepSeek-R1 创建冷启动数据时,作者设计了一种可读的模式,包括在每条响应的末尾添加总结,并过滤掉不便于阅读的响应。在这里,作者将输出格式定义为
|special_token|<resoning_process>|special_token|<summary>
,其中推理过程是查询的 CoT,而总结用于概括推理结果。 - 潜力:通过为带有人类先验的冷启动数据精心设计模式,作者观察到相较于 DeepSeek-R1-Zero 更好的性能表现。作者认为迭代训练是一种对于推理模型更优的训练方式。
2.3.2. Reasoning-oriented Reinforcement Learning
在冷启动数据上微调 DeepSeek-V3-Base 后,作者采用了与 DeepSeek-R1-Zero 相同的大规模强化学习训练过程。这一阶段的重点是增强模型的推理能力,特别是在编程、数学、科学和逻辑推理等推理密集型任务中,这些任务涉及具有明确解决方案的清晰定义问题。在训练过程中,作者观察到 CoT 经常出现语言混杂问题,尤其是在 RL 提示涉及多种语言时。为了缓解这一问题,作者在 RL 训练中引入了语言一致性奖励,该奖励根据 CoT 中目标语言单词的比例计算。尽管消融实验表明这种对齐会导致模型性能略有下降,但这种奖励与人类偏好一致,使其更具可读性。最后,作者将推理任务的准确性与语言一致性的奖励直接相加,形成最终的奖励。然后,作者在微调后的模型上应用 RL 训练,直到其在推理任务上达到收敛为止。
2.3.3. Rejection Sampling and Supervised Fine-Tuning
当面向推理的 RL 训练收敛后,作者利用生成的检查点收集监督微调数据,用于下一轮训练。与初始冷启动数据主要关注推理不同,这一阶段还结合了来自其他领域的数据,以增强模型在写作、角色扮演和其他通用任务中的能力。具体而言,作者生成数据并微调模型,如下所述。
推理数据 作者精心挑选推理提示,并通过对上述 RL 训练的检查点进行拒绝采样来生成推理轨迹。在前一阶段中,作者仅包括了能够使用基于规则的奖励进行评估的数据。然而,在这一阶段,作者通过引入额外数据来扩展数据集,其中一些数据使用生成式奖励模型,通过将真实标签和模型预测输入到 DeepSeek-V3 来进行判断。此外,由于模型输出有时混乱且难以阅读,作者过滤掉了语言混杂、长段落和代码块的思维链。对于每个提示,作者采样多个响应并仅保留正确的。作者总共收集了大约60万条与推理相关的训练样本。
非推理数据 对于非推理数据,例如写作、事实问答、自我认知和翻译,作者采用了 DeepSeek-V3 的流程,并重用了 DeepSeek-V3 的部分 SFT 数据集。对于某些非推理任务,作者调用 DeepSeek-V3 在回答问题之前根据提示生成可能的思维链。然而,对于更简单的查询(例如“hello”),作者不会在响应中提供 CoT。最后,作者共收集了大约 20 万条与推理无关的训练样本。
作者使用上述精心挑选的大约 80 万条样本数据集对 DeepSeek-V3-Base 进行了两轮微调。
2.3.4. Reinforcement Learning for all Scenarios
为了进一步使模型与人类偏好对齐,作者实施了第二轮强化学习阶段,目的是提高模型的有用性和无害性,同时优化其推理能力。具体而言,作者结合奖励信号和多样化的提示分布来训练模型。对于推理数据,作者遵循 DeepSeek-R1-Zero 概述的方法,使用基于规则的奖励来指导在数学、编程和逻辑推理领域的学习过程。对于通用数据,作者依靠奖励模型来捕捉复杂和微妙场景中的人类偏好。作者基于 DeepSeek-V3 的流程,并采用了类似的偏好对和训练提示分布。对于有用性,作者唯一关注最终总结,确保评估重点强调响应对用户的实用性和相关性,同时最小化对底层推理过程的干扰。对于无害性,作者评估模型的整个响应,包括推理过程和总结,以识别和缓解生成过程中可能出现的任何潜在风险、偏见或有害内容。最终,奖励信号和多样化数据分布的结合使作者能够训练出一个在推理方面表现出色,同时优先考虑有用性和无害性的模型。
2.4. Distillation: Empower Small Models with Reasoning Capability
为了使更高效的小型模型具备类似 DeepSeek-R1 的推理能力,作者直接使用 DeepSeek-R1 精心策划的 80 万个样本(§2.3.3 中详细介绍)对开源模型如 Qwen(Qwen, 2024b)和 Llama(AI@Meta, 2024)进行了微调。作者的研究结果表明,这种简单的蒸馏方法显著提升了小型模型的推理能力。作者在这里使用的基础模型包括 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. Experiment
基准测试 作者在以下基准上评估模型:MMLU(Hendrycks 等,2020)、MMLU-Redux(Gema 等,2024)、MMLU-Pro(Wang 等,2024)、C-Eval(Huang 等,2023)、CMMLU(Li 等,2023)、IFEval(Zhou 等,2023)、FRAMES(Krishna 等,2024)、GPQA Diamond(Rein 等,2023)、SimpleQA(OpenAI,2024c)、C-SimpleQA(He 等,2024)、SWE-Bench Verified(OpenAI,2024d)、Aider、LiveCodeBench(Jain 等,2024)(2024-08 – 2025-01)、Codeforces、中国高中数学奥林匹克竞赛(CNMO 2024)和美国数学邀请赛 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 的设置,作者使用 simpleevals 框架中的提示来评估标准基准测试,例如 MMLU、DROP、GPQA Diamond和SimpleQA。对于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 个token。
基线 作者对几种强大的基线模型进行了全面评估,包括 DeepSeek-V3、Claude-Sonnet-3.5-1022、GPT-4o-0513、OpenAI-o1-mini和OpenAI-o1-1217。由于在中国大陆访问 OpenAI-o1-1217 的 API 较为困难,作者根据官方报告记录其性能。对于蒸馏模型,作者还比较了开源模型 QwQ-32B-Preview(Qwen,2024a)。
评估设置 作者为模型设置最大生成长度为 32,768个token。作者发现,使用贪婪解码来评估长输出推理模型会导致更高的重复率和不同检查点之间的显著差异性。因此,作者默认使用 pass@k 评估方法(Chen 等,2021),并在非零温度下报告 pass@1 结果。具体而言,作者使用采样温度为 0.6,top-p值为 0.95,为每个问题生成 k 个响应(通常在 4 到 64 之间,取决于测试集的大小),然后计算 pass@1:
pass@1 = 1 k ∑ i = 1 k p i \text{pass@1}=\frac{1}{k}\sum_{i=1}^{k}p_i pass@1=k1i=1∑kpi
其中 p i p_i pi 表示第 i i i 个响应的正确性。这种方法提供了更可靠的性能估计。对于 AIME 2024,作者还报告了使用 64 个样本的共识(多数投票)结果(Wang 等,2022),记为 cons@64。
3.1. DeepSeek-R1 Evaluation
对于教育导向的知识基准测试,例如 MMLU、MMLU-Pro 和 GPQA Diamond,DeepSeek-R1 相较于 DeepSeek-V3 展现出卓越的性能。这一提升主要归因于在 STEM 相关问题上的准确性增强,通过大规模强化学习实现了显著改进。此外,DeepSeek-R1 在 FRAMES(一个长上下文依赖的问答任务)上表现突出,展示了其强大的文档分析能力,这凸显了推理模型在 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 训练的最后阶段中指令遵循数据的加入。此外,在 AlpacaEval 2.0 和 ArenaHard 上观察的显著表现表明,DeepSeek-R1 在写作任务和开放域问答方面的优势。DeepSeek-R1 显著优于 DeepSeek-V3 的表现凸显了大规模 RL 的泛化优势,强化学习不仅提升了模型的推理能力,还增强了其在不同领域的整体表现。此外,DeepSeek-R1 生成的总结长度简洁,在 ArenaHard 上平均为 689 个token,在 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 训练数据量仍然非常有限。
3.2. Distilled Model Evaluation
如表 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. Discussion
4.1. Distillation v.s. Reinforcement Learning
在第3.2节中,作者可以看到,通过蒸馏 DeepSeek-R1,小型模型能够取得令人印象深刻的成果。然而,仍然有一个问题尚未解决:模型是否可以通过本文中讨论的大规模 RL 训练,而无需蒸馏,就能实现与之相当的性能呢?
为了解答这个问题,作者在 Qwen-32B-Base 模型上使用数学、代码和 STEM 数据进行了大规模 RL 训练,训练步数超过1万步,得到了DeepSeek-R1-Zero-Qwen-32B。实验结果如表 6 所示,表明经过大规模 RL 训练的32B基模型,在性能上与 QwQ-32B-Preview 相当。然而,通过蒸馏 DeepSeek-R1 得到的DeepSeek-R1-Distill-Qwen-32B,在所有基准测试中均显著优于 DeepSeek-R1-Zero-Qwen-32B。
因此,作者可以得出两个结论:首先,将更强大的模型蒸馏到更小的模型中可以获得出色的结果,而仅依赖于本文中提到的大规模 RL 的小型模型,则需要巨大的计算能力,并且可能甚至无法达到蒸馏的性能效果。其次,虽然蒸馏策略既经济又有效,但突破智能的边界可能仍需要更强大的基础模型以及更大规模的强化学习。
4.2. Unsuccessful Attempts
在开发 DeepSeek-R1 的早期阶段,作者途中也遇到了失败和挫折。作者在这里分享这些失败经验以提供见解,但这并不意味着这些方法不具备开发有效的推理模型的能力。
过程奖励模型(PRM) PRM 是一种合理的方法,可以引导模型采用更好的方法来解决推理任务(Lightman等,2023;Uesato等,2022;Wang等,2023)。然而,在实践中,PRM 存在三个主要限制,可能会阻碍其最终成功:第一,在通用推理中,明确定义细粒度步骤具有挑战性。第二,确定当前中间步骤是否正确是一项艰巨的任务。使用模型进行自动标注可能无法产生令人满意的结果,而手动标注则不利于规模化扩展。第三,一旦引入基于模型的 PRM,不可避免地会导致奖励欺骗(Gao等,2022),而重新训练奖励模型需要额外的训练资源,并使整个训练流程复杂化。综上所述,尽管 PRM 在重新排序模型生成的 Top-N 响应或辅助引导搜索(Snell等,2024)方面表现出良好的能力,但在作者实验中的大规模强化学习过程中,其优势相比引入的额外计算开销显得有限。
蒙特卡洛树搜索(MCTS) 受 AlphaGo(Silver等人,2017b)和 AlphaZero(Silver等人,2017a)的启发,作者探索了使用蒙特卡洛树搜索(MCTS)来提升测试时计算的扩展性。这种方法将答案拆分为更小的部分,使模型能够系统地探索解空间。为了实现这一点,作者提示模型生成多个标签,这些标签对应于搜索所需的特定推理步骤。在训练阶段,作者首先利用收集到的提示,并通过预训练的 value 模型引导的 MCTS 来寻找答案。随后,作者使用生成的问答对来训练 actor 模型和 value 模型,并通过迭代优化不断完善这一过程。
然而,这种方法在扩展训练规模时面临一些挑战。首先,与搜索空间相对定义明确的国际象棋不同,token 生成呈现指数级更大的搜索空间。为了解决这个问题,作者为每个节点设置了最大扩展限制,但这可能导致模型陷入局部最优。其次,value 模型直接影响生成质量,因为它指导搜索过程的每一步。训练一个细粒度的 value 模型本身就很困难,这使得模型难以迭代改进。尽管 AlphaGo 的核心成功依赖于训练 value 模型以逐步提升性能,但由于 token 生成的复杂性,这一原则在作者的设置中难以复制。
总之,尽管 MCTS 在推理阶段结合预训练的 value 模型可以提高性能,但通过自我搜索来迭代提升模型性能仍然是一个重大挑战。
5. Conclusion, Limitations, and Future Work
在这项工作中,作者分享了通过强化学习提升模型推理能力的探索历程。DeepSeek-R1-Zero 代表了一种不依赖冷启动数据的纯 RL 方法,在各种任务中实现了强大的性能。DeepSeek-R1 则更加强大,利用了冷启动数据和迭代式 RL 微调。最终,DeepSeek-R1 在一系列任务中实现了与 OpenAI-o1-1217 相当的性能。
作者进一步探索了将推理能力蒸馏到小型密集模型中的方法。作者使用 DeepSeek-R1 作为 teacher 模型生成 80 万条训练样本,并对多个小型密集模型进行微调。结果令人鼓舞:DeepSeek-R1-Distill-Qwen-1.5B 在数学基准测试中超越了 GPT-4o 和 Claude-3.5-Sonnet,在 AIME 上达到 28.9%,在 MATH 上达到 83.9%。其他密集模型也取得了令人印象深刻的结果,显著优于基于相同底层检查点的其他指令微调模型。
未来,作者计划在以下几个方向上进一步推进 DeepSeek-R1 的研究。
- 通用能力:目前,DeepSeek-R1 在函数调用、多轮对话、复杂角色扮演和 JSON 输出等任务中的能力不及 DeepSeek-V3。未来,作者计划探索如何利用长 CoT 来增强这些领域的任务表现。
- 语言混杂:DeepSeek-R1 目前针对中文和英文进行了优化,在处理其他语言的查询时可能会出现语言混杂问题。例如,即使查询语言不是英文或中文,DeepSeek-R1 也可能使用英文进行推理和响应。作者计划在未来的更新中解决这一限制。
- 提示工程:在评估 DeepSeek-R1 时,作者观察到它对提示非常敏感。少样本提示通常会降低其性能。因此,作者建议用户直接描述问题并使用零样本设置指定输出格式,以获得最佳结果。
- 软件工程任务:由于评估时间较长,影响了 RL 过程的效率,大规模 RL 尚未广泛应用于软件工程任务。因此,DeepSeek-R1 在软件工程基准测试中并未展现出对 DeepSeek-V3 的重大改进。未来版本将通过实施对软件工程数据的拒绝采样或在 RL 过程中引入异步评估来提高效率,从而解决这一问题。