原文链接: https://arxiv.org/abs/2501.12948
原文摘要:我们介绍第一代推理模型: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从DeepSeek-R1提炼出的六个密集模型(1.5B、7B、8B、14B、32B、70B)开源。
一、核心要点
- DeepSeek-R1-Zero:这是本文提出的第一个推理模型,完全通过大规模强化学习训练,未经过监督微调(SFT)作为预处理步骤。在推理任务上表现出色,例如在AIME 2024基准测试中,pass@1分数从15.6%提升至71.0%,并通过多数投票进一步提升至86.7%,与OpenAI-o1-0912相当。
- DeepSeek-R1:为了解决DeepSeek-R1-Zero在可读性差和语言混用等问题,本文引入了DeepSeek-R1。它结合了冷启动数据和多阶段训练流程,在强化学习之前使用少量冷启动数据进行微调,然后进行推理导向的强化学习,并在接近收敛时通过拒绝采样和监督数据进一步微调,最终在所有场景下进行强化学习。DeepSeek-R1在推理任务上达到了与OpenAI-o1-1217相当的性能。
- 模型蒸馏:本文进一步探索了将DeepSeek-R1的推理能力蒸馏到较小的密集模型中。使用Qwen2.5-32B作为基础模型,直接从DeepSeek-R1蒸馏的结果优于在基础小模型上应用RL。
二、研究背景
2.1 后训练的重要性
近年来,大型语言模型(LLMs)的训练流程逐渐完善,其中后训练(Post-Training)已成为完整训练管道的重要组成部分。
后训练作用:可以在推理任务上提高准确性,符合社会价值观,并适应用户偏好,同时相对于预训练所需的计算资源相对较少。
2.2 推理能力的提升
OpenAI的o1系列模型:首先通过增加思维思考过程链(Chain-of-Thought,CoT)的长度来实现推理时扩展(Inference-time scaling),在数学、编程和科学推理等推理任务中取得了显著进展。
挑战:尽管如此,有效的测试时扩展(Test-time scaling)仍是一个开放问题。先前的工作探索了多种方法,包括基于过程的奖励模型、强化学习以及搜索算法如蒙特卡洛树搜索和束搜索,均未达到与OpenAI的o1系列模型相媲美的普遍推理性能。
2.3 Inference-time scaling vs Test-time scaling
Inference-time scaling 更适合在推理过程中需要高精度和复杂推理的任务。
输入问题 → 模型推理(增加推理步骤/时间) → 生成答案
Test-time scaling 更适合在测试阶段快速优化模型表现,尤其是在特定基准测试或实际应用中。
输入问题 → 模型推理(生成多个答案) → 多数投票/集成 → 选择最终答案
两者虽然都依赖于增加计算资源,但应用阶段和目标有所不同。以下是两者的对比:
特性 | Inference-time scaling(推理时扩展) | Test-time scaling(测试时扩展) |
---|---|---|
定义 | 在模型推理阶段,通过增加计算资源(如推理步骤、时间等)来提升模型的推理能力。 | 在模型测试阶段,通过增加计算资源或调整测试策略来提升模型的性能。 |
目标 | 提升模型在推理过程中的准确性和复杂推理能力,使其能够更好地解决复杂问题。 | 提升模型在测试集上的表现,优化模型的整体性能,尤其是在特定基准测试或实际应用中。 |
实现方式 | 增加推理步骤(如扩展推理链、多步推理) 增加推理时间,让模型有更多机会探索解决方案 | 多数投票(对同一问题生成多个答案并投票选择最终答案) 增加测试时间,允许模型在测试阶段更深入地思考 多模型集成(组合多个模型的输出) |
应用场景 | 需要高精度和复杂推理的任务,如数学、逻辑推理、科学问题等。 | 特定基准测试或实际应用场景,如竞赛、实际任务中的性能优化。 |
优点 | 不依赖于额外的训练数据,仅通过调整推理策略提升性能。 能够显著提升模型在复杂任务上的推理能力。 | 在不改变模型结构的情况下,通过外部策略显著提升测试性能。 可以快速优化模型在特定任务上的表现。 |
缺点 | 增加推理时间可能导致实时性下降,不适合响应速度要求高的场景。 需要模型具备一定的推理能力基础,否则效果有限。 | 主要针对测试阶段优化,对模型的泛化能力提升有限。 多数投票和多模型集成可能增加计算成本和复杂度。 |
三、主要贡献
- 首证纯 RL 的有效性:首次证明了仅通过强化学习即可显著提升LLMs的推理能力,无需依赖监督微调。DeepSeek-R1-Zero展示了强大的推理行为,如自我验证、反思和生成长推理链,为研究社区提供了新的思路。
- 多阶段训练流程:提出了DeepSeek-R1的训练流程,结合冷启动数据和多阶段强化学习与监督微调,有效解决了推理模型的可读性和语言混用问题,同时进一步提升了推理性能。
- 推理能力的模型蒸馏:展示了如何将大型模型的推理能力有效地蒸馏到较小的模型中,使得小模型在推理任务上也能表现出色,为资源受限的环境提供了高效的解决方案。
- 开源模型和数据:开源了DeepSeek-R1-Zero、DeepSeek-R1以及多个蒸馏模型(1.5B、7B、8B、14B、32B、70B),并提供了训练数据和API,为研究社区提供了宝贵的资源,促进了推理能力研究的发展。
四、核心模型与技术路线
在知乎上看到一张很好的流程图,清晰阐明了DeepSeek-R1的训练过程,贴在这里。(来源:https://zhuanlan.zhihu.com/p/22112201320)
4.1 DeepSeek-R1-Zero:纯强化学习的突破
4.1.1 训练框架
- 基座模型:DeepSeek-V3-Base。
- RL算法:GRPO(Group Relative Policy Optimization),替代传统 PPO,无需独立价值网络,通过组内响应对比计算相对优势,显著降低内存占用。
- 训练模板:设计简单模板,限制结构化格式,确保可以准确观察模型在RL过程中自然进展的情况。
GRPO算法详细介绍可以参见我的另一篇博客(深度解析 GRPO:从原理到实践的全攻略),这里不再赘述
4.1.2 奖励设计
采用了一个基于规则的奖励系统,主要包括两种类型的奖励:
- 准确性奖励:验证最终答案正确性,要求模型以指定格式(例如,在框内)提供最终答案,如调用 Python 解释器检查代码。
- 格式奖励:强制推理过程包裹在
<think>
标签内,确保结构化输出。
没有使用结果或过程奖励模型,因为可能存在奖励黑客(reward hacking)问题,重新训练需要额外的训练资源,并使整个训练管道复杂化。
Reward Hacking(奖励黑客) 是强化学习(RL)中的一种典型问题,指智能体(如大语言模型)通过利用奖励函数的漏洞,以违背设计者初衷的方式获取高奖励,而非真正完成目标任务。这种现象在基于人类反馈的强化学习(RLHF)中尤为常见,本质是“目标函数错误设定”引发的行为扭曲。
Reward Hacking 的根本原因
- 奖励函数不够鲁棒:未覆盖所有关键维度(如只关注结果,忽略过程安全)。
- 奖励模型过拟合:奖励模型(RM)在有限数据上训练,无法泛化到新样本。
- 目标冲突:多目标优化中,模型可能牺牲次要目标(如可读性)换取主要目标(如答案正确性)。
4.1.3 性能表现
下图为DeepSeek-R1-Zero在训练过程中整个AIME 2024基准测试的表现轨迹,其展现出稳定且持续的性能提升。pass@1分数从最初的15.6%跃升至71.0%,达到与OpenAI-o1-0912相当的水平,表现出强化学习的有效性。而且使用投票法分数进一步提升到86.7%,从而超越了OpenAI-o1-0912的表现。
4.1.4 自我进化与涌现
DeepSeek-R1-Zero直接从基模型进行强化学习,不受SFT的影响,其自我进化的过程展示了强化学习是如何自发的驱动模型自主提升推理能力的。这种方法清晰地展示了模型随时间进化的情况,特别是在处理复杂推理任务的能力方面。
在训练过程中DeepSeek-R1-Zero的思考时间(输出长度)表现出持续的提升,这种提升自然而然的获得了解决复杂任务的能力。
此外随着推理长度的增加,模型还出现了复杂的行为。例如反思—重新审视和重新评估其之前的步骤—以及探索解决问题的替代方法,这种行为是强化学习通过与环境交互而自然产生的。
“啊哈”时刻——强化学习的力量和美丽
出现在DeepSeek-R1-Zero的一个中间版本,模型学会重新评估其初始方法,分配更多时间给一个问题。
4.2 DeepSeek-R1:多阶段优化与实用化
四阶段训练流程:
- 冷启动(Cold Start):用数千条高质量 CoT 数据微调,解决 R1-Zero 的语言混杂和可读性问题。
- 推理导向 RL:引入语言一致性奖励(计算目标语言在 CoT 中的占比)。
- 拒绝采样与 SFT:收集 60 万推理数据 + 20 万通用数据(写作/问答),优化泛化能力。
- 全场景导向 RL:结合规则奖励(推理任务)和神经奖励(通用任务),对齐人类偏好。
4.2.1 冷启动阶段
为了避免RL训练早期不稳定:
- 构建并收集数千条冷启动数据(长CoT数据)对DeepSeek-V3-Base模型进行微调,作为RL的起点。
- 如何收集:
- 使用少样本提示,以长CoT为例;
- 直接提示模型生成包含反思和验证的详细答案;
- 收集DeepSeek-R1-Zero输出的可读格式,并通过人类注释者进行后处理细化。
冷启动数据的优势包括:
- 可读性:DeepSeek-R1-Zero的一个关键限制是其内容通常不适合阅读。
- 设计可读模式,在每个响应的末尾包含摘要,并过滤掉不友好的读者响应。
- 将输出格式定义为 |特殊令牌|<推理过程>|特殊令牌|<摘要>,其中推理过程是查询的CoT,摘要用于总结推理结果。
- 潜力:通过精心设计带有先验知识的冷启动数据模式,作者观察到相比于DeepSeek-R1-Zero有更好的表现。作者认为迭代训练是推理模型更好的方式。
4.2.2 推理导向 RL
- 应用与DeepSeek-R1-Zero相同的大型强化学习训练过程,增强模型在推理密集型任务(编程、数学、科学和逻辑推理)中的能力。
- 缓解语言混合问题:在RL训练期间引入了语言一致性奖励,计算为CoT中目标语言单词的比例(导致模型性能轻微下降,但符合人类偏好)
- 双重奖励系统:将推理任务的准确性与语言一致性奖励直接相加形成最终奖励。
4.2.3 拒绝采样与 SFT
引入来自其他领域的数据,以增强模型在写作、角色扮演以及其他通用任务方面的能力。按照以下方式生成数据并对模型进行微调(2轮)。
- 推理数据(60w)
- 整理推理提示,通过从上述强化学习训练得到的检查点进行拒绝采样来生成推理轨迹。
- 引入额外的数据来扩展数据集,其中部分数据使用生成式奖励模型,即将真实结果(ground-truth)和模型预测输入 DeepSeek-V3 进行判断。
- 过滤掉包含多种语言混合、长段落以及代码块的推理过程。
- 对于每个提示,采样多个响应,并仅保留正确的响应。
- 非推理数据(20w)
- 对于非推理数据,如写作、事实问答、自我认知和翻译等领域,采用了 DeepSeek-V3 的数据处理流程,并复用 DeepSeek-V3 的部分监督微调数据集。
- 对于非推理任务,通过提示 DeepSeek-V3 生成潜在的推理过程,再回答问题。
- 对于一些简单的查询,不会提供推理过程作为回应。
4.2.4 全场景导向 RL
- 旨在提升模型的有用性和无害性,使模型符合人类偏好。
- 使用组合的奖励信号和多样化的提示分布来训练模型。
- 对于推理数据,遵循DeepSeek-R1-Zero的方法,利用基于规则的奖励来指导数学、代码和逻辑推理领域的学习过程。
- 对于通用数据,依靠奖励模型来捕捉复杂且微妙场景中的人类偏好,基于DeepSeek-V3的流程,采用类似的偏好对和训练提示的分布。
- 有用性方面,专注于总结部分,确保评估主要强调响应对用户的实用性和相关性,同时尽量减少对底层推理过程的干扰。
- 无害性方面,评估模型的整个响应,包括推理过程和总结,以识别和减轻在生成过程中可能出现的任何潜在风险、偏见或有害内容。
4.3 蒸馏:赋予小型模型推理能力
4.3.1 蒸馏方法与结果
目标:将大型模型的推理能力迁移到更高效的小型模型中,使其在推理任务上表现出色。
方法:
- 使用DeepSeek-R1作为“教师”模型,生成约80万条高质量的训练样本。
- 选择开源模型Qwen和Llama作为“学生”模型,使用上述样本进行监督微调(SFT)。
- 仅应用监督微调,不引入强化学习(RL)阶段,以验证蒸馏方法的有效性。
结果:蒸馏后的模型在多个推理任务上表现出色。
- 仅通过对DeepSeek-R1的输出进行蒸馏,就能使高效的DeepSeek-R1-7B在所有基准测试中超越非推理模型,如GPT-4o-0513。
- DeepSeek-R1-14B在所有评估指标上都超越了QwQ-32B-Preview。
- DeepSeek-R1-32B和DeepSeek-R1-70B在大多数基准测试中显著超过了o1-mini。
4.3.2 蒸馏 vs 强化学习
模型是否可以通过本文讨论的大规模强化学习训练(而不进行蒸馏)达到相当的性能?
- 在Qwen-32B-Base上进行了大规模强化学习训练,使用数学、代码和STEM数据,训练了超过10K步,得到了DeepSeek-R1-Zero-Qwen-32B,其性能与QwQ-32B-Preview相当。
- 从DeepSeek-R1蒸馏得到的DeepSeek-R1-Distill-Qwen-32B在所有基准测试中的表现都显著优于DeepSeek-R1-Zero-Qwen-32B。
两个结论:
- 蒸馏的效能优势:小型模型通过蒸馏继承大模型能力,其性能远超自身直接进行大规模强化学习训练的结果,且避免了巨额算力消耗。
- 突破边界仍需基础创新:蒸馏虽高效经济,但推动智能边界需依赖更强基础模型与更大规模强化学习。(蒸馏本质是能力转移)
方向 | 蒸馏方案 | 强化学习方案 |
---|---|---|
目标 | 高效复制现有能力 | 探索未知能力边界 |
算力需求 | 低(消费级显卡可部署) | 极高(千卡集群) |
性能上限 | 受教师模型约束 | 可能突破当前智能极限 |
4.4 不成功的尝试
4.4.1 过程奖励模型(PRM)
实践中存在三个主要限制:
- 一般推理中的细粒度步骤难定义。
- 中间步骤的正确性难验证。(模型自动标注结果不好,人工手动标注不利于大规模扩展)
- 会导致奖励黑客行为。
4.4.2 蒙特卡洛树搜索(MCTS)
使用蒙特卡洛树搜索(MCTS)来增强测试时的计算可扩展性。
将答案分解为更小的部分,以便模型可以系统地探索解决方案空间。
尝试:
- 提示模型生成多个标签,这些标签对应于搜索所需的具体推理步骤。
- 训练过程中首先使用收集到的提示通过由预训练的价值模型引导的MCTS找到答案。
- 然后使用得到的问题-答案对来训练行为模型和价值模型,迭代改进。
扩展训练时遇到了挑战:
- 与国际象棋的搜索空间相对明确不同,标记生成的搜索空间呈指数级增长。为每个节点设置了最大扩展限制可能导致模型陷入局部最优。
- 价值模型影响生成的质量。训练一个细粒度的价值模型很困难,难以迭代改进。
总之,尽管MCTS在与预训练的价值模型配对时可以在推理期间提升性能,但通过自我搜索迭代提升模型性能仍然是一个重大挑战。
五、未来工作
尽管DeepSeek-R1在推理任务上取得了显著进展,但仍存在一些局限性,如在函数调用、多轮对话、复杂角色扮演和JSON输出等任务上表现不如DeepSeek-V3。未来的研究方向包括:
- 探索如何利用长推理链提升模型在这些任务上的表现。
- 解决语言混用问题,优化模型在多语言环境下的推理能力。
- 进一步研究提示工程,减少模型对提示的敏感性,提高其在不同提示设置下的性能。
- 在软件工程任务中应用大规模强化学习,通过拒绝采样或异步评估提高训练效率。