DeepSeek-R1论文中文翻译及通俗解释
最近火遍全网,功能媲美OpenAI等国外最强大模型的DeepSeek,
R1论文链接以放在下面,供大家学习参考。
论文链接:https://github.com/deepseek-ai/DeepSeek-R1/blob/main/DeepSeek_R1.pdf
考虑到很多人英文阅读起来还是有点障碍,翻译成中文并附上通俗解释。
摘要
我们推出了第一代推理模型 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 亿参数规模)。
通俗解释
这部分主要讲了团队搞出了两个超厉害的推理模型,叫 DeepSeek-R1-Zero 和 DeepSeek-R1。DeepSeek-R1-Zero 是靠大规模强化学习训练出来的,没经过监督微调,就能自己 “琢磨” 出好多厉害的推理方法。但它也有点小毛病,像写出来的东西不太好懂,还会把不同语言混在一起。所以团队又搞出了 DeepSeek-R1,这个模型训练的时候加了些 “冷启动数据”,还分好几个阶段训练,就解决了前面那些问题,在推理能力上和 OpenAI 的一个超厉害的模型(OpenAI-o1-1217 )差不多厉害。最后,为了让大家一起研究,团队把这些模型还有基于它们做出来的一些小模型都开源了,谁都能拿去用。
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 在写作、事实性问答和自我认知等领域的监督数据,创建新的监督微调(SFT)数据,然后重新训练 DeepSeek-V3-Base 模型。用新数据微调后,该检查点再进行一轮强化学习,同时考虑所有场景的提示。经过这些步骤,我们得到了一个名为 DeepSeek-R1 的检查点,其性能与 OpenAI-o1-1217 相当。
我们进一步探索从 DeepSeek-R1 向较小的稠密模型进行知识蒸馏。以 Qwen2.532B(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 及其应用程序编程接口(API)将有助于研究社区在未来蒸馏出更好的小模型。
利用 DeepSeek-R1 生成的推理数据,我们对研究社区中广泛使用的几个稠密模型进行了微调。评估结果表明,蒸馏得到的较小稠密模型在基准测试中表现出色。DeepSeek-R1-Distill-Qwen-7B 在 2024 年美国数学邀请赛(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 在 2024 年美国数学邀请赛(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。
通俗解释
大语言模型这几年发展特别快,和通用人工智能的距离越来越近。后训练在提升模型能力上很有用,OpenAI 的 o1 系列模型通过增加推理步骤让模型在很多推理任务上表现变好,但怎么让模型在测试的时候也能这么厉害,大家还在研究。
这篇论文里,团队想用纯强化学习来提升模型的推理能力。他们用 DeepSeek-V3-Base 做基础模型,通过强化学习训练出了 DeepSeek-R1-Zero。这个模型训练的时候自己就琢磨出好多厉害的推理方法,在 AIME 2024 测试里成绩提高特别多。不过它也有问题,写出来的东西不好懂,还会把不同语言混在一起。
所以团队又搞出了 DeepSeek-R1,训练的时候先给模型一些 “冷启动数据”,再分阶段训练,最后这个模型的表现和 OpenAI-o1-1217 差不多。而且,团队还把 DeepSeek-R1 的推理能力 “教” 给了一些小模型,这些小模型在测试里成绩也很好,超过了很多以前的开源模型。
从测试结果来看,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)。该方法舍弃了通常与策略模型规模相同的价值网络,而是通过组得分来估计基线。具体来说,对于每个问题,

用户与助手进行对话。用户提出问题,助手进行解答。助手先在脑海中思考推理过程,然后为用户提供答案。推理过程和答案分别包含在<think></think>和<answer></answer>标签内,即<think>推理过程在此处</think><answer>答案在此处</answer>。用户:提示。助手:
用户 | 助手 |
---|---|
提示 | <think>推理过程在此处</think><answer>答案在此处</answer> |
表 1 DeepSeek-R1-Zero 的模板。训练过程中,提示部分会被具体的推理问题替代。
2.2.2 奖励建模
奖励是训练信号的来源,它决定了强化学习的优化方向。为训练 DeepSeek-R1-Zero,我们采用基于规则的奖励系统,主要包含两种类型的奖励:
- 准确率奖励:准确率奖励模型用于评估回答是否正确。例如,对于有确定答案的数学问题,要求模型以指定格式(如在方框内)给出最终答案,以便基于规则可靠地验证答案的正确性。同样,对于 LeetCode 问题,可以使用编译器根据预定义的测试用例生成反馈。
- 格式奖励:除准确率奖励模型外,我们还采用格式奖励模型,强制模型将其思考过程置于<think>和</think>标签之间。
在开发 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 在 2024 年美国数学邀请赛(AIME 2024)基准测试中,整个强化学习训练过程中的性能变化轨迹。如图所示,随着强化学习训练的推进,DeepSeek-R1-Zero 的性能稳步提升。值得注意的是,AIME 2024 上的平均单次回答正确(pass@1)得分显著提高,从最初的 15.6% 跃升至令人瞩目的 71.0%,达到了与 OpenAI-o1-0912 相当的性能水平。这一显著改进凸显了我们的强化学习算法随着时间推移优化模型性能的有效性。
表 2 对 DeepSeek-R1-Zero 和 OpenAI 的 o1-0912 模型在各种推理相关基准测试中的表现进行了对比分析。结果显示,强化学习使 DeepSeek-R1-Zero 在无需任何监督微调数据的情况下获得了强大的推理能力。这是一项值得关注的成就,因为它强调了模型仅通过强化学习就能有效学习和泛化的能力。此外,通过多数投票法,DeepSeek-R1-Zero 的性能还可以进一步提升。例如,在 AIME 基准测试中采用多数投票法时,DeepSeek-R1-Zero 的性能从 71.0% 提升至 86.7%,超过了 OpenAI-o1-0912 的性能。DeepSeek-R1-Zero 在使用和不使用多数投票法的情况下都能取得如此有竞争力的性能,凸显了其强大的基础能力以及在推理任务中进一步提升的潜力。 - DeepSeek-R1-Zero 的自我进化过程:DeepSeek-R1-Zero 的自我进化过程生动展示了强化学习如何驱动模型自主提升推理能力。通过直接从基础模型启动强化学习,我们可以在不受监督微调阶段影响的情况下,密切监测模型的发展。这种方法清晰呈现了模型随时间的演变,尤其是在处理复杂推理任务的能力方面。
如图 3 所示,DeepSeek-R1-Zero 的思考时间在整个训练过程中持续改善。这种改善并非外部调整的结果,而是模型内部的自然发展。DeepSeek-R1-Zero 通过利用更长的测试时计算资源,自然而然地获得了解决日益复杂推理任务的能力。这种计算过程从生成数百到数千个推理令牌不等,使模型能够更深入地探索和优化其思维过程。
这种自我进化最显著的特点之一是,随着测试时计算量的增加,模型会出现复杂的行为。例如,模型会自发地进行反思(重新审视和评估之前的步骤),并探索解决问题的替代方法。这些行为并非预先编程设定,而是模型与强化学习环境交互的结果。这种自发的发展显著增强了 DeepSeek-R1-Zero 的推理能力,使其能够更高效、准确地处理更具挑战性的任务。 - DeepSeek-R1-Zero 的顿悟时刻:在训练 DeepSeek-R1-Zero 的过程中,观察到一个特别有趣的现象 ——“顿悟时刻”。如表 3 所示,这个时刻出现在模型的一个中间版本中。在此阶段,DeepSeek-R1-Zero 学会了通过重新评估初始方法,为一个问题分配更多思考时间。这种行为不仅证明了模型推理能力的不断提升,也是强化学习能够产生意想不到的复杂结果的生动例证。
这个时刻不仅对模型来说是一个 “顿悟时刻”,对于观察其行为的研究人员而言也是如此。它凸显了强化学习的力量与魅力:我们并非直接教模型如何解决问题,而只是为其提供正确的激励,它就能自主开发出先进的问题解决策略。“顿悟时刻” 有力地提醒我们,强化学习具有解锁人工智能系统新智能水平的潜力,为未来开发更自主、自适应的模型铺平了道路。 - DeepSeek-R1-Zero 的缺点:尽管 DeepSeek-R1-Zero 展现出强大的推理能力,并自主发展出了意想不到的强大推理行为,但它也面临一些问题。例如,DeepSeek-R1-Zero 存在可读性差和语言混合等挑战。为了使推理过程更具可读性并与开放社区共享,我们探索了 DeepSeek-R1,这是一种利用强化学习并结合对人类友好的冷启动数据的方法。
通俗解释
以前提升模型能力大多靠大量的监督数据,这篇论文则证明了用大规模强化学习,就算不用监督微调,也能提升模型推理能力,加点冷启动数据效果还会更好。接下来就介绍了三种方法,这里先讲 DeepSeek-R1-Zero。
强化学习在推理任务里本来就挺好用,但以前收集监督数据太费时间。这次用的 GRPO 算法能省点训练成本,它不用和策略模型一样大的价值网络,通过一组数据的得分来估算基线,然后优化策略模型。
训练的时候,奖励很重要。DeepSeek-R1-Zero 用的是基于规则的奖励系统,一方面看答案对不对,对了就给准确率奖励,像数学题按要求格式答对了、LeetCode 问题通过测试用例就给分;另一方面要求模型按规定格式写推理过程,符合格式就给格式奖励。因为神经奖励模型容易出问题,还费资源,所以没采用。
训练模板就是让模型按规定来,先写推理过程,再写答案,这样能看看模型自己在强化学习过程中是怎么发展的。
从结果来看,DeepSeek-R1-Zero 在 AIME 2024 测试里成绩越来越好,和 OpenAI-o1-0912 差不多,用多数投票法还能超过它。而且在训练过程中,它思考时间越来越长,自己就学会解决更难的问题,还能反思、找新方法,就像突然 “开窍” 了一样。不过它也有问题,写的东西不好懂,还会混着多种语言,所以就有了后面的 DeepSeek-R1 。
2.3 DeepSeek-R1:基于冷启动的强化学习
受 DeepSeek-R1-Zero 令人鼓舞的结果启发,自然产生了两个问题:1)通过引入少量高质量数据作为冷启动,能否进一步提高推理性能或加快收敛速度?2)如何训练一个既能够生成清晰、连贯的思维链(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-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 的流程,采用类似的偏好对和训练提示分布。在评估实用性时,我们仅关注最终的总结,确保评估重点在于回答对用户的实用性和相关性,同时尽量减少对底层推理过程的干扰。在评估无害性时,我们评估模型的整个回答,包括推理过程和总结,以识别并减轻生成过程中可能出现的任何潜在风险、偏差或有害内容。最终,奖励信号和多样化数据分布的整合使我们能够训练出一个在推理方面表现出色,同时注重实用性和无害性的模型。
通俗解释
DeepSeek-R1-Zero 表现不错,但是大家还想让模型更好,就有了两个新问题:用点高质量数据做冷启动,能不能让模型推理能力更强、训练更快?能不能训练出既会清晰推理,又有很多通用能力,对用户很友好的模型?所以就设计了 DeepSeek-R1 的训练流程,有四个阶段。
第一个阶段是冷启动。DeepSeek-R1-Zero 从基础模型直接训练,前期不太稳定。DeepSeek-R1 就先收集一些长思维链数据,微调模型。收集数据的方法有好几种,像用带长思维链的例子提示模型、让模型自己生成详细答案再优化等。冷启动数据有两个好处,一是更可读,以前模型回答的内容不好懂,现在设计了新格式,回答完还有总结;二是性能更好,结合了人的经验设计的数据,训练效果更好。
第二个阶段是面向推理的强化学习。用冷启动数据微调完模型后,就用和训练 DeepSeek-R1-Zero 一样的强化学习方法训练。这个阶段主要提升模型在一些推理任务上的能力。训练时发现思维链会混语言,就加了个语言一致性奖励,虽然对性能有点影响,但是生成的内容更符合人的习惯,更好懂。把准确率和这个奖励加起来作为最终奖励,一直训练到模型在推理任务上表现稳定。
第三个阶段是拒绝采样与监督微调。前面强化学习训练稳定后,就用得到的模型收集新数据来微调。这次的数据不只是推理的,还有写作、问答这些其他领域的数据。推理数据通过拒绝采样得到,还扩展了数据集,去掉不好的内容;非推理数据用 DeepSeek-V3 的流程收集,简单问题就不用思维链回答。最后用这些收集到的 80 万个样本的数据,微调模型两轮。
最后一个阶段是全场景强化学习。为了让模型更符合人的喜好,又进行了一次强化学习训练。对推理数据和以前一样用基于规则的奖励训练;对通用数据,用奖励模型来符合人的偏好。评估的时候,实用性只看总结有没有用、相不相关,无害性则检查整个回答有没有问题。这样训练出来的模型,推理厉害,还好用、安全。
2.4 知识蒸馏:赋予小模型推理能力
为了使更高效的小模型也具备像 DeepSeek-R1 那样的推理能力,我们使用为 DeepSeek-R1 整理的 80 万个样本,直接对 Qwen(Qwen, 2024b)和 Llama(AI@Meta, 2024)等开源模型进行微调,具体细节见 2.3.3 节。我们的研究结果表明,这种简单的知识蒸馏方法能够显著提升小模型的推理能力。这里使用的基础模型包括 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。
对于蒸馏后的模型,我们仅进行监督微调,不包含强化学习阶段,尽管加入强化学习可以大幅提升模型性能。我们在此的主要目的是展示知识蒸馏技术的有效性,将强化学习阶段的探索留给更广泛的研究社区。
通俗解释
团队想让小模型也能像 DeepSeek-R1 一样会推理,就用 DeepSeek-R1 整理的 80 万个样本去微调 Qwen、Llama 这些开源模型。结果发现,这样简单的操作就能让小模型推理能力变强。用的基础模型有不同参数规模的,像 15 亿、70 亿参数的等,选 Llama-3.3 是因为它推理能力相对好一点。
蒸馏后的小模型只做了监督微调,没做强化学习,虽然做强化学习能让模型性能更好,但团队这次主要是想看看蒸馏方法好不好用,强化学习就留给其他研究人员去探索了。
3. 实验
3.1 DeepSeek-R1 评估
基准测试(指标) | 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 次提示 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 |
表 4 DeepSeek-R1 与其他代表性模型的比较
在 MMLU、MMLU-Pro 和 GPQA Diamond 等面向教育的知识基准测试中,DeepSeek-R1 相较于 DeepSeek-V3 展现出更优的性能。这种提升主要归因于在 STEM 相关问题上准确率的提高,这得益于大规模强化学习。此外,DeepSeek-R1 在 FRAMES(一个依赖长上下文的问答任务)上表现出色,展示了其强大的文档分析能力。这凸显了推理模型在人工智能驱动的搜索和数据分析任务中的潜力。在事实性基准测试 SimpleQA 上,DeepSeek-R1 的表现优于 DeepSeek-V3,证明了它处理基于事实的查询的能力。在该基准测试中,OpenAI-o1 优于 GPT-4o,DeepSeek-R1 也呈现出类似的超越趋势。不过,DeepSeek-R1 在中文 SimpleQA 基准测试上的表现比 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 的工程性能将在后续版本中得到提升。
通俗解释
研究人员对 DeepSeek-R1 进行了各种测试,和好多厉害的模型对比。从表格里能看到,在知识类测试里,像 MMLU 这些,DeepSeek-R1 比 DeepSeek-V3 考得好,特别是在 STEM 相关的问题上,因为大规模强化学习让它更会做这类题。在处理长文章问答的 FRAMES 测试里,它也表现不错,说明分析文档能力强。在 SimpleQA 这个测试里,它比 DeepSeek-V3 厉害,能更好地回答事实类问题,和 OpenAI-o1 比 GPT-4o 表现好是一个道理。不过在中文 SimpleQA 测试里,它比 DeepSeek-V3 差,是因为做了安全性强化学习后,有些问题它不愿意回答,如果没这个限制,准确率能更高。
在测试模型按格式回答问题能力的 IF-Eval 测试里,DeepSeek-R1 成绩很好,这是因为训练后期加了相关的数据。在写作和开放域问答的测试(AlpacaEval2.0 和 ArenaHard)里,它表现也很棒,比 DeepSeek-V3 强很多,说明大规模强化学习让它在好多领域都更厉害。而且它生成的总结不长,在评估的时候不会因为长度问题影响结果,很稳定。
在数学任务和编码算法任务测试里,DeepSeek-R1 和 OpenAI-o1-1217 水平差不多,比其他模型好很多。在工程编码任务上,OpenAI-o1-1217 在 Aider 测试里比它好一点,但在 SWE Verified 测试里二者差不多。以后随着训练数据变多,DeepSeek-R1 在工程方面的能力还能提升。
3.2 蒸馏模型评估
模型 | AIME 2024 | MATH-500 单次准确率 | GPQA Diamond 单次准确率 | LiveCodeBench 单次准确率 | CodeForces 评级 | |
---|---|---|---|---|---|---|
单次准确率 | 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 蒸馏模型与其他可比模型在推理相关基准测试中的比较
如表 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。这些结果展示了知识蒸馏的强大潜力。此外,我们发现对这些蒸馏模型应用强化学习会带来进一步的显著提升。我们认为这值得进一步探索,因此在此仅展示简单监督微调蒸馏模型的结果。
通俗解释
研究人员还测试了从 DeepSeek-R1 蒸馏出来的小模型。从表格数据能看出,这些小模型表现很不错。就拿 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 进行了超过 10,000 步的大规模强化学习训练,得到了 DeepSeek-R1-Zero-Qwen-32B。实验结果如表 6 所示,经过大规模强化学习训练的 320 亿参数基础模型,其性能与 QwQ-32B-Preview 相当。然而,从 DeepSeek-R1 蒸馏得到的 DeepSeek-R1-Distill-Qwen-32B,在所有基准测试中的表现都显著优于 DeepSeek-R1-Zero-Qwen-32B。
因此,我们可以得出两个结论:第一,将更强的模型知识蒸馏到较小模型中能产生优异的效果,而较小模型依靠本文提到的大规模强化学习则需要巨大的计算资源,甚至可能无法达到知识蒸馏的性能。第二,虽然知识蒸馏策略既经济又有效,但要突破智能的边界,可能仍需要更强大的基础模型和大规模强化学习。
模型 | AIME 2024 | MATH-500 单次准确率 | GPQA Diamond 单次准确率 | LiveCodeBench 单次准确率 | |
---|---|---|---|---|---|
单次准确率 | 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 |
表 6 知识蒸馏模型与强化学习模型在推理相关基准测试中的比较
通俗解释
前面看到知识蒸馏让小模型成绩很好,大家就想知道,小模型不蒸馏,直接用大规模强化学习训练,能不能有同样好的表现呢?于是研究人员就用 Qwen-32B-Base 这个模型,用数学、代码等数据进行大规模强化学习训练,训练了 10000 多步,得到了 DeepSeek-R1-Zero-Qwen-32B 这个模型。
对比发现,这个经过强化学习训练的模型,和 QwQ-32B-Preview 表现差不多。但是从 DeepSeek-R1 蒸馏出来的 DeepSeek-R1-Distill-Qwen-32B,在各项测试里都比 DeepSeek-R1-Zero-Qwen-32B 好很多。
这就说明,把大模型的知识 “传” 给小模型的知识蒸馏方法效果很好,小模型要是想用大规模强化学习达到同样效果,不仅特别费计算资源,可能还做不到。虽然知识蒸馏又省钱又好用,但想要让模型更聪明,可能还是得靠更厉害的大模型和大规模强化学习。
4.2 失败尝试
在开发 DeepSeek-R1 的早期阶段,我们也经历了失败和挫折。在此分享这些失败经验以供参考,但这并不意味着这些方法无法用于开发有效的推理模型。
- 过程奖励模型(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 与预训练价值模型结合可以在推理时提高性能,但通过自我搜索迭代提升模型性能仍然是一个巨大的挑战。
通俗解释
在研究 DeepSeek-R1 的时候,团队也试过一些方法但没成功。
有一种叫过程奖励模型(PRM)的方法,本来想着用它能引导模型更好地推理。但实际用的时候发现有问题:一是在推理过程中,很难把每一步都规定得很清楚;二是判断中间步骤对不对很难,用模型自动标注不准,人工标注又没办法大规模做;三是用了这个模型容易出现奖励作弊的情况,重新训练奖励模型又费资源又让训练过程变复杂。虽然它在给模型的回答排序、引导搜索这些方面有点用,但总体来说,在大规模强化学习里,它带来的麻烦比好处多。
还有蒙特卡洛树搜索(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 并没有显著改进。未来版本将通过对软件工程数据实施拒绝采样,或在强化学习过程中纳入异步评估来提高效率,从而解决这一问题。
通俗解释
这篇研究主要是讲怎么用强化学习让模型更会推理。DeepSeek-R1-Zero 是直接用强化学习训练的,不用冷启动数据,在很多任务里表现都不错。DeepSeek-R1 更厉害,用了冷启动数据,还反复用强化学习微调,最后和 OpenAI 很厉害的 o1-1217 模型表现差不多。
团队还把 DeepSeek-R1 的推理能力教给了小模型,用它生成的 80 万个样本去训练小模型,结果小模型成绩很好,比一些以前的模型考得都好。
不过,DeepSeek-R1 也有不足的地方,以后团队打算从这几个方面继续研究改进。在通用能力方面,它在函数调用这些任务上不如 DeepSeek-V3,以后看看能不能用长思维链让它在这些任务里表现更好。在语言方面,它对中文和英文优化得比较好,处理其他语言容易混,之后要解决这个问题。在提示方面,它对提示很敏感,少样本提示会让它发挥不好,所以建议用户直接描述问题、用零样本设置。在软件工程任务方面,因为评估时间长,大规模强化学习用得少,它在这方面进步不大,以后会用拒绝采样、异步评估这些方法来提高效率。