大家读完觉得有帮助记得关注和点赞!!!
DeepSeek 第一代推理模型(reasoning models) (所以缩写为 R1)的设计和训练过程:
要理解 DeepSeek-R1 的创新之处,可以先阅读 如何训练一个企业级 GPT 助手(OpenAI,2023), 里面介绍了典型的大模型训练 pipeline,其中包括预训练、SFT、RM、RL等步骤。
OpenAI:训练一个 GPT 助手的流程
DeepSeek-R1-Zero
的创新之处在于完全跳过了 SFT 步骤, 直接在基座模型上进行大规模 RM+RL 训练,性能达到了OpenAI-o1-0912
的水平。 LLaMA 2:开放基础和微调聊天模型(Meta/Facebook,2023) 对基于人类反馈的强化学习(HFRL)有较详细的介绍,DeepSeek 这里用的 RL 没有 HF,离 AGI 更进了一步。- 为了解决 DeepSeek-R1-Zero 存在的一些问题(可读性差,语言混用),又引入了少量的 SFT 数据作为冷启动, 再参考 R1-Zero 的过程,训练了
DeepSeek-R1
, 在推理任务上的表现与OpenAI-o1-1217
不相上下。 - 将 DeepSeek-R1 的推理能力蒸馏到 Qwen/LLaMA 等小型 dense 模型上,性能也很好。
总结下和 OpenAI 的性能对标:
DeepSeek Models | OpenAI Models |
---|---|
DeepSeek-R1-Zero | OpenAI-o1-0912 |
DeepSeek-R1 | OpenAI-o1-1217 |
DeepSeek-R1 Distilled Models | OpenAI-o1-mini |
摘要
本文介绍我们的第一代推理模型,DeepSeek-R1-Zero
和 DeepSeek-R1
。
-
DeepSeek-R1-Zero
-
这是一个跳过监督微调(SFT)步骤, 直接通过大规模强化学习(RL)训练得到的模型,具备卓越的推理能力。
下图来自 如何训练一个企业级 GPT 助手(OpenAI,2023), 展示了 OpenAI 从预训练开始逐步训练出一个 GPT 助手的步骤,
pre-training -> SFT -> RM -> RL
也是典型的大模型训练过程。 R1-Zero 是在 DeepSeek-V3 基座大模型上直接进行 RM+RL,跳过中间的 SFT,OpenAI:训练一个 GPT 助手的流程
-
通过大规模 RL,DeepSeek-R1-Zero 自然地涌现出许多强大且有趣的推理行为。不过,它也存在可读性差、混用语言等问题。
-
-
DeepSeek-R1
- 为了解决以上提到的 R1-Zero 存在的问题,并进一步提升推理性能, 在 RL 阶段之前引入了多阶段训练和冷启动数据,训练得到的模型称为 DeepSeek-R1。
-
DeepSeek-R1 在推理任务上的表现与
OpenAI-o1-1217
不相上下。
为了支持研究社区,我们此次开源了 8 个推理模型:
- DeepSeek-R1
- DeepSeek-R1-Zero
- DeepSeek-R1-
Distill-Llama-70B
- DeepSeek-R1-
Distill-Qwen-32B
- DeepSeek-R1-
Distill-Qwen-14B
- DeepSeek-R1-
Distill-Llama-8B
- DeepSeek-R1-
Distill-Qwen-7B
- DeepSeek-R1-
Distill-Qwen-1.5B
其中,后面 6 个是以 Qwen/Llama 作为基座模型,利用 DeepSeek-R1 蒸馏出来的 dense 模型。
1 引言
近年来,大模型的迭代与演进速度非常快(OpenAI, 2024a;Anthropic, 2024;Google, 2024)。
1.0 Post-Training:完整 training pipeline 的重要组成部分
现在,post-training
已成为完整 training pipeline 的一个重要组成部分。
1.0.1 作用
预训练的好处:
-
提高推理任务的准确性;
- 与人类社会价值观对齐;
- 能适应用户偏好;
- 相对于预训练,所需的计算资源极少。
1.0.2 提高推理能力:与 OpenAI-o1 的思路区别
具体到提高推理能力方面,
- OpenAI 的 o1(OpenAI, 2024b)系列模型首次通过增加推理过程中的思维链长度(Chain-of-Thought, CoT) 来引入
inference-time scaling
。 这种方法在数学、编码和科学推理等推理任务上取得了显著的效果。 - 但是,有效的
test-time scaling
仍然是社区的一个开放性问题。 此前,业界已经探索了很多方法,包括 process-based reward models (Uesato et al., 2022; Lightman et al., 2023; Wang et al., 2023), reinforcement learning (Kumar et al., 2024), and search algorithms such as Monte Carlo Tree Search and Beam Search (Feng et al., 2024; Xin et al., 2024; Trinh et al., 2024),但这些方法都没有达到与 OpenAI o1 相当的通用推理性能。
本文迈出了通过纯强化学习(pure RL)提高模型推理能力的第一步。
-
我们的目标是探索大模型在没有任何监督数据的情况下 —— 单纯通过 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 面临着诸如可读性差、语言混用等挑战。为了解决这些问题并进一步提升推理性能, 我们引入了少量的冷启动数据和一个 multi-stage training pipeline,训练得到 DeepSeek-R1, 其性能与 OpenAI-o1-1217 相当。
最后,我们还进一步探索了从 DeepSeek-R1 蒸馏较小的 dense models。 例如,使用 Qwen2.5-32B(Qwen, 2024b)作为基础模型,两种思路:
- 直接在 Qwen-32B 上进行强化学习(RL),得到一个推理模型;
- 从 DeepSeek-R1 进行蒸馏(把 DeepSeek-R1 的知识“传授”给 Qwen2.5-32B),得到一个推理模型;
我们发现后者(蒸馏)的性能优于前者(直接 RL)。 这表明尺寸更大的基础模型发现的推理模式对于提高推理能力至关重要。
我们开源了基于 Qwen/Llama(Dubey 等,2024)的蒸馏模型。 值得注意的是,我们蒸馏出的 14B 模型在 AIME 2024 上的表现大幅超过了现有的开源模型 QwQ-32B-Preview(Qwen, 2024a), 而蒸馏出的 32B 和 70B 模型在针对 dense models 的推理基准测试中创下了新纪录。
1.1 贡献
1.1.1 预训练:在基础模型上进行大规模强化学习
我们跳过监督微调(SFT)步骤,直接在基础模型(base model)上应用 RL。 这会使模型去探索解决复杂问题时的思维链(CoT),用这种方式训练得到的就是 DeepSeek-R1-Zero。
- DeepSeek-R1-Zero 展现出自我验证、反思和生成长 CoT 等能力,为社区研究树立了一个重要的里程碑。
- 值得注意的是,这是首个证实大模型的推理能力可以通过纯 RL 激励实现(无需 SFT)的公开研究,这一突破为该领域的未来发展铺平了道路。
此外,我们还介绍了开发 DeepSeek-R1 的 pipeline。
该 pipeline 包含,
- 两个 RL stage
- 一个用于发现更强的推理模式(stage 2)
- 一个用于与人类偏好对齐(stage 4)
- 两个 SFT stage:用于激发出模型的 reasoning and non-reasoning 能力。
1.1.2 蒸馏:小型模型也可以很强大
我们证明了大型模型的推理模式可以被蒸馏到小型模型中,
- 与在小型模型上进行 RL 发现的推理模式相比,蒸馏可以取得更好的性能。
- 开源的 DeepSeek-R1 及其 API 将有助于社区在未来蒸馏出更好的小模型。
利用 DeepSeek-R1 生成的推理数据,我们微调了几个在社区中广泛使用的小型 dense 模型。 结果显示,这些经过蒸馏的小型 dense model 在基准测试中表现非常好。
-
DEEPSEEK-R1-DISTILL-QWEN-7B在2024年实现了55.5%的赞,超过了QWQ-32B-PREVIEW。
-
deepseek-r1-distill-qwen-32b在2024年获得72.6%的赞,在math-500上获得94.3%,在livecodebench上获得57.2%。
这些结果显著优于以前的开源模型,与O1 Mini相当。
1.2 性能评估结果
1.2.1 推理任务
- DeepSeek-R1的得分为79.8%Pass@1在AIME 2024上,略微超过了OpenAI-o1-1217。在MATH-500上,它获得了令人印象深刻的97.3%的分数,与OpenAI-o1-1217相当,并且明显优于其他模型。
- 在与编码相关的任务中,DeepSeek-R1在代码竞赛任务中表现出了专家级水平,因为它在Codeforce上获得了2029 Elo评级,超过了96.3%的人类参与者。对于与工程相关的任务,DeepSeek-R1的性能略优于DeepSeek-V3,这可以帮助开发人员完成现实世界的任务。
1.2.2 知识
在MMLU、MMLU Pro和GPQA Diamond等基准测试中,DeepSeek-R1取得了出色的成绩,明显优于DeepSeek-V3,MMLU得分为90.8%,MMLU Pro得分为84.0%,GPQA钻石得分为71.5%。尽管在这些基准测试中,DeepSeek-R1的性能略低于OpenAI-o1-1217,但它超越了其他闭源模型,展示了其在教育任务中的竞争优势。在事实基准SimpleQA上,DeepSeek-R1的表现优于DeepSeek-V3,展示了其处理基于事实的查询的能力。在这个基准测试中,OpenAI-o1超过了4o,也观察到了类似的趋势。
1.2.3 其他
DeepSeek-R1还擅长各种任务,包括创意写作、一般问答、编辑、总结等。它在AlpacaEval 2.0上实现了令人印象深刻的87.6%的长度控制胜率,在ArenaHard上实现了92.3%的胜率,展示了其智能处理非面向考试的查询的强大能力。此外,DeepSeek-R1在需要长上下文理解的任务上表现出色,在长上下文基准测试上大大优于DeepSeek-V3。
2 方法
2.1 概述
以往的研究重度依赖于大量的监督数据(人类标注数据)来提升模型性能。 本文的研究证明:
- 不使用监督微调(SFT),单纯通过大规模强化学习(RL)也能显著提升推理能力。
- 通过引入少量冷启动数据(SFT 训练数据),还可以进一步增强性能。
2.2 DeepSeek-R1-Zero:在基础模型(base model)上进行强化学习
之前的研究(Wang 等,2023;Shao 等,2024)已经证明,强化学习对提高推理性能非常有用。 但是,这些前期研究都重度依赖监督数据,而收集监督数据是个费事费力的过程。
本节探索在没有任何监督数据的情况下(单纯通过 RL 过程自我进化),大模型发展出推理能力的过程。
2.2.1 强化学习算法:Group Relative Policy Optimization (GRPO
)
为了降低 RL 训练成本,我们采用了 GRPO
(组相对策略优化)算法(Shao 等,2024), 该方法放弃了 critic model(通常尺寸与 policy model 大小相同),而是用 group scores 来估计基线。
具体来说,对于每个问题 q, GRPO 从老的 policy πθold 中采样得到一组输出 o1,o2,⋯,oG, 然后用下面的目标函数优化 policy model πθ:
2.2.2 奖励建模(Reward Modeling):rule-based reward system
奖励是 training signal 的来源,它决定了强化学习的优化方向。 训练 DeepSeek-R1-Zero 时,我们采用了一个基于规则的奖励系统(rule-based reward system), 该系统主要由两种类型的奖励组成。
类型一:准确性奖励(Accuracy rewards)
准确性奖励模型评估响应是否正确(whether the response is correct)。例如,
- 对于具有确定性结果的数学问题,要求模型以指定格式提供最终答案,从而能可靠地基于规则验证正确性。
- 对于
LeetCode
问题,可以使用编译器对生成的程序进行编译,然后运行预定义的测试用例。
类型二:格式奖励(Format rewards)
我们还采用了一个格式奖励模型,强制推理模型将其思考过程放在 <think>
和 </think>
tag 内。
这里没有使用结果或过程神经奖励模型(outcome or process neural reward model
), 因为我们发现神经奖励模型可能会在大规模强化学习过程中出现 reward hacking 行为, 并且重新训练奖励模型需要额外的训练资源,也会使整个训练流程变得更加复杂。
2.2.3 训练模板(提示词模板)
我们设计了一个简单直白的模板,指导基础模型遵循我们的具体指令。如表 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:表 1:DeepSeek-R1-Zero 的模板。在训练期间,将用具体的推理问题替换提示。
可以看到,这个模板要求 DeepSeek-R1-Zero 首先生产一个推理过程,然后再给出最终答案。 我们有意将约束限制在这一结构内,避免任何 content-specific biases —— 例如,mandating reflective reasoning or promoting particular problem-solving strategies —— 以确保我们能够准确地观察模型在 RL 过程中的自然进化。
2.2.4 DeepSeek-R1-Zero 的性能、自我进化过程和顿悟时刻
性能
下图展示了 DeepSeek-R1-Zero 在 AIME 2024 基准测试中的性能轨迹,
可以看到,随着 RL 训练的进行,DeepSeek-R1-Zero 的性能稳步提升。 AIME 2024 pass@1 得分从 15.6% 跃升至 71.0%,达到了与 OpenAI-o1-0912 相当的性能水平, 说明了我们的 RL 算法在优化模型性能方面的有效性。
DeepSeek-R1-Zero 与 OpenAI o1-0912 在多种推理基准测试上的性能对比,
DeepSeek-R1-Zero 与 OpenAI o1 在推理相关基准测试上的性能对比。
几点结论,
- 通过 RL,DeepSeek-R1-Zero 能够在无需任何监督微调数据的情况下获得强大的推理能力, 也就是说模型仅通过 RL 就能有效学习和泛化。
- DeepSeek-R1-Zero 的性能还可以通过多数投票(majority voting)进一步提升。 例如,在 AIME 基准测试中采用多数投票时,DeepSeek-R1-Zero 的性能从 71.0% 上升至 86.7%,超过了 OpenAI-o1-0912 的性能。
- DeepSeek-R1-Zero 在有无多数投票的情况下都能取得如此高的性能,突显了其强大的基础能力以及在推理任务中进一步发展的潜力。
自我进化过程
DeepSeek-R1-Zero 的自我进化过程非常好地展示了强化学习是如何驱动模型自主提升推理能力的。
- 直接从基础模型启动 RL 训练,使得我们免受监督微调(SFT)阶段的影响,从而能直观监测模型的进化过程。
- 这种方法为我们提供了一个观察模型随时间演变的清晰视角,特别是在处理复杂推理任务方面。
DeepSeek-R1-Zero 的思考时间在整个训练过程中呈现出持续改进(增加)的趋势。
- 这种进步并非外部调整的结果,而是模型内部的自然发展。
- DeepSeek-R1-Zero 自然获得了通过增加 test-time computation 来解决越来越复杂的推理任务的能力。
- 这里所说的 computation 是指生成几百到几千个不等的推理 token,使模型能够更深入地探索和完善其思考过程。
随着 test-time computation 的增加,这种自我进化过程中最显著的方面之一是出现了复杂行为。 例如,观察到下面两个行为同时自发出现了,
- 反思行为:模型重新审视和评估自己先前的步骤
- 模型主动探索解决问题的替代方法
这些行为并非明确编程的结果,而是模型与强化学习环境互动的结果。 这种自发的发展显著增强了 DeepSeek-R1-Zero 的推理能力,使其能够以更高的效率和准确性应对更具挑战性的任务。
顿悟时刻
在 DeepSeek-R1-Zero 的训练过程中,观察到的一个奇特现象是所谓的 “顿悟时刻”。
这一时刻出现在模型的一个中间版本中。在这个阶段,DeepSeek-R1-Zero 学会了通过重新评估其初始处理方法,为问题分配更多的思考时间。 这种行为不仅是模型逐步增长的推理能力的证明,也是强化学习能够带来意外且复杂结果的一个迷人例证。
这对于模型和观察其行为的研究者来说都是一个 “顿悟时刻”,它凸显了强化学习的力量和美感:
- 我们并没有明确地教导模型如何解决问题,而是仅仅提供了正确的激励,模型便能够自主地发展出高级的问题解决策略。
- “顿悟时刻” 有力地提醒了我们 RL 激发人工智能系统新智能水平的潜力,为未来更具自主性和适应性的模型铺平了道路。
缺点和解决方式
尽管 DeepSeek-R1-Zero 展示了强大的推理能力,并且能够自主发展出意外且强大的推理行为,但它也面临一些问题。例如,DeepSeek-R1-Zero 遇到了诸如可读性差、语言混用等挑战。 为了使推理过程更具可读性,我们探索了 DeepSeek-R1。
2.3 DeepSeek-R1:带冷启动的强化学习
DeepSeek-R1-Zero 的结果令人鼓舞,关于如何进一步提升性能,自然会产生两个问题:
- 引入少量高质量数据作为冷启动,是否可以进一步提升推理性能或加速收敛?
- 如何训练一个用户友好的模型,该模型不仅能够产生清晰连贯的思维链(CoT),而且还能展现出强大的通用能力?
为了回答这些问题,我们设计了一个新的 pipeline,训练得到的模型称为 DeepSeek-R1
。
该 pipeline 包含四个阶段。
2.3.1 阶段一:冷启动
为了避免从基础模型直接开始 RL 训练导致的不稳定冷启动阶段, 我们构建了一定量的长 CoT 数据集并对模型进行微调(SFT), 得到一个 initial RL actor。
数据源
几种方式:
- 提供一个 CoT 作为示例,然后使用
few-shot prompting
生成更多例子; - 直接提示模型(directly prompting models),让它生成带有反思和验证过程的详细回答;
- 收集 DeepSeek-R1-Zero 输出的一些回答,并通过人工标注对输出的质量进行增强。
我们收集了几千个冷启动数据,拿来微调 DeepSeek-V3-Base,得到的模型作为接下来的 RL 过程的起点。
冷启动数据的好处
冷启动数据的好处包括:
-
提升输出的可读性
DeepSeek-R1-Zero 的主要问题之一是输出的内容经常可读性很差。可能会混杂多种语言,或者不是 markdown 格式,无法高亮一些重点。
因此,在为 DeepSeek-R1 创建冷启动数据时,我们设计了一种可读性很好的格式,在每个响应的末尾包含一个总结,并过滤出对读者不友好的响应。 在这里,我们定义输出格式为
|special_token|<reasoning_process>|special_token|<summary>
,其中<reasoning_process>
是用户输入的 query 对应的 CoT(推理过程),而<summary>
用于总结推理结果。 -
潜力
- 基于人的先验知识(human priors)精心设计冷启动数据,观察到训练出来的模型比 DeepSeek-R1-Zero 表现更好。
- 我们相信迭代式训练(iterative training)是很好的训练推理模型的方式。
2.3.2 阶段二:面向 reasoning 的强化学习
在使用冷启动数据对 DeepSeek-V3-Base 进行微调后,第二阶段的训练过程与 DeepSeek-R1-Zero 相同: 使用大规模强化学习进行后训练。 这一阶段专注于提升模型的 reasoning 能力,特别是在推理密集型任务中,如编码、数学、科学和逻辑推理,这些任务具有明确定义的问题和解决方案。
在训练过程中,我们观察到 CoT 经常出现语言混用(language mixing),特别是在 RL 提示词涉及多种语言时。 为了缓解这个问题,我们在 RL 训练中引入了一种语言一致性奖励(language consistency reward),计算方式是 CoT 中目标语言单词的比例(proportion of target language words in the CoT)。 尽管消融实验表明,这种对齐会导致模型性能略有下降,但这种奖励与人类偏好一致,使其更具可读性。
最后,我们直接将推理任务的准确性与语言一致性奖励相加来形成最终奖励。 然后,我们在微调后的模型上应用 RL 训练,直到它在推理任务上收敛。
这个阶段的 RL 收敛时,保存一个 checkpoint 供第三阶段使用。
2.3.3 阶段三:拒绝采样和监督微调
拒绝抽样是一种技术,LLM生成多个候选答案,然后过滤掉不符合某些标准的答案,只保留“好”的结果它用于提高模型输出的质量和可靠性,使其更符合所需的标准或分布
利用第二阶段的 checkpoint 收集 SFT(监督微调)数据。
初始冷启动数据主要关注推理,而这一阶段则纳入了来自其他领域的数据, 以增强模型在写作、角色扮演和其他通用任务中的能力。 具体来说,我们按照以下方式生成数据并微调模型。
推理数据(Reasoning data):600k
人工整理一批推理提示词,从上述 RL 训练的 checkpoint 进行拒绝采样来生成推理轨迹。
在第二阶段,我们只纳入了可以使用基于规则的奖励进行评估的数据。
在这一阶段,
- 引入额外数据来扩展数据集,其中一些数据使用生成式奖励模型 —— 将事实和模型预测输入 DeepSeek-V3 进行判断。
- 由于模型输出有时会杂乱无章且难以阅读,我们会过滤掉带有混合语言、冗长段落和代码块的思维链。
- 对于每个提示,我们采样多个响应,并且只保留正确的响应。
总共,我们收集了大约 600k
个与推理相关的训练样本。
非推理数据(Non-Reasoning data):200k
对于非推理数据,如写作、事实问答、自我认知和翻译,我们采用 DeepSeek-V3 pipeline, 并复用 DeepSeek-V3 的一部分 SFT 数据集。
- 对于某些非推理任务,我们调用 DeepSeek-V3 来生成一个潜在的思维链,然后通过提示回答问题。
- 对于更简单的查询,如 “hello”,我们不会在响应中提供 CoT。
最终,我们收集了总共大约 200k
个与推理无关的训练样本。
我们使用上述整理的数据集(约 800k 样本)对 DeepSeek-V3-Base 进行了两个 epoch 的微调。
2.3.4 阶段四:所有场景的强化学习
为了进一步使模型与人类偏好对齐,我们又进行了一轮强化学习,在完善模型推理能力的同时, 提高模型的有用性和无害性(helpfulness and harmlessness
)。
具体来说,我们组合使用 reward signals 和多样化的 prompt distributions 来训练模型。
- 对于推理数据,遵循 DeepSeek-R1-Zero 中的方法,利用基于规则的奖励来指导数学、编码和逻辑推理领域的学习过程。
- 对于通用数据,借助奖励模型,以捕捉复杂微妙场景中的人类偏好。我们基于 DeepSeek-V3 pipeline,并采用类似的偏好对和训练提示分布。
- 对于有用性,仅关注最终总结,确保评估强调响应对用户的实用性和相关性,同时尽量减少对底层推理过程的干扰。
- 对于无害性,评估模型的整个响应,包括推理过程和总结,以识别和减轻在生成过程中可能出现的任何潜在风险、偏见或有害内容。
这些方式组合起来,最终使我们训练出一个在推理方面表现出色、同时还会优先考虑有用性和无害性的模型。
2.4 蒸馏:赋予小型模型推理能力
为了使小型模型具备类似 DeepSeek-R1 的推理能力, 我们直接用 DeepSeek-R1 生成的 800k 样本对开源模型进行微调。
我们的研究发现,这种直接蒸馏的方法能显著提升小型模型的推理能力。 我们使用的基础模型包括:
- 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 实验(略)
3.1 DeepSeek-R1 评估
3.2 蒸馏模型评估
4 讨论
4.1 蒸馏与强化学习的性能对比
前面已经看到,通过蒸馏 DeepSeek-R1,小型模型可以取得非常好的效果。 但这里还有一个问题待解答:通过本文讨论的大规模 RL 对小模型训练,和蒸馏方式相比,哪个效果来的更好?
为了回答这个问题,我们在 Qwen-32B-Base 上进行了大规模 RL 训练,使用数学、编码和 STEM 数据,训练了超过 10K 步, 得到了 DeepSeek-R1-Zero-Qwen-32B
。 两种方式得到的模型,性能对比如下,
- 大规模 RL 训练的 32B 基础模型,在性能上与 QwQ-32B-Preview 相当。
- 从 DeepSeek-R1 蒸馏而来的模型,在所有基准测试中都显著优于 DeepSeek-R1-Zero-Qwen-32B。
因此,我们可以得出两个结论:
- 将更强大的模型蒸馏到小型模型中,可以让小模型获得出色的性能。 对小型模型进行大规模 RL 也能取得不错的性能,但需要的算力比蒸馏要多很多,而且可能无法达到蒸馏取得的效果。
- 蒸馏是一种既经济又高效的方式,但要突破智能边界,可能仍需要更强大的基础模型和更大规模的强化学习。
4.2 失败的尝试
在开发 DeepSeek-R1 早期,我们也遇到了一些失败和挫折。 这里分享一些失败经验,提供一些见解,但这并不意味着这些方法无法开发出有效的推理模型。
4.2.1 过程奖励模型(PRM)
PRM是一种合理的方法,可以引导模型朝着更好的方法解决推理任务(Uesato等人,2022;Lightman等人,2023;Wang等人,2023)。然而,在实践中,PRM有三个主要局限性,可能会阻碍其最终的成功。首先,在一般推理中明确定义细粒度步骤具有挑战性。其次,确定当前中间步骤是否正确是一项具有挑战性的任务。使用模型的自动注释可能不会产生令人满意的结果,而手动注释不利于扩大规模。第三,一旦引入基于模型的PRM,它不可避免地会导致奖励黑客攻击(Gao等人,2022),重新训练奖励模型需要额外的训练资源,并使整个训练管道复杂化。总之,尽管PRM在重新排序模型生成的前N个响应或辅助引导搜索方面表现良好(Snell等人,2024),但与我们实验中大规模强化学习过程中引入的额外计算开销相比,它的优势是有限的。
4.2.2 蒙特卡洛树搜索(MCTS)
受AlphaGo(Silver等人,2017b)和AlphaZero(Silver等,2017a)的启发,我们探索了使用蒙特卡洛树搜索(MCTS)来增强测试时间计算的可扩展性。这种方法涉及将答案分解为更小的部分,使模型能够系统地探索解决方案空间。为了促进这一点,我们提示模型生成多个标签,这些标签对应于搜索所需的特定推理步骤。对于训练,我们首先使用收集到的提示,在预训练值模型的指导下,通过MCTS找到答案。随后,我们使用得到的问答对来训练参与者模型和价值模型,迭代地改进流程。
然而,在扩大训练规模时,这种方法会遇到几个挑战。首先,与国际象棋不同,国际象棋的搜索空间相对明确,而令牌生成则呈现指数级更大的搜索空间。为了解决这个问题,我们为每个节点设置了一个最大扩展限制,但这可能会导致模型陷入局部最优。其次,价值模型直接影响生成的质量,因为它指导着搜索过程的每一步。训练一个细粒度的价值模型本身就很困难,这使得模型迭代改进变得具有挑战性。虽然AlphaGo的核心成功依赖于训练一个价值模型来逐步提高其性能,但由于代币生成的复杂性,这一原则在我们的设置中很难复制。
总之,虽然MCTS在与预训练的价值模型配对时可以提高推理性能,但通过自我搜索迭代提高模型性能仍然是一个重大挑战。
5 结论、局限性和未来工作
在这项工作中,我们分享了通过强化学习增强模型推理能力的旅程。DeepSeek-R1-Zero代表了一种不依赖于冷启动数据的纯强化学习方法,在各种任务中取得了出色的性能。DeepSeek-R1更强大,利用冷启动数据和迭代RL微调。最终,DeepSeek-R1在一系列任务上实现了与OpenAI-o1-1217相当的性能。
我们进一步探索了将推理能力蒸馏为小型密集模型的方法。我们使用DeepSeek-R1作为教师模型来生成800K的训练样本,并对几个小的密集模型进行微调。结果很有希望: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过程中引入异步评估来解决这一问题,以提高效率。