Toc
  1. DeepSeek-R1:通过强化学习激发大语言模型的推理能力
    1. 摘要
    2. 目录
    3. 1. 引言
      1. 1.1 贡献
      2. 1.2 评估结果总结
    4. 2. 方法
      1. 2.1 概述
      2. 2.2 DeepSeek-R1-Zero:基于基础模型的强化学习
        1. 2.2.1 强化学习算法
        2. 2.2.2 奖励建模
        3. 2.2.3 训练模板
        4. 2.2.4 DeepSeek-R1-Zero 的性能、自我进化过程和顿悟时刻
      3. 2.3 DeepSeek-R1:冷启动强化学习
        1. 2.3.1 冷启动
        2. 2.3.2 面向推理的强化学习
        3. 2.3.3 拒绝采样和监督微调
        4. 2.3.4 全场景强化学习
      4. 2.4 蒸馏:赋予小模型推理能力
    5. 3. 实验
      1. 3.1 DeepSeek-R1 评估
      2. 3.2 蒸馏模型评估
    6. 4. 讨论
      1. 4.1 蒸馏与强化学习
      2. 4.2 失败尝试
    7. 5. 结论、局限性和未来工作
Toc
0 results found
DeepSeek-R1:通过强化学习激发大语言模型的推理能力(中文翻译)
2025/02/11

img

微信公众号:芯路探灿

本文使用豆包进行翻译

论文地址:https://github.com/deepseek-ai/DeepSeek-R1/blob/main/DeepSeek_R1.pdf

DeepSeek-R1 github repository:https://github.com/deepseek-ai/DeepSeek-R1

img

DeepSeek-R1:通过强化学习激发大语言模型的推理能力

DeepSeek-AI research@deepseek.com

摘要

我们推出了第一代推理模型 DeepSeek-R1-Zero 和 DeepSeek-R1。DeepSeek-R1-Zero 是一款通过大规模强化学习(RL)训练的模型,无需经过监督微调(SFT)作为初始步骤,展现出了卓越的推理能力。通过强化学习,DeepSeek-R1-Zero 自然涌现出许多强大且有趣的推理行为。然而,它也面临一些挑战,如可读性差和语言混杂等问题。为了解决这些问题并进一步提升推理性能,我们推出了 DeepSeek-R1,该模型在强化学习之前融入了多阶段训练和冷启动数据。DeepSeek-R1 在推理任务上的表现与 OpenAI-o1-1217 相当。为了支持研究社区,我们开源了 DeepSeek-R1-Zero、DeepSeek-R1,以及基于 Qwen 和 Llama 从 DeepSeek-R1 中提炼出的六个密集模型(15 亿、70 亿、80 亿、140 亿、320 亿、700 亿参数规模)。

目录

  1. 引言 3

  2. 方法

    2.1 概述

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

    ​ 2.2.1 强化学习算法

    ​ 2.2.2 奖励建模

    ​ 2.2.3 训练模板

    ​ 2.2.4 DeepSeek-R1-Zero 的性能、自我进化过程和顿悟时刻

    2.3 DeepSeek-R1:冷启动强化学习

    ​ 2.3.1 冷启动

    ​ 2.3.2 面向推理的强化学习

    ​ 2.3.3 拒绝采样和监督微调

    ​ 2.3.4 全场景强化学习

    2.4 蒸馏:赋予小模型推理能力

  3. 实验

    3.1 DeepSeek-R1 评估

    3.2 蒸馏模型评估

  4. 讨论

    4.1 蒸馏与强化学习

    4.2 失败尝试

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

  6. 贡献和致谢

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)提升语言模型推理能力的第一步。我们的目标是探索大语言模型在没有任何监督数据的情况下发展推理能力的潜力,专注于通过纯强化学习过程实现自我进化。具体来说,我们使用 DeepSeek-V3-Base 作为基础模型,并采用 GRPO(Shao 等人,2024)作为强化学习框架,以提高模型在推理任务中的性能。在训练过程中,DeepSeek-R1-Zero 自然涌现出许多强大且有趣的推理行为。经过数千步的强化学习,DeepSeek-R1-Zero 在推理基准测试中表现出色。例如,在 2024 年美国数学邀请赛(AIME 2024)上,其单次预测准确率(pass@1)从 15.6% 提高到了 71.0%,通过多数投票,这一分数进一步提升至 86.7%,与 OpenAI-o1-0912 的性能相匹配。

