摘要

我们介绍了我们的第一代推理模型,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, 2024a),逐渐缩小了与人工通用智能(AGI)的差距。

最近,后训练已成为完整训练流程中的一个重要组成部分。它已被证明可以提高推理任务的准确性,与社会价值观对齐,并适应用户偏好,同时相较于预训练所需的计算资源相对较少。在推理能力方面,OpenAI的o1系列模型(OpenAI, 2024b)首次通过增加思维链推理过程的长度引入了推理时间缩放。这种方法在数学、编码和科学推理等各种推理任务中取得了显著改进。然而,有效的测试时间缩放仍然是研究界的一个开放性问题。之前的一些研究探索了各种方法,包括基于过程的奖励模型(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过程接近收敛时,我们通过对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等,2024)系列。值得注意的是,我们蒸馏的14B模型大幅优于最先进的开源QwQ-32B-Preview(Qwen, 2024a),而蒸馏的32B和70B模型在密集模型的推理基准测试中创下了新纪录。

1.1 贡献

后训练:在基础模型上进行大规模强化学习

  • 纯强化学习的突破:我们直接在基础模型上应用强化学习(RL),而无需依赖监督微调(SFT)作为初步步骤。这种方法使模型能够探索思维链(CoT)以解决复杂问题,从而开发出DeepSeek-R1-Zero。DeepSeek-R1-Zero展示了自我验证、反思和生成长思维链等能力,标志着研究领域的一个重要里程碑。值得注意的是,这是首次通过纯RL验证LLMs推理能力的研究,无需SFT。这一突破为该领域的未来发展铺平了道路。

  • DeepSeek-R1的开发流程:我们引入了开发DeepSeek-R1的流程。该流程包含两个RL阶段,旨在发现改进的推理模式并与人类偏好对齐,以及两个SFT阶段,作为模型推理和非推理能力的基础。我们相信这一流程将通过创建更好的模型为行业带来益处。

蒸馏(Distillation):小模型也可以强大

  • 推理模式的蒸馏:我们证明了大模型的推理模式可以蒸馏到小模型中,从而在小模型上实现比通过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 评估结果总结

推理任务

  • DeepSeek-R1的表现
    • 在AIME 2024上,DeepSeek-R1的Pass@1得分为79.8%,略高于OpenAI-o1-1217。
    • 在MATH-500上,DeepSeek-R1取得了97.3%的优异成绩,与OpenAI-o1-1217持平,并显著优于其他模型。
    • 在代码相关任务中,DeepSeek-R1在代码竞赛任务中表现出专家水平,其在Codeforces上的Elo评分为2,029,超过了96.3%的人类参赛者。
    • 在工程相关任务中,DeepSeek-R1的表现略优于DeepSeek-V3,这可能对开发者在实际任务中有所帮助。

知识任务

  • DeepSeek-R1的优异表现
    • 在MMLU、MMLU-Pro和GPQA Diamond等基准测试中,DeepSeek-R1取得了显著优于DeepSeek-V3的成绩,分别为90.8%、84.0%和71.5%。
    • 尽管在这些基准测试中略低于OpenAI-o1-1217,但DeepSeek-R1超越了其他闭源模型,展示了其在教育任务中的竞争优势。
    • 在事实基准测试SimpleQA上,DeepSeek-R1优于DeepSeek-V3,展示了其处理基于事实查询的能力。OpenAI-o1在该基准测试中也表现出类似的趋势,超越了4o。

其他任务

  • 广泛的任务表现:DeepSeek-R1在创意写作、通用问答、编辑、摘要等广泛任务中表现出色。
    • 在AlpacaEval 2.0上,其长度控制胜率为87.6%。
    • 在Arena-Hard上,胜率为92.3%,展示了其在处理非考试导向查询方面的强大能力。
    • 在需要长上下文理解的任务中,DeepSeek-R1表现尤为突出,在长上下文基准测试中显著优于DeepSeek-V3。

2. 方法

2.1 概述

以往的研究在提升模型性能时,通常依赖大量的监督数据。本研究表明,通过大规模的强化学习(RL),即使在没有使用监督微调(SFT)作为冷启动的情况下,也能显著提升推理能力。

此外,加入少量冷启动数据后,性能还可以进一步提高。接下来的部分将介绍:

(1)DeepSeek-R1-Zero,该方法直接将RL应用于基础模型,而不使用任何SFT数据;

