核心速览
论文解读
原文:DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning
文章提出了一种基于RL的模型——DeepSeek-R1-Zero,该模型无需监督式微调(SFT),仅通过RL训练便能展现出强大的推理能力,并实现了对复杂问题的自我解决和思考过程的生成。然而,该模型也存在可读性差、语言混合等问题。为了解决这些问题并进一步提高推理性能,作者引入了DeepSeek-R1模型,该模型结合了多阶段训练(multi-stage training pipeline)和少量冷启动数据(cold-start data),在保持推理性能的同时,提高了模型的语言表达能力和用户体验。此外,文中还探讨了利用 Distillation 技术将DeepSeek-R1 的推理能力转移到更小规模的模型上,证明了即使在小型模型中也能实现高效的推理能力。
使用DeepSeek-V3-Base作为基础模型,并使用GRPO作为RL框架来提高模型在推理中的性能。我们首先收集数千个冷启动数据来微调DeepSeek-V3-Base模型。在此之后,我们执行类似DeepSeek-R1-Zero的面向推理的RL。在RL过程接近收敛时,我们通过对RL检查点进行拒绝采样(rejection sampling)来创建新的SFT数据,并与来自写作、事实QA等领域DeepSeek-V3的有监督数据相结合。以及自我认知,然后再训练DeepSeek-V3-Base模型。在使用新数据进行微调后,检查点将经历一个额外的RL过程,考虑来自所有场景的提示。完成这些步骤后,我们获得了一个称为DeepSeek-R1的检查点,其性能与OpenAI-o1-1217相当。
我们进一步探索从DeepSeek-R1到较小密度模型的蒸馏。使用Qwen2.5-32B作为基础模型,使用DeepSeek-R1生成的SFT数据(CoT+knowledge)直接蒸馏的性能优于直接对Qwen2.5-32B进行RL的性能。这表明更大的基础模型发现的推理模式对于提高小参数量模型的推理能力是关键的。我们开源了蒸馏的Qwen和Llama系列。值得注意的是,我们提炼的14B模型大大超过了最先进的开源QwQ-32B-Preview(Qwen,2024a),而经过提炼的32B和70B模型在密集模型的推理基准上创造了新记录。
DeepSeek-R1-Zero: Reinforcement Learning on the Base Model
Group Relative Policy Optimization
为了节省RL的训练成本,我们采用组相对策略优化(GRPO),它放弃了通常与策略模型(policy model)大小相同的评论模型(critic model),并且从组得分中估计基线。具体来说,对于每个问题q,GRPO从旧的策略模型πθold中采样一组输出{o1, o2, · · ·, oG},然后通过最大化以下目标来优化策略模型(policy model)的 πθ:
其中,ε和β是超参数,Ai是优势,使用一组奖励{r1, r2,..., rG}计算得出,这些奖励对应于每个组内的输出:
Reward Modeling
奖励是训练信号的来源,决定了RL优化的方向。为了训练 DeepSeek-R1-Zero,我们采用基于规则的奖励系统,主要由两种类型的奖励组成:
- 准确性奖励(Accuracy rewards):准确性奖励模型评估响应是否正确。例如,在数学问题具有确定结果的情况下,要求模型以指定格式(如在框内)提供最终答案,从而实现可靠的基于规则的验证。同样地,对于LeetCode 问题,可以使用编译器根据预定义的测试用例生成反馈。
- 格式奖励(Format rewards):除了准确性奖励模型外,我们还采用格式奖励模型来强制模型将其思考过程放在“<think>”和“</think>”标签之间。
我们没有在开发 DeepSeek-R1-Zero 时应用结果或过程神经奖励模型(process neural reward model),因为我们发现,在大规模强化学习过程中,神经奖励模型可能会遭受奖励黑客(reward hacking)攻击,并且重新训练奖励模型需要额外的资源。
Training Template
为了训练DeepSeek-R1-Zero,我们首先设计了一个简单的模板来指导基础模型遵循我们的指定指令。如表1所示,这个模板要求DeepSeek-R1-Zero先产生一个推理过程,然后给出最终答案。我们故意将约束限制在这一结构格式上,避免任何内容特定的偏见——例如强制进行反思性推理或促进特定的问题解决策略——以确保我们可以准确观察RL过程中模型的自然进展。
Performance, Self-evolution Process and Aha Moment
图2描述了在DeepSeek-R1-Zero训练过程中,DeepSeek-R1-Zero在AIME 2024基准测试中的表现轨迹。如图所示,随着RL训练的推进,DeepSeek-R1-Zero表现出稳定和一致的性能增强。值得注意的是,AIME 2024的平均分数显示出显着增长,从最初的15.6% 跃升至令人印象深刻的71.0%,达到了可与OpenAI-o1-0912相媲美的表现水平。这一重大改进突出了我们的RL算法在随着时间的推移优化模型性能方面的功效。
在训练过程中,这种改进不是外部调整的结果,而是模型内在发展的结果。DeepSeek-R1-Zero通过利用扩展的测试时间计算自然地获得了解决日益复杂的推理任务的能力。这种计算范围从生成数百到数千个推理令牌,使模型能够更深入地探索和细化其思维过程。
DeepSeek-R1-Zero的Aha时刻 在训练DeepSeek-R1-Zero的过程中,观察到一个特别有趣的现象——“Aha时刻”。如表3所示,在模型的一个中间版本中发生了这个时刻。在这个阶段,DeepSeek-R1-Zero通过重新评估其初始方法来学会为一个问题分配更多思考时间。这种行为不仅证明了模型推理能力的增长,也是强化学习如何导致意想不到和复杂结果的一个迷人例子。
Drawback of DeepSeek-R1-Zero
尽管 DeepSeek-R1-Zero 展示了强大的推理能力,并且能够自主开发出意想不到的强大推理行为,但它面临着几个问题。例如,DeepSeek-R1-Zero 在可读性和语言混合(推理过程中有中文有英文,人类不易阅读)方面存在困难。为了使推理过程更易于阅读并将其与开放社区共享,我们探索了一种利用 RL 与人性化冷启动数据的方法——DeepSeek-R1。
DeepSeek-R1: Reinforcement Learning with Cold Start
受DeepSeek-R1-Zero的出色结果启发,两个自然的问题出现了:
- 通过引入少量高质量数据作为冷启动,推理性能是否可以进一步提高或加速收敛?
- 如何训练一个用户友好的模型,不仅产生清晰连贯的思想链(CoT),而且表现出强大的通用能力?
为了解决这些问题,我们设计了一个 pipeline 来训练 DeepSeek-R1。该管道由四个阶段组成:
Cold Start
与 DeepSeek-R1-Zero 不同,为了防止基础模型在强化学习训练初期出现不稳定的冷启动阶段,我们为 DeepSeek-R1 构建并收集了少量长链式思维(CoT)数据,用于对模型进行微调,使其成为初始的强化学习执行者。为收集这些数据,我们探索了几种方法:
- 使用有着长CoT作为推理过程的 few-shot prompting;
- 直接提示模型生成包含反思与验证的详细答案;
- 以可读格式收集 DeepSeek-R1-Zero 的输出,并通过人工标注员后处理来精炼结果。
在本工作中,我们收集了数千个冷启动数据来微调DeepSeek-V3-Base作为RL的起点。与DeepSeek-R1-Zero相比,冷启动数据的优势包括:
- 可读性: DeepSeek-R1-Zero 的一个关键限制是它的内容通常不适合阅读。响应可能会混合多种语言或缺乏markdown格式来突出显示用户的答案。相比之下,在为DeepSeek-R1创建冷启动数据时,我们设计了一种可读的模式,在每个响应的末尾包含一个摘要,并过滤掉对读者不友好的响应。在这里,我们将输出格式定义为
|special_token|<reasoning_process>|special_token|<summary>
。 - 潜力:通过精心设计冷启动数据的模式,我们观察到比DeepSeek-R1-Zero更好的性能。我们认为迭代训练是训练推理模型的更好方法。
Reasoning-oriented Reinforcement Learning
在使用冷启动数据微调 DeepSeek-V3-Base 后,我们应用了与 DeepSeek-R1-Zero 中相同的大规模强化学习训练过程。这一阶段的重点是增强模型的推理能力,特别是在编码、数学、科学和逻辑推理等推理密集型任务中,这些任务涉及具有明确解决方案的明确定义的问题。在训练过程中,我们观察到 CoT 中经常表现出语言混合,特别是当RL提示涉及多种语言时。为了缓解语言混合的问题,我们在RL训练期间引入了语言一致性奖励(language consistency reward),该奖励计算为目标语言单词在训练中所占的比例。尽管消融实验表明,这种对准会导致模型性能略有下降,但这种奖励与人类偏好一致,使其更具可读性。最后,我们将推理任务的准确性和语言一致性奖励相结合,直接将它们相加形成最终奖励。然后,我们对微调后的模型进行RL训练,直到它在推理任务上实现收敛。
Rejection Sampling and Supervised Fine-Tuning
当推理导向的RL收敛时,我们利用该检查点来收集后续轮次的SFT(监督微调)数据。与主要关注推理的初始冷启动数据不同,这一阶段包含了来自其他领域的数据,以增强模型在写作、角色扮演和其他通用任务方面的能力。具体来说,我们会生成数据并按照以下方式对模型进行微调。
推理数据:我们通过从上述 RL 训练的检查点执行拒绝采样来策划推理提示并生成推理轨迹。在前一个阶段,我们只包括可以使用基于规则的奖励进行评估的数据。然而,在这个阶段,我们通过整合额外的数据来扩展数据集,其中一些数据使用生成性奖励模型,将基本事实和模型预测提供给DeepSeek-V3进行判断。此外,由于模型输出有时混乱且难以阅读,我们已经过滤掉了包含混合语言、长paraphs和代码块的思想链。对于每个提示,我们对多个响应进行采样,并仅保留正确的响应。我们总共收集了大约600k个与推理相关的训练样本。
非推理数据:对于写作、事实问答、自我认知和翻译等非推理数据,我们重用了部分DeepSeek-V3的SFT数据集。对于某些非推理任务,在回答问题之前,通过提示调用DeepSeek-V3生成潜在的思维链。然而,对于更简单的查询,如“你好”,我们没有提供CoT作为响应。最后,我们收集了大约200k个与推理无关的训练样本。
我们使用上述约80万个样本的精选数据集对 DeepSeek-V3-Base 进行了两个时期的微调。
Reinforcement Learning for all Scenarios
为了进一步使模型与人类偏好保持一致,我们实施了一个辅助强化学习阶段,旨在提高模型的有用性和无害性,同时优化其推理能力。具体来说,我们使用奖励信号和不同样本分布的组合(a combination of reward signals and diverse prompt distributions.)来训练模型。
对于推理数据,我们遵循DeepSeek-R1-Zero中概述的方法,利用基于规则的奖励来指导数学、代码和逻辑推理领域的学习过程。对于一般数据,我们诉诸奖励模型来捕捉复杂和微妙场景中的人类偏好。我们建立在DeepSeek-V3 pipeline的基础上,采用类似的偏好对和训练提示的分布。
为了 helpfulness,我们专注于最终总结,确保评估强调对用户响应的实用性和相关性,同时尽量减少对潜在推理过程的干扰。对于 harmlessness,我们评估模型的整个响应,包括推理过程和总结,以识别和减轻任何潜在的风险、偏见,或在生成过程中可能出现的有害内容。最终,奖励信号和不同数据分布的集成使我们能够训练一个擅长推理的模型,同时优先考虑有益和无害。
Distillation: Empower Small Models with Reasoning Capability
为了装备更高效的较小模型,具备像DeepSeek-R1一样的推理能力,我们直接微调了开源模型,如Qwen(Qwen,2024b) 和Llama(AI @ Meta,2024) 使用DeepSeek-R1精选的80万个样本,详见第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。
对于蒸馏模型,我们只应用SFT,并不包括RL阶段,尽管纳入RL可以显著提升模型性能。我们的主要目标是展示蒸馏技术的有效性,将探索RL阶段留给更广泛的科研界。