然而,DeepSeek-R1-Zero 也面临着可读性差和语言混杂等挑战。为了解决这些问题并进一步提升推理性能,我们推出了 DeepSeek-R1,它结合了少量冷启动数据和多阶段训练流程。具体而言,我们首先收集数千条冷启动数据来微调 DeepSeek-V3-Base 模型。随后,我们像训练 DeepSeek-R1-Zero 一样进行面向推理的强化学习。在强化学习过程接近收敛时,我们通过对强化学习检查点进行拒绝采样,并结合来自 DeepSeek-V3 在写作、事实性问答和自我认知等领域的监督数据,创建新的监督微调数据,然后重新训练 DeepSeek-V3-Base 模型。用新数据微调后,检查点会经历额外的强化学习过程,同时考虑所有场景的提示。经过这些步骤,我们得到了一个名为 DeepSeek-R1 的检查点,其性能与 OpenAI-o1-1217 相当。

我们进一步探索了从 DeepSeek-R1 向较小的密集模型进行知识蒸馏。以 Qwen2.5-32B(Qwen, 2024b)为基础模型,直接从 DeepSeek-R1 进行蒸馏的效果优于对其应用强化学习。这表明,较大基础模型发现的推理模式对于提升推理能力至关重要。我们开源了经过蒸馏的 Qwen 和 Llama(Dubey 等人,2024)系列模型。值得注意的是,我们蒸馏的 140 亿参数模型大幅超越了之前最先进的开源模型 QwQ-32B-Preview(Qwen, 2024a),而蒸馏的 320 亿和 700 亿参数模型在密集模型的推理基准测试中创下了新纪录。

1.1 贡献

  • 后训练:基于基础模型的大规模强化学习:我们直接将强化学习应用于基础模型,而不依赖监督微调(SFT)作为初始步骤。这种方法使模型能够探索思维链(CoT)来解决复杂问题,从而开发出 DeepSeek-R1-Zero。DeepSeek-R1-Zero 展现出自我验证、反思和生成长思维链等能力,为研究界树立了重要的里程碑。值得注意的是,这是首次通过公开研究验证,大语言模型的推理能力可以纯粹通过强化学习来激发,而无需监督微调。这一突破为该领域的未来发展铺平了道路。
  • 开发 DeepSeek-R1 的流程:我们介绍了开发 DeepSeek-R1 的流程。该流程包含两个强化学习阶段,旨在发现更好的推理模式并符合人类偏好;还包含两个监督微调阶段,为模型的推理和非推理能力奠定基础。我们相信,这一流程将有助于创建更优秀的模型,从而使整个行业受益。
  • 知识蒸馏:小模型也能强大:我们证明了较大模型的推理模式可以蒸馏到较小模型中,与通过强化学习在小模型中发现的推理模式相比,能带来更好的性能提升。开源的 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 系列的 15 亿、70 亿、80 亿、140 亿、320 亿和 700 亿参数规模的蒸馏模型检查点。

1.2 评估结果总结

  • 推理任务:(1)DeepSeek-R1 在 AIME 2024 上的单次预测准确率(Pass@1)达到 79.8%,略高于 OpenAI-o1-1217。在 MATH-500 上,它取得了令人瞩目的 97.3% 的高分,与 OpenAI-o1-1217 表现相当,显著超越了其他模型。(2)在与编码相关的任务中,DeepSeek-R1 在代码竞赛任务中展现出专家级水平,在 Codeforces 上获得了 2029 的 Elo 评级,超过了 96.3% 的参赛选手。在与工程相关的任务中,DeepSeek-R1 的表现略优于 DeepSeek-V3,这有助于开发人员处理实际任务。
  • 知识:在 MMLU、MMLU-Pro 和 GPQA Diamond 等基准测试中,DeepSeek-R1 取得了出色的成绩,在 MMLU 上得分为 90.8%,在 MMLU-Pro 上得分为 84.0%,在 GPQA Diamond 上得分为 71.5%,显著超越了 DeepSeek-V3。虽然在这些基准测试中,它的性能略低于 OpenAI-o1-1217,但 DeepSeek-R1 超过了其他闭源模型,在教育任务中展现出了竞争优势。在事实性基准测试 SimpleQA 上,DeepSeek-R1 的表现优于 DeepSeek-V3,证明了它处理基于事实的查询的能力。在这个基准测试中,OpenAI-o1 也超越了 GPT-4o,呈现出类似的趋势。
  • 其他方面:DeepSeek-R1 在广泛的任务中也表现出色,包括创意写作、通用问答、编辑、总结等。它在 AlpacaEval 2.0 上的长度控制胜率达到 87.6%,在 ArenaHard 上的胜率达到 92.3%,展示了其智能处理非考试导向查询的强大能力。此外,DeepSeek-R1 在需要长上下文理解的任务中表现出色,在长上下文基准测试中大幅超越 DeepSeek-V3。

2. 方法

2.1 概述