(2)DeepSeek-R1,该方法从经过数千个长链推理(CoT)示例微调的检查点开始应用RL;

(3)将DeepSeek-R1的推理能力蒸馏到小型密集模型中。

2.2 DeepSeek-R1-Zero:基于基础模型的强化学习

强化学习在推理任务中已显示出显著的有效性,正如我们之前的研究所证明的那样(Shao等,2024;Wang等,2023)。然而,这些研究通常严重依赖监督数据,而收集这些数据是时间密集型的。本文部分旨在探索大语言模型(LLMs)在没有任何监督数据的情况下如何发展推理能力,重点关注通过纯强化学习过程的自我进化。我们首先简要介绍RL算法,接着呈现一些令人兴奋的结果,并希望为社区提供有价值的见解。

2.2.1 强化学习算法

群体相对策略优化(GRPO)

为了节省RL训练成本,我们采用了群体相对策略优化(GRPO)(Shao等,2024),它省略了通常与策略模型同等大小的评价模型,而是通过从群体得分中估算基线。

具体而言,对于每个问题 q,GRPO 从旧策略 πθ_old 中采样一个输出组 {o1, o2, ..., oG},然后通过最大化以下目标来优化策略模型 πθ

  [plaintext]
1
J_GRPO(θ) = E[q ~ P(Q), {oi}Gi=1 ~ πθ_old(O|q)] 1/G ΣGi=1 [min( (πθ(oi|q) / πθ_old(oi|q)) Ai, clip( (πθ(oi|q) / πθ_old(oi|q)), 1-ε, 1+ε) Ai ) - β D_KL(πθ || πref)]

其中,εβ 为超参数,Ai 为优势函数,通过与每组输出对应的奖励 {r1, r2, ..., rG} 计算得出:

  [plaintext]
1
Ai = (ri - mean({r1, r2, ..., rG})) / std({r1, r2, ..., rG})

在这个公式中,D_KL 表示KL散度,计算了当前策略和参考策略之间的差异。

用户提供的内容涉及DeepSeek-R1-Zero模型的训练过程、奖励建模和在强化学习(RL)训练中的性能。

内容包括奖励模型、训练模板、性能提升、模型自我进化的过程以及模型在训练中的“灵光一现”现象。

用户可能希望我对这些内容进行翻译,确保对其中文表达清晰。我将直接翻译文档内容。

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训练的推进,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的“灵光一现”(Aha Moment of DeepSeek-R1-Zero)

在训练过程中,DeepSeek-R1-Zero出现了一个特别引人注目的现象——“灵光一现”。

这一现象发生在模型的一个中间版本阶段。

如表3所示,在这一阶段,DeepSeek-R1-Zero学会了通过重新评估初始方法来为问题分配更多的思考时间。这种行为不仅证明了模型推理能力的增长,而且是强化学习如何导致意外且复杂结果的一个迷人示例。

这一时刻不仅是模型的“灵光一现”,也是观察其行为的研究者的“灵光一现”。

它突显了强化学习的力量和美妙:我们并没有明确教给模型如何解决问题,而是通过提供正确的激励,模型自主地发展出先进的解题策略。

“灵光一现”时刻是RL如何解锁人工系统智能新层次的有力证明,为未来更加自主和适应的模型铺平了道路。

问题:

如果 a > 1,则方程 sqrt(a - sqrt(a + x)) = x 的实数解的和为多少?

解答过程:

首先,我们来解这个方程:sqrt(a - sqrt(a + x)) = x

  1. 平方两边:我们首先对方程的两边同时平方,以去掉外面的平方根。
      [plaintext]
    1
    a - sqrt(a + x) = x^2
  2. 移项并再平方:将方程变形,得到:
      [plaintext]
    1
    sqrt(a + x) = a - x^2

    然后对两边再平方:

      [plaintext]
    1
    a + x = (a - x^2)^2
  3. 展开并整理:我们展开右边的平方,得到:
      [plaintext]
    1
    a + x = a^2 - 2a * x^2 + x^4

    移项得到:

      [plaintext]
    1
    x^4 - 2a * x^2 + x + (a^2 - a) = 0
  4. 反思和修正:此时,我意识到这可能是一个“灵光一现”时刻。

重新思考后,我们需要更清楚地整理和评估每一步,确保不会遗漏关键步骤。

接下来我将重新梳理步骤。


关于DeepSeek-R1-Zero的内容:

DeepSeek-R1-Zero的缺点:

尽管DeepSeek-R1-Zero表现出强大的推理能力并自主发展出意外且强大的推理行为,但它也面临一些问题。

例如,DeepSeek-R1-Zero在可读性和语言混合方面存在困难。

为了使推理过程更易读并与开放社区共享,我们探索了DeepSeek-R1方法,该方法结合了强化学习和人类友好的冷启动数据。

DeepSeek-R1的冷启动:

与DeepSeek-R1-Zero不同,为了防止RL训练初期的冷启动阶段不稳定,DeepSeek-R1通过收集少量长链推理(CoT)数据来对模型进行微调,以此作为RL的初始角色。我们通过多种方法收集这些数据,包括使用少量提示进行CoT示例生成、直接提示模型生成带有反思和验证的详细答案、以及通过人工标注进行结果后处理等。

与DeepSeek-R1-Zero相比,冷启动数据的优势包括:

  • 可读性:DeepSeek-R1-Zero的输出常常难以阅读,可能混合多种语言或缺乏突出显示答案的格式。而对于DeepSeek-R1的冷启动数据,我们设计了更具可读性的格式,包括在每个响应的末尾添加总结,并过滤掉不适合阅读的响应。
  • 潜力:通过设计符合人类先验的冷启动数据格式,我们观察到DeepSeek-R1的性能比DeepSeek-R1-Zero更好。我们认为迭代训练是一种更好的推理模型训练方式。

推理导向的强化学习:

在使用冷启动数据微调DeepSeek-V3-Base后,我们继续应用与DeepSeek-R1-Zero相同的大规模强化学习训练过程,重点提升模型在推理密集型任务(如编码、数学、科学和逻辑推理)中的能力。为了减少语言混合的问题,我们在RL训练过程中引入了语言一致性奖励,该奖励是根据目标语言词汇在CoT中的比例来计算的。

拒绝采样与监督微调:

当推理导向的强化学习训练完成并收敛后,我们利用训练好的检查点收集SFT(监督微调)数据,进行下一轮训练。与初始冷启动数据主要关注推理不同,这一阶段的目标是增强模型在写作、角色扮演等领域的能力。

通过这种方法,我们收集了大约60万个与推理相关的训练样本。

这里,用户给出了DeepSeek-R1的进一步开发和训练流程,重点介绍了非推理数据的处理、强化学习(RL)在多场景下的应用,以及如何通过蒸馏技术使小型模型具备推理能力。目标是展示如何优化和增强模型的推理能力。

非推理数据

对于非推理数据,如写作、事实问答、自我认知和翻译,我们采用DeepSeek-V3管道,并重用DeepSeek-V3的SFT数据集的部分内容。对于某些非推理任务,我们调用DeepSeek-V3生成潜在的链式推理(CoT)作为回答问题的提示。然而,对于简单的查询,例如“你好”,我们不提供链式推理。在这项工作中,我们共收集了大约200k个与推理无关的训练样本。

我们使用上述策划的数据集(大约80万个样本)对DeepSeek-V3-Base进行了两轮微调。

针对所有场景的强化学习

为了进一步使模型与人类偏好对齐,我们实施了第二阶段的强化学习,旨在提高模型的帮助性和无害性,同时进一步优化其推理能力。具体来说,我们使用奖励信号和多样化的提示分布来训练模型。对于推理数据,我们遵循DeepSeek-R1-Zero中概述的方法,使用基于规则的奖励来引导学习过程,特别是在数学、编程和逻辑推理领域。对于一般数据,我们采用奖励模型来捕捉人类在复杂和细微场景中的偏好。我们在DeepSeek-V3管道的基础上,采用了类似的偏好对和训练提示分布。

  • 帮助性:我们专注于最终总结,确保评估侧重于响应的实用性和相关性,同时最小化对底层推理过程的干扰。
  • 无害性:我们评估模型的完整响应,包括推理过程和总结,以识别并减轻可能在生成过程中出现的任何潜在风险、偏见或有害内容。

最终,通过将奖励信号和多样化数据分布结合,我们训练出一个在推理上表现卓越,同时优先考虑帮助性和无害性的模型。

蒸馏:赋能小型模型以具备推理能力