以往的工作严重依赖大量的监督数据来提升模型性能。在本研究中,我们证明了即使不使用监督微调(SFT)作为冷启动,通过大规模强化学习(RL)也能显著提高推理能力。此外,加入少量冷启动数据可以进一步提升性能。在接下来的部分,我们将介绍:(1)DeepSeek-R1-Zero,它直接将强化学习应用于基础模型,无需任何监督微调数据;(2)DeepSeek-R1,它从用数千个长思维链(CoT)示例微调后的检查点开始应用强化学习;(3)将 DeepSeek-R1 的推理能力蒸馏到小的密集模型中。

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

强化学习在推理任务中已显示出显著的有效性,我们之前的工作(Shao 等人,2024; Wang 等人,2023)也证明了这一点。然而,这些工作严重依赖监督数据,而收集监督数据非常耗时。在本节中,我们探索大语言模型在没有任何监督数据的情况下发展推理能力的潜力,专注于通过纯强化学习过程实现自我进化。我们首先简要概述我们的强化学习算法,然后展示一些令人振奋的结果,希望能为研究社区提供有价值的见解。

2.2.1 强化学习算法

为了节省强化学习的训练成本,我们采用了组相对策略优化(GRPO)(Shao 等人,2024),它省去了通常与策略模型大小相同的价值评估模型,并通过组分数来估计基线。具体来说,对于每个问题 q,GRPO 从旧策略$\pi_{\theta_{old}}$中采样一组输出${o_{1}, o_{2}, \cdots, o_{G}}$,然后通过最大化以下目标来优化策略模型$\pi_{\theta}$

$\begin{aligned} \mathcal{J}{GRPO}(\theta) & =\mathbb{E}\left[q \sim P(Q),\left{o{i}\right}{i=1}^{G} \sim \pi{\theta_{old }}(O | q)\right] \ & \frac{1}{G} \sum_{i=1}^{G}\left(min \left(\frac{\pi_{\theta}\left(o_{i} | q\right)}{\pi_{\theta_{old }}\left(o_{i} | q\right)} A_{i}, clip\left(\frac{\pi_{\theta}\left(o_{i} | q\right)}{\pi_{\theta_{old }}\left(o_{i} | q\right)}, 1-\varepsilon, 1+\varepsilon\right) A_{i}\right)-\beta \mathbb{D}{KL}\left(\pi{\theta} | \pi_{ref}\right)\right), \end{aligned}$
$\mathbb{D}{KL}\left(\pi{\theta} | \pi_{ref}\right)=\frac{\pi_{ref}\left(o_{i} | q\right)}{\pi_{\theta}\left(o_{i} | q\right)}-log \frac{\pi_{ref}\left(o_{i} | q\right)}{\pi_{\theta}\left(o_{i} | q\right)}-1,$

其中$\varepsilon$和$\beta$是超参数,$A_{i}$是优势,通过每组输出对应的一组奖励${r_{1}, r_{2}, \cdots, r_{G}}$计算得出:

$A_{i}=\frac{r_{i}-mean\left(\left{r_{1}, r_{2}, \cdots, r_{G}\right}\right)}{std\left(\left{r_{1}, r_{2}, \cdots, r_{G}\right}\right)}.$

2.2.2 奖励建模

image-20250211211024038

用户和助手之间进行对话。用户提出一个问题,助手来解答。助手会先在脑海中思考推理过程,然后再给用户提供答案。推理过程和答案分别包含在标签内,即这里是推理过程这里是答案。用户:[输入提示内容]。助手:

表 1 | DeepSeek-R1-Zero 的训练模板。在训练过程中,“prompt” 会被具体的推理问题所替代。

奖励是训练信号的来源,它决定了强化学习的优化方向。为了训练 DeepSeek-R1-Zero,我们采用了基于规则的奖励系统,主要包括两种类型的奖励:

  • 准确率奖励:准确率奖励模型评估模型的回答是否正确。例如,对于有确定答案的数学问题,要求模型以指定格式(例如在方框内)给出最终答案,以便通过基于规则的方法可靠地验证正确性。类似地,对于 LeetCode 问题,可以使用编译器根据预定义的测试用例生成反馈。
  • 格式奖励:除了准确率奖励模型,我们还采用了格式奖励模型,强制模型将其思考过程放在‘’和‘’标签之间。

在开发 DeepSeek-R1-Zero 时,我们没有应用结果或过程神经奖励模型,因为我们发现神经奖励模型在大规模强化学习过程中可能会受到奖励作弊的影响,并且重新训练奖励模型需要额外的训练资源,这会使整个训练流程变得复杂。

2.2.3 训练模板

为了训练 DeepSeek-R1-Zero,我们首先设计了一个简单的模板,引导基础模型遵循我们指定的指令。如表 1 所示,这个模板要求 DeepSeek-R1-Zero 首先生成推理过程,然后给出最终答案。我们有意将约束限制在这种结构格式上,避免任何特定内容的偏差,例如强制进行反思性推理或推广特定的解题策略,以确保我们能够准确观察模型在强化学习过程中的自然进展。