为了使更高效的小型模型具备像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 et al., 2020)
  • MMLU-Redux (Gema et al., 2024)
  • MMLU-Pro (Wang et al., 2024)
  • C-Eval (Huang et al., 2023)
  • CMMLU (Li et al., 2023)
  • IFEval (Zhou et al., 2023)
  • FRAMES (Krishna et al., 2024)
  • GPQA Diamond (Rein et al., 2023)
  • SimpleQA (OpenAI, 2024c)
  • C-SimpleQA (He et al., 2024)
  • SWE-Bench Verified (OpenAI, 2024d)
  • Aider 1
  • LiveCodeBench (Jain et al., 2024) (2024-08 – 2025-01)
  • Codeforces
  • 中国全国中学数学奥林匹克(CNMO 2024)
  • 美国数学邀请赛(AIME 2024)(MAA, 2024)

除了标准基准测试外,我们还在使用LLM作为评审员的开放性生成任务上评估我们的模型。具体来说,我们遵循AlpacaEval 2.0(Dubois et al., 2024)和Arena-Hard(Li et al., 2024)中的原始配置,这些配置使用GPT-4-Turbo-1106作为评审员进行成对比较。在这些测试中,我们仅输入最终总结以避免长度偏差。对于蒸馏模型,我们报告了AIME 2024、MATH-500、GPQA Diamond、Codeforces和LiveCodeBench上的代表性结果。

评估提示

按照DeepSeek-V3中的设置,标准基准测试(如MMLU、DROP、GPQA Diamond和SimpleQA)使用simpleevals框架中的提示进行评估。对于MMLU-Redux,我们在零-shot设置中采用Zero-Eval提示格式(Lin, 2024)。对于MMLU-Pro、C-Eval和CLUE-WSC,原始提示是few-shot,我们略微修改提示以适应零-shot设置。由于few-shot中的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 et al., 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, 2024a)进行比较。

评估设置

我们将模型的最大生成长度设置为32,768个标记。我们发现,使用贪婪解码来评估长输出推理模型会导致更高的重复率,并且在不同检查点之间存在显著变异。

因此,我们默认使用pass@k评估(Chen et al., 2021),并使用非零温度报告pass@1。具体来说,我们使用0.6的采样温度和0.95的top-p值生成每个问题的k个回答(通常在4到64之间,具体取决于测试集大小)。

然后,pass@1计算公式如下:

  [plaintext]
1
pass@1 = (1/k) * Σ (i=1 to k) p_i

其中,p_i表示第i个回答的正确性。此方法提供了更可靠的性能估计。对于AIME 2024,我们还使用64个样本报告共识(多数投票)结果,记为cons@64。

3.1 DeepSeek-R1 评估

基准测试(指标)

模型 Claude-3.5-Sonnet-1022 GPT-4o-0513 DeepSeek-V3 OpenAI-o1-mini OpenAI-o1-1217 DeepSeek-R1
架构 - - MoE - - MoE
激活参数量 - - 37B - - 37B
总参数量 - - 671B - - 671B

英语任务

指标 Claude-3.5-Sonnet-1022 GPT-4o-0513 DeepSeek-V3 OpenAI-o1-mini OpenAI-o1-1217 DeepSeek-R1
MMLU (Pass@1) 88.3 87.2 88.5 85.2 91.8 90.8
MMLU-Redux (EM) 88.9 88.0 89.1 86.7 - 92.9
MMLU-Pro (EM) 78.0 72.6 75.9 80.3 - 84.0
DROP (3-shot F1) 88.3 83.7 91.6 83.9 90.2 92.2
IF-Eval (Prompt Strict) 86.5 84.3 86.1 84.8 - 83.3
GPQA Diamond (Pass@1) 65.0 49.9 59.1 60.0 75.7 71.5
SimpleQA (Correct) 28.4 38.2 24.9 7.0 47.0 30.1
FRAMES (Acc.) 72.5 80.5 73.3 76.9 - 82.5
AlpacaEval2.0 (LC-winrate) 52.0 51.1 70.0 57.8 - 87.6
ArenaHard (GPT-4-1106) 85.2 80.4 85.5 92.0 - 92.3

代码任务

指标 Claude-3.5-Sonnet-1022 GPT-4o-0513 DeepSeek-V3 OpenAI-o1-mini OpenAI-o1-1217 DeepSeek-R1
LiveCodeBench (Pass@1-COT) 38.9 32.9 36.2 53.8 63.4 65.9
Codeforces (Percentile) 20.3 23.6 58.7 93.4 96.6 96.3
Codeforces (Rating) 717 759 1134 1820 2061 2029
SWE Verified (Resolved) 50.8 38.8 42.0 41.6 48.9 49.2
Aider-Polyglot (Acc.) 45.3 16.0 49.6 32.9 61.7 53.3