2.2.4 DeepSeek-R1-Zero 的性能、自我进化过程和顿悟时刻

  • DeepSeek-R1-Zero 的性能:图 2 展示了 DeepSeek-R1-Zero 在 AIME 2024 基准测试中强化学习训练过程中的性能轨迹。可以看出,随着强化学习训练的推进,DeepSeek-R1-Zero 的性能稳步提升。值得注意的是,AIME 2024 上的平均单次预测准确率(pass@1)显著提高,从最初的 15.6% 跃升至令人瞩目的 71.0%,达到了与 OpenAI-o1-0912 相当的性能水平。这一显著改进凸显了我们的强化学习算法随着时间推移优化模型性能的有效性。

image-20250211210952299

模型 AIME 2024 MATH-500 pass@1 GPQA Diamond pass@1 LiveCode Bench pass@1 CodeForces rating
pass@1 cons@64
OpenAI-01-mini 63.6 80.0 90.0 60.0 53.8 1820
OpenAl-o1-0912 74.4 83.3 94.8 77.3 63.4 1843
DeepSeek-R1-Zero 71.0 86.7 95.9 73.3 50.0 1444

image-20250211211116538

  • DeepSeek-R1-Zero 的自我进化过程:DeepSeek-R1-Zero 的自我进化过程充分展示了强化学习如何驱动模型自主提升推理能力。通过直接从基础模型启动强化学习,我们可以在不受监督微调阶段影响的情况下,密切监测模型的进展。这种方式清晰地呈现了模型随着时间的推移是如何演变的,特别是在处理复杂推理任务的能力方面。

    image-20250211211154517

    如图 3 所示,DeepSeek-R1-Zero 的思考时间在整个训练过程中持续改善。这种改善并非外部调整的结果,而是模型内部自然发展的体现。DeepSeek-R1-Zero 通过利用更长的测试时计算,自然而然地获得了解决日益复杂推理任务的能力。这个计算过程会生成数百到数千个推理令牌,使模型能够更深入地探索和完善其思维过程。

    这种自我进化最显著的方面之一,就是随着测试时计算量的增加,复杂行为开始出现。比如,模型会进行反思,即重新审视和评估之前的步骤,还会自发地探索解决问题的替代方法。这些行为并非预先编程设定的,而是模型与强化学习环境交互的结果。这种自发的发展极大地提升了 DeepSeek-R1-Zero 的推理能力,使其能够更高效、准确地应对更具挑战性的任务。

    • DeepSeek-R1-Zero 的顿悟时刻:在训练 DeepSeek-R1-Zero 的过程中,一个特别有趣的现象是 “顿悟时刻” 的出现。如表 3 所示,这个时刻出现在模型的一个中间版本中。在此阶段,DeepSeek-R1-Zero 学会了通过重新评估初始方法,为一个问题分配更多思考时间。这一行为不仅证明了模型推理能力的提升,也是强化学习能够带来意想不到的复杂结果的生动例证。

    这一时刻不仅对模型来说是 “顿悟时刻”,对于观察其行为的研究人员而言也是如此。它凸显了强化学习的强大力量与美妙之处:我们无需明确教导模型如何解决问题,只需给予正确的激励,它就能自主开发出先进的问题解决策略。“顿悟时刻” 有力地证明了强化学习在解锁人工智能系统新智能水平方面的潜力,为未来开发更自主、自适应的模型铺平了道路。

    image-20250211211307161

    • DeepSeek-R1-Zero 的缺点:尽管 DeepSeek-R1-Zero 展现出强大的推理能力,还自主发展出了一些出人意料的强大推理行为,但它也面临着一些问题。例如,DeepSeek-R1-Zero 存在可读性差和语言混杂等问题。为了使推理过程更具可读性,并与开源社区共享,我们探索了 DeepSeek-R1,这是一种利用对人类友好的冷启动数据进行强化学习的方法。

    2.3 DeepSeek-R1:冷启动强化学习

    受 DeepSeek-R1-Zero 有前景的结果启发,两个很自然的问题出现了:第一,通过引入少量高质量数据作为冷启动,能否进一步提高推理性能或加快收敛速度?第二,我们如何训练一个对用户友好的模型,使其不仅能生成清晰、连贯的思维链(CoT),还具备强大的通用能力?为了解决这些问题,我们设计了一个训练 DeepSeek-R1 的流程,该流程包含四个阶段,具体如下。

    2.3.1 冷启动

    与 DeepSeek-R1-Zero 不同,为了避免从基础模型进行强化学习训练时早期不稳定的冷启动阶段,对于 DeepSeek-R1,我们构建并收集了少量长思维链数据,用于微调模型,作为初始的强化学习行动者。为了收集这些数据,我们探索了多种方法:使用带有长思维链示例的少样本提示、直接促使模型生成带有反思和验证的详细答案、收集格式可读的 DeepSeek-R1-Zero 输出,以及通过人工标注进行后处理来优化结果 。

    在这项工作中,我们收集了数千条冷启动数据,对 DeepSeek-V3-Base 进行微调,以此作为强化学习的起点。与 DeepSeek-R1-Zero 相比,冷启动数据的优势包括:

    • 可读性:DeepSeek-R1-Zero 的一个关键局限是其内容往往不适合阅读。回复可能会混合多种语言,或者缺少用于突出答案的 Markdown 格式。相比之下,在为 DeepSeek-R1 创建冷启动数据时,我们设计了一种可读模式,在每个回复的结尾添加总结,并过滤掉对读者不友好的回复。这里,我们将输出格式定义为 | 特殊标记 |<推理过程>| 特殊标记 |< 总结 >,其中推理过程是针对查询的思维链,总结用于概括推理结果。
    • 潜力:通过结合人类先验知识,精心设计冷启动数据的模式,我们观察到 DeepSeek-R1 比 DeepSeek-R1-Zero 表现更好。我们认为迭代训练对于推理模型而言是更好的方式。

    2.3.2 面向推理的强化学习

    在冷启动数据上对 DeepSeek-V3-Base 进行微调后,我们采用与 DeepSeek-R1-Zero 相同的大规模强化学习训练过程。此阶段专注于提升模型的推理能力,尤其是在编码、数学、科学和逻辑推理等推理密集型任务上,这些任务的问题定义明确,答案清晰。在训练过程中,我们发现思维链经常出现语言混杂的情况,特别是当强化学习提示涉及多种语言时。为了缓解语言混杂问题,我们在强化学习训练中引入了语言一致性奖励,它被计算为思维链中目标语言单词的比例。尽管消融实验表明,这种调整会导致模型性能略有下降,但该奖励符合人类偏好,使推理过程更具可读性。最后,我们将推理任务的准确率和语言一致性奖励直接相加,形成最终奖励。然后,我们对微调后的模型进行强化学习训练,直到其在推理任务上达到收敛。

    2.3.3 拒绝采样和监督微调

    当面向推理的强化学习收敛后,我们利用得到的检查点来收集用于后续轮次的监督微调(SFT)数据。与最初主要关注推理的冷启动数据不同,此阶段纳入了来自其他领域的数据,以提升模型在写作、角色扮演和其他通用任务方面的能力。具体而言,我们按如下方式生成数据并微调模型:

    • 推理数据:我们整理推理提示,并通过对上述强化学习训练的检查点进行拒绝采样,生成推理轨迹。在之前的阶段,我们只纳入了可以使用基于规则的奖励进行评估的数据。然而,在这个阶段,我们通过纳入更多数据来扩展数据集,其中一些数据使用生成式奖励模型,将真实答案和模型预测输入 DeepSeek-V3 进行判断。此外,由于模型输出有时较为混乱且难以阅读,我们过滤掉了语言混杂的思维链、冗长的段落和代码块。对于每个提示,我们采样多个回复,只保留正确的回复。总共,我们收集了约 60 万个与推理相关的训练样本。
    • 非推理数据:对于非推理数据,如写作、事实性问答、自我认知和翻译,我们采用 DeepSeek-V3 的流程,并复用 DeepSeek-V3 的部分监督微调数据集。对于某些非推理任务,在回答问题前,我们会调用 DeepSeek-V3 生成潜在的思维链。不过,对于像 “你好” 这样简单的查询,我们不会提供思维链作为回复。最终,我们收集了总共约 20 万个与推理无关的训练样本。

    我们使用上述整理的约 80 万个样本的数据集,对 DeepSeek-V3-Base 进行两个轮次的微调。

    2.3.4 全场景强化学习

    为了使模型更好地符合人类偏好,我们实施了第二个强化学习阶段,旨在提升模型的实用性和无害性,同时进一步优化其推理能力。具体来说,我们结合奖励信号和多样化的提示分布来训练模型。对于推理数据,我们遵循 DeepSeek-R1-Zero 中概述的方法,利用基于规则的奖励来指导数学、代码和逻辑推理领域的学习过程。对于通用数据,我们借助奖励模型来捕捉复杂和微妙场景中的人类偏好。我们基于 DeepSeek-V3 的流程,采用类似的偏好对和训练提示分布。在实用性方面,我们仅关注最终总结,确保评估重点在于回复对用户的实用性和相关性,同时尽量减少对底层推理过程的干扰。在无害性方面,我们评估模型的整个回复,包括推理过程和总结,以识别并减轻生成过程中可能出现的任何潜在风险、偏差或有害内容。最终,奖励信号和多样化数据分布的整合,使我们能够训练出一个在推理方面表现出色,同时注重实用性和无害性的模型。

    2.4 蒸馏:赋予小模型推理能力

    为了让更高效的小模型也具备类似 DeepSeek-R1 的推理能力,我们使用为 DeepSeek-R1 整理的 80 万个样本,直接对 Qwen(Qwen, 2024b)和 Llama(AI@Meta, 2024)等开源模型进行微调,具体细节见 2.3.3 节 。我们的研究结果表明,这种简单的蒸馏方法能显著提升小模型的推理能力。这里我们使用的基础模型有 Qwen2.5-Math-15 亿、Qwen2.5-Math-70 亿、Qwen2.5-140 亿、Qwen2.5-320 亿、Llama-3.1-80 亿和 Llama-3.3-700 亿 - Instruct。我们选择 Llama-3.3,是因为其推理能力略优于 Llama-3.1。

    对于蒸馏后的模型,我们仅进行监督微调,不包含强化学习阶段,尽管加入强化学习能大幅提升模型性能。我们在此的主要目标是展示蒸馏技术的有效性,将强化学习阶段的探索留给更广泛的研究社区。

    3. 实验

    • 基准测试:我们在多个基准测试中评估模型,包括 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 1、LiveCodeBench(Jain 等人,2024,数据收集于 2024 年 8 月 - 2025 年 1 月)、Codeforces 2、中国国家高中数学奥林匹克竞赛(CNMO 2024)3 以及 2024 年美国数学邀请赛(AIME 2024)(MAA,2024)。除了标准基准测试,我们还使用大语言模型作为评判,对模型在开放式生成任务上进行评估。具体来说,我们遵循 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 等标准基准测试使用 simpleevals 框架中的提示进行评估。对于 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 上的模型性能使用思维链格式进行评估,数据收集于 2024 年 8 月至 2025 年 1 月。Codeforces 数据集使用 10 场 Div.2 竞赛的问题以及专家设计的测试用例进行评估,之后计算预期评分和参赛者的百分比。SWE-Bench Verified 的结果通过无代理框架(Xia 等人,2024)获得。与 AIDER 相关的基准测试采用 “diff” 格式进行测量。DeepSeek-R1 在每个基准测试中的输出最大限制为 32768 个令牌。

    • 基线模型:我们针对几个强大的基线模型进行了全面评估,包括 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)进行比较。

    • 评估设置:我们将模型的最大生成长度设置为 32768 个令牌。我们发现,使用贪心解码评估长输出推理模型会导致较高的重复率,并且不同检查点之间存在显著差异。因此,我们默认采用 pass@𝑘评估(Chen 等人,2021),并使用非零温度报告 pass@1。具体来说,我们使用 0.6 的采样温度和 0.95 的 top-𝑝值,为每个问题生成𝑘个响应(通常在 4 到 64 之间,具体取决于测试集大小)。然后,pass@1 的计算方式为:

      $pass@1=\frac{1}{k}\sum_{i = 1}^{k}p_{i}$

    • 其中,𝑝𝑖表示第𝑖个响应的正确性。这种方法能提供更可靠的性能估计。对于 AIME 2024,我们还报告使用 64 个样本的共识(多数投票)结果(Wang 等人,2022),记为 cons@64。

    1https://aider.chat 2https://codeforces.com 3https://www.cms.org.cn/Home/comp/comp/cid/12.html

    3.1 DeepSeek-R1 评估

    image-20250211211644596

    基准测试(指标) Claude-3.5-Sonnet-1022 GPT-4o-0513 DeepSeek V3 OpenAI o1-mini OpenAI o1-1217 DeepSeek R1
    架构 混合专家(MoE) 混合专家(MoE)
    #激活参数 370 亿 370 亿
    #总参数 6710 亿 6710 亿
    英文 MMLU(单次预测准确率) 88.3 87.2 88.5 85.2 91.8 90.8
    MMLU-Redux(准确率) 88.9 88.0 89.1 86.7 92.9
    MMLU-Pro(准确率) 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(严格提示) 86.5 84.3 86.1 84.8 83.3
    GPQA Diamond(单次预测准确率) 65.0 49.9 59.1 60.0 75.7 71.5
    SimpleQA(正确) 28.4 38.2 24.9 7.0 47.0 30.1
    FRAMES(准确率) 72.5 80.5 73.3 76.9 82.5
    AlpacaEval2.0(长度控制胜率) 52.0 51.1 70.0 57.8 87.6
    ArenaHard(GPT-4-1106) 85.2 80.4 85.5 92.0 92.3
    代码 LiveCodeBench(思维链单次预测准确率) 38.9 32.9 36.2 53.8 63.4 65.9
    Codeforces(百分位排名) 20.3 23.6 58.7 93.4 96.6 96.3
    Codeforces(评级) 717 759 1134 1820 2061 2029
    SWE Verified(解决率) 50.8 38.8 42.0 41.6 48.9 49.2
    Aider-Polyglot(准确率) 45.3 16.0 49.6 32.9 61.7 53.3
    数学 AIME 2024(单次预测准确率) 16.0 9.3 39.2 63.6 79.2 79.8
    MATH-500(单次预测准确率) 78.3 74.6 90.2 90.0 96.4 97.3
    CNMO 2024(单次预测准确率) 13.1 10.8 43.2 67.6 78.8
    中文 CLUEWSC (准确率) 85.4 87.9 90.9 89.9 92.8
    C-Eval(准确率) 76.7 76.0 86.5 68.9 91.8
    C-SimpleQA(正确) 55.4 58.7 68.0 40.3 63.7

    在面向教育的知识基准测试,如 MMLU、MMLU-Pro 和 GPQA Diamond 中,DeepSeek-R1 比 DeepSeek-V3 表现更优。这种提升主要归因于在 STEM 相关问题上准确率的提高,通过大规模强化学习在这些问题上取得了显著进步。此外,DeepSeek-R1 在 FRAMES(一个依赖长上下文的问答任务)中表现出色,展示了其强大的文档分析能力。这突出了推理模型在人工智能驱动的搜索和数据分析任务中的潜力。在事实性基准测试 SimpleQA 上,DeepSeek-R1 的表现优于 DeepSeek-V3,证明了它处理基于事实的查询的能力。在这个基准测试中,OpenAI-o1 优于 GPT-4o,DeepSeek-R1 也呈现出类似的趋势。不过,在中文 SimpleQA 基准测试中,DeepSeek-R1 的表现比 DeepSeek-V3 差,这主要是因为在经过安全性强化学习后,它倾向于拒绝回答某些查询。如果不进行安全性强化学习,DeepSeek-R1 的准确率能超过 70%。

    DeepSeek-R1 在 IF-Eval(一个评估模型遵循格式指令能力的基准测试)上也取得了令人瞩目的成绩。这些改进可归因于在监督微调(SFT)和强化学习训练的最后阶段加入了指令遵循数据。此外,在 AlpacaEval2.0 和 ArenaHard 上,DeepSeek-R1 表现卓越,这表明它在写作任务和开放域问答方面具有优势。它显著超越 DeepSeek-V3 的表现,突出了大规模强化学习的泛化优势,不仅提升了推理能力,还提高了在不同领域的性能。而且,DeepSeek-R1 生成的总结长度简洁,在 ArenaHard 上平均为 689 个令牌,在 AlpacaEval 2.0 上平均为 2218 个字符。这表明 DeepSeek-R1 在基于 GPT 的评估中避免了引入长度偏差,进一步巩固了它在多个任务上的稳健性。

    在数学任务上,DeepSeek-R1 的表现与 OpenAI-o1-1217 相当,大幅超越其他模型。在编码算法任务,如 LiveCodeBench 和 Codeforces 中也观察到类似趋势,以推理为重点的模型在这些基准测试中占据主导地位。在面向工程的编码任务上,OpenAI-o1-1217 在 Aider 上的表现优于 DeepSeek-R1,但在 SWE Verified 上二者表现相当。我们认为,随着目前相关强化学习训练数据量的增加,DeepSeek-R1 的工程性能将在后续版本中得到提升。

    3.2 蒸馏模型评估

    image-20250211211714640

    模型 AIME 2024 MATH-500 pass@1 GPQA Diamond pass@1 LiveCode Bench pass@1 CodeForces rating
    pass@1 cons@64
    GPT-4o-0513 9.3 13.4 74.6 49.9 32.9 759
    Claude-3.5-Sonnet-1022 16.0 26.7 78.3 65.0 38.9 717
    OpenAI-o1-mini 63.6 80.0 90.0 60.0 53.8 1820
    QwQ-32B-Preview 50.0 60.0 90.6 54.5 41.9 1316
    DeepSeek-R1-Distill-Qwen-1.5B 28.9 52.7 83.9 33.8 16.9 954
    DeepSeek-R1-Distill-Qwen-7B 55.5 83.3 92.8 49.1 37.6 1189
    DeepSeek-R1-Distill-Qwen-14B 69.7 80.0 93.9 59.1 53.1 1481
    DeepSeek-R1-Distill-Qwen-32B 72.6 83.3 94.3 62.1 57.2 1691
    DeepSeek-R1-Distill-Llama-8B 50.4 80.0 89.1 49.0 39.6 1205
    DeepSeek-R1-Distill-Llama-70B 70.0 86.7 94.5 65.2 57.5 1633

    如表 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。这些结果展示了蒸馏的强大潜力。此外,我们发现对这些蒸馏模型应用强化学习会带来进一步的显著提升。我们认为这值得进一步探索,因此在此仅展示简单监督微调蒸馏模型的结果。

    4. 讨论

    4.1 蒸馏与强化学习

    在 3.2 节中可以看到,通过蒸馏 DeepSeek-R1,小模型能取得令人瞩目的成绩。然而,仍有一个问题:模型不通过蒸馏,仅通过本文中讨论的大规模强化学习训练,能否达到类似的性能?

    为了回答这个问题,我们使用数学、代码和 STEM 数据对 Qwen-32B-Base 进行大规模强化学习训练,训练超过 10000 步,得到 DeepSeek-R1-Zero-Qwen-32B。实验结果如表 6 所示,经过大规模强化学习训练的 320 亿参数基础模型,性能与 QwQ-32B-Preview 相当。然而,从 DeepSeek-R1 蒸馏得到的 DeepSeek-R1-Distill-Qwen-32B,在所有基准测试中的表现都显著优于 DeepSeek-R1-Zero-Qwen-32B。

    image-20250211211736296

    模型 AIME 2024 MATH-500 pass@1 GPQA Diamond pass@1 LiveCodeBench pass@1
    pass@1 cons@64
    QwQ-32B-Preview 50.0 60.0 90.6 54.5 41.9
    DeepSeek-R1-Zero-Qwen-32B 47.0 60.0 91.6 55.0 40.2
    DeepSeek-R1-Distill-Qwen-32B 72.6 83.3 94.3 62.1 57.2

    因此,我们可以得出两个结论:第一,将更强大的模型蒸馏到较小的模型中能产生出色的结果,而依赖本文中提到的大规模强化学习的小模型,需要巨大的计算资源,甚至可能无法达到蒸馏模型的性能。第二,虽然蒸馏策略既经济又有效,但要突破智能的界限,可能仍然需要更强大的基础模型和大规模的强化学习。

    4.2 失败尝试

    在开发 DeepSeek-R1 的早期阶段,我们也经历了失败和挫折。我们在此分享这些失败经历,以提供见解,但这并不意味着这些方法无法开发出有效的推理模型。

    • 过程奖励模型(PRM):PRM 是一种引导模型找到更好的推理任务解决方法的合理方式(Lightman 等人,2023; Uesato 等人,2022; Wang 等人,2023)。然而,在实践中,PRM 存在三个主要限制,可能会阻碍其最终成功。第一,在一般推理中,明确定义细粒度的步骤具有挑战性。第二,判断当前中间步骤是否正确是一项艰巨的任务。使用模型进行自动标注可能无法获得令人满意的结果,而人工标注不利于大规模应用。第三,一旦引入基于模型的 PRM,不可避免地会导致奖励作弊(Gao 等人,2022),重新训练奖励模型需要额外的训练资源,并且会使整个训练流程复杂化。总之,虽然 PRM 在对模型生成的前 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 在数学基准测试中表现优于 GPT-4o 和 Claude-3.5-Sonnet,在 AIME 上得分为 28.9%,在 MATH 上得分为 83.9%。其他密集模型也取得了令人瞩目的成绩,显著超越了基于相同基础检查点的其他指令调整模型。

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

    • 通用能力:目前,DeepSeek-R1 在函数调用、多轮交互、复杂角色扮演和 JSON 输出等任务上的能力不如 DeepSeek-V3。未来,我们计划探索如何利用长思维链来提升这些领域的任务表现。
    • 语言混杂:DeepSeek-R1 目前针对中文和英文进行了优化,在处理其他语言的查询时可能会出现语言混杂问题。例如,即使查询使用的不是中文或英文,DeepSeek-R1 也可能会用英文进行推理和回复。我们旨在在未来的更新中解决这一限制。
    • 提示工程:在评估 DeepSeek-R1 时,我们观察到它对提示很敏感。少样本提示会持续降低其性能。因此,我们建议用户直接描述问题,并使用零样本设置指定输出格式,以获得最佳结果。
    • 软件工程任务:由于评估时间长,影响了强化学习过程的效率,大规模强化学习尚未在软件工程任务中广泛应用。因此,在软件工程基准测试中,DeepSeek-R1 相对于 DeepSeek-V3 并没有表现出巨大的改进。未来版本将通过对软件工程数据进行拒绝采样,或在强化学习过程中纳入异步评估来提高效率,从而解决这一问题。
打赏
支付宝
微信
本文作者:Parker Luxu
版权声明:本文首发于Parker Luxu的博客,转载请注明出处!