数学任务

指标 Claude-3.5-Sonnet-1022 GPT-4o-0513 DeepSeek-V3 OpenAI-o1-mini OpenAI-o1-1217 DeepSeek-R1
AIME 2024 (Pass@1) 16.0 9.3 39.2 63.6 79.2 79.8
MATH-500 (Pass@1) 78.3 74.6 90.2 90.0 96.4 97.3
CNMO 2024 (Pass@1) 13.1 10.8 43.2 67.6 - 78.8

中文任务

指标 Claude-3.5-Sonnet-1022 GPT-4o-0513 DeepSeek-V3 OpenAI-o1-mini OpenAI-o1-1217 DeepSeek-R1
CLUEWSC (EM) 85.4 87.9 90.9 89.9 - 92.8
C-Eval (EM) 76.7 76.0 86.5 68.9 - 91.8
C-SimpleQA (Correct) 55.4 58.7 68.0 40.3 - 63.7

表 4 | DeepSeek-R1 与其他代表性模型的比较

在教育导向的知识基准测试(如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训练的最后阶段加入了指令遵循数据。此外,DeepSeek-R1在AlpacaEval2.0和ArenaHard上表现优异,展示了其在写作任务和开放域问答中的优势。其显著优于DeepSeek-V3的表现突显了大规模RL的泛化优势,不仅提升了推理能力,还提高了跨领域的性能。此外,DeepSeek-R1生成的摘要长度简洁,在ArenaHard上平均为689个token,在AlpacaEval 2.0上为2,218个字符,表明其在基于GPT的评估中避免了引入长度偏差,进一步巩固了其在多任务中的鲁棒性。

在数学任务中,DeepSeek-R1的表现与OpenAI-o1-1217相当,并大幅超越其他模型。在代码算法任务(如LiveCodeBench和Codeforces)中,推理导向的模型主导了这些基准测试。在工程导向的代码任务中,OpenAI-o1-1217在Aider上优于DeepSeek-R1,但在SWE Verified上表现相当。我们相信DeepSeek-R1的工程性能将在下一版本中提升,因为目前相关的RL训练数据量仍然非常有限。

3.2 蒸馏模型评估

| 模型 | AIME 2024 (Pass@1) | MATH-500 (Cons@64) | GPQA Diamond (Pass@1) | LiveCodeBench (Pass@1) | Codeforces (Rating) |
| — | — | — | — | — | — |
| GPT-4o-0513 | 9.3 | 13.4 | 49.9 | 32.9 | 759 |
| Claude-3.5-Sonnet-1022 | 16.0 | 26.7 | 65.0 | 38.9 | 717 |
| OpenAI-o1-mini | 63.6 | 80.0 | 60.0 | 53.8 | 1820 |
| QwQ-32B-Preview | 50.0 | 60.0 | 54.5 | 41.9 | 1316 |
| DeepSeek-R1-Distill-Qwen-1.5B | 28.9 | 52.7 | 33.8 | 16.9 | 954 |
| DeepSeek-R1-Distill-Qwen-7B | 55.5 | 83.3 | 49.1 | 37.6 | 1189 |
| DeepSeek-R1-Distill-Qwen-14B | 69.7 | 80.0 | 59.1 | 53.1 | 1481 |
| DeepSeek-R1-Distill-Qwen-32B | 72.6 | 83.3 | 62.1 | 57.2 | 1691 |
| DeepSeek-R1-Distill-Llama-8B | 50.4 | 80.0 | 49.0 | 39.6 | 1205 |
| DeepSeek-R1-Distill-Llama-70B | 70.0 | 86.7 | 65.2 | 57.5 | 1633 |

表 5 | DeepSeek-R1 蒸馏模型与其他可比模型在推理相关基准测试中的比较

如表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. 讨论

4.1. 蒸馏与强化学习

在第3.2节中,我们看到通过蒸馏DeepSeek-R1,小模型可以取得令人印象深刻的结果。然而,仍然有一个问题:没有蒸馏的情况下,通过本文讨论的大规模强化学习训练,模型能否达到相当的性能?

为了解答这个问题,我们在Qwen-32B-Base上进行大规模强化学习训练,使用数学、代码和STEM数据,训练超过10K步,最终得到了DeepSeek-R1-Zero-Qwen-32B。实验结果如表6所示,表明经过大规模强化学习训练后,32B基础模型的表现与QwQ-32B-Preview相当。然而,蒸馏自DeepSeek-R1的DeepSeek-R1-Distill-Qwen-32B在所有基准测试中表现明显优于DeepSeek-R1-Zero-Qwen-32B。

因此,我们可以得出两个结论:

首先,蒸馏更强大的模型到较小模型中可以获得极好的结果,而较小模型依赖于本文提到的大规模强化学习训练,需消耗大量计算资源,甚至可能无法达到蒸馏模型的性能。

其次,虽然蒸馏策略既经济又有效,但要突破智能的边界,可能仍然需要更强大的基础模型和更大规模的强化学习。

4.2. 不成功的尝试

在开发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)来增强测试时的计算可扩展性。该方法通过将答案分解成较小的部分,使模型能够系统地探索解空间。为此,我们提示模型生成多个标签,对应于搜索中需要的特定推理步骤。对于训练,我们首先使用收集的提示通过MCTS和预训练的价值模型寻找答案。随后,利用生成的问答对训练演员模型和价值模型,反复优化这一过程。

然而,在扩展训练时,这种方法遇到了几个挑战。首先,与棋类游戏不同,棋盘游戏的搜索空间相对明确,而令牌生成则呈指数级增长,搜索空间更大。为了解决这个问题,我们对每个节点设置了最大扩展限制,但这可能导致模型陷入局部最优。其次,价值模型直接影响生成的质量,因为它引导着搜索过程的每一步。训练一个精细化的价值模型本身就很困难,这使得模型很难进行迭代改进。虽然AlphaGo的核心成功依赖于训练一个价值模型以逐步提升其表现,但由于令牌生成的复杂性,这一原则在我们的设置中难以复制。
总之,尽管在与预训练的价值模型配合使用时,MCTS可以在推理过程中提高表现,但通过自搜索迭代提升模型表现仍然是一个重大的挑战。

5. 结论、局限性与未来工作

在这项工作中,我们分享了通过强化学习增强模型推理能力的过程。DeepSeek-R1-Zero代表了一种纯粹的强化学习方法,不依赖冷启动数据,在各种任务中取得了强劲的表现。DeepSeek-R1则更强大,结合了冷启动数据和迭代强化学习微调。

最终,DeepSeek-R1在多个任务上达到了与OpenAI-o1-1217相当的性能。

我们进一步探索了将推理能力蒸馏到小型密集模型中的方法。我们使用DeepSeek-R1作为教师模型生成80万个训练样本,并对多个小型密集模型进行微调。结果令人鼓舞:DeepSeek-R1-Distill-Qwen-1.5B在数学基准测试中,AIME得分为28.9%,MATH得分为83.9%,超越了GPT-4o和Claude-3.5-Sonnet。其他密集模型也取得了令人印象深刻的成绩,显著优于基于相同基础检查点的其他指令调优模型。

未来,我们计划在以下几个方向上进行DeepSeek-R1的研究:

通用能力:目前,DeepSeek-R1在功能调用、多轮对话、复杂角色扮演和JSON输出等任务上的能力还不及DeepSeek-V3。未来,我们计划探索如何利用长链推理(CoT)来增强这些领域的任务表现。

语言混合:DeepSeek-R1目前针对中文和英文进行了优化,这可能会导致在处理其他语言查询时出现语言混合问题。例如,DeepSeek-R1可能会在推理和回答时使用英语,即便查询语言不是英语或中文。我们计划在未来的更新中解决这个限制。

提示工程:在评估DeepSeek-R1时,我们观察到它对提示非常敏感。少量示例提示会持续降低其性能。因此,我们建议用户直接描述问题并指定输出格式,采用零-shot设置以获得最佳结果。

软件工程任务:由于评估时间较长,影响了强化学习过程的效率,大规模强化学习尚未广泛应用于软件工程任务。因此,DeepSeek-R1在软件工程基准测试上并未比DeepSeek-V3表现出显著的改进。未来的版本将通过在软件工程数据上实施拒绝采样,或在强化学习过程中引入异步评估来提高效率,从而解决这一问题。

参考资料

https://arxiv.org/abs/2501.12948

https://aipapersacademy.com/deepseek-r1/