【DeepSeek论文翻译】DeepSeek-R1: 通过强化学习激励大型语言模型的推理能力
目录
摘要
1. 引言
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. 结论、局限性和未来工作
摘要
我们推出了第一代推理模型 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 以及从 DeepSeek-R1 基于 Qwen 和 Llama 蒸馏出的六个密集模型(1.5B、7B、8B、14B、32B、70B)。
1. 引言
近年来,大型语言模型(LLMs)经历了快速迭代和演变,逐渐缩小了与通用人工智能(AGI)的差距。后训练已成为整个训练流程中的一个重要组成部分,能够提升推理任务的准确性,与社会价值观保持一致,适应用户偏好,同时相比预训练所需的计算资源较少。在推理能力方面,OpenAI 的 o1 系列模型通过增加链式推理过程的长度,在各种推理任务上取得了显著改进。然而,有效的测试时间扩展仍然是研究社区的一个未解之谜。
在本文中,我们探索了利用纯强化学习(RL)改进语言模型推理能力的潜力。我们的目标是让 LLMs 在没有任何监督数据的情况下,通过纯 RL 过程发展推理能力,重点关注它们的自我进化。具体而言,我们使用 DeepSeek-V3-Base 作为基础模型,并采用 GRPO 作为 RL 框架来提升模型在推理任务中的表现。经过数千步的 RL 训练后,DeepSeek-R1-Zero 在推理基准测试中表现出色。例如,AIME 2024 的 pass@1 分数从 15.6% 提高到 71.0%,通过多数投票进一步提高到 86.7%,与 OpenAI-o1-0912 的性能相当。
然而,DeepSeek-R1-Zero 面临一些挑战,如可读性差和语言混合问题。为了解决这些问题并进一步提升推理性能,我们引入了 DeepSeek-R1,该模型结合了少量冷启动数据和多阶段训练流程。具体而言,我们首先收集了数千个冷启动数据来微调 DeepSeek-V3-Base 模型。随后,我们进行面向推理的 RL 训练。当 RL 过程接近收敛时,我们通过拒绝采样从 RL 检查点创建新的 SFT 数据,并结合 DeepSeek-V3 在写作、事实问答和自我认知等领域的监督数据,然后重新训练 DeepSeek-V3-Base 模型。经过新数据的微调后,检查点再经过一个 RL 过程,考虑所有场景的提示。经过这些步骤后,我们得到了一个称为 DeepSeek-R1 的检查点,其性能与 OpenAI-o1-1217 相当。
我们还探索了从 DeepSeek-R1 蒸馏到更小的密集模型。使用 Qwen2.532B 作为基础模型,直接从 DeepSeek-R1 蒸馏出的模型比在它上面应用 RL 的性能更好。这表明大型基础模型发现的推理模式对于提升推理能力至关重要。我们开源了蒸馏后的 Qwen 和 Llama 系列模型。值得注意的是,我们的蒸馏 14B 模型大幅超越了最先进的开源 QwQ-32B-Preview,而蒸馏 32B 和 70B 模型在密集模型的推理基准测试中创下了新纪录。
2. 方法
2.1. 概述
以往的工作严重依赖大量的监督数据来提升模型性能。在本研究中,我们证明了即使不使用监督式微调(SFT)作为冷启动,通过大规模强化学习(RL)也可以显著提升推理能力。此外,通过包含少量冷启动数据,性能可以进一步提升。在以下部分中,我们介绍:(1) DeepSeek-R1-Zero,它在没有任何 SFT 数据的情况下直接对基础模型应用 RL,以及 (2) DeepSeek-R1,它从经过数千个长链推理(CoT)示例微调的检查点开始应用 RL。(3) 从 DeepSeek-R1 蒸馏推理能力到小型密集模型。
2.2. DeepSeek-R1-Zero:在基础模型上进行强化学习
强化学习在推理任务中已被证明具有显著效果。然而,这些工作严重依赖于耗时收集的监督数据。在本节中,我们探索 LLMs 在没有任何监督数据的情况下通过纯强化学习过程发展推理能力的潜力,重点关注它们的自我进化。我们首先简要介绍我们的 RL 算法,然后呈现一些令人兴奋的结果,希望这能为社区提供有价值的见解。
2.2.1. 强化学习算法
组相对策略优化(GRPO) 为了节省 RL 的训练成本,我们采用了组相对策略优化(GRPO),它省略了通常与策略模型大小相同的评论家模型,而是从组分数中估计基线。具体而言,对于每个问题,GRPO 从旧策略 𝜋𝜃𝑜𝑙𝑑 中采样一组输出{𝑜1,𝑜2,··· ,𝑜𝐺},然后通过最大化以下目标来优化策略模型l 𝜋𝜃:
其中,ϵ 和 β 是超参数,Ai 是奖励,通过每个组内的奖励{𝑟1,𝑟2,. . .,𝑟𝐺}计算得出。
2.2.2. 奖励建模
奖励是训练信号的来源,决定了 RL 的优化方向。为了训练 DeepSeek-R1-Zero,我们采用了基于规则的奖励系统,主要包括两种类型的奖励:
-
准确性奖励:准确性奖励模型评估响应是否正确。例如,在具有确定性结果的数学问题中,模型被要求以指定格式提供最终答案,从而实现可靠的基于规则的正确性验证。同样,对于 LeetCode 问题,可以使用编译器根据预定义的测试用例生成反馈。
-
格式奖励:除了准确性奖励模型外,我们还采用了格式奖励模型,强制模型将其思考过程放在‘<think>’和’</think>’标签之间。
我们没有在 DeepSeek-R1-Zero 的开发中应用结果或过程神经奖励模型,因为我们发现神经奖励模型可能在大规模强化学习过程中遭受奖励黑客攻击,重新训练奖励模型需要额外的训练资源,并且使整个训练流程复杂化。
2.2.3. 训练模板
为了训练 DeepSeek-R1-Zero,我们设计了一个简单的模板,指导基础模型遵循我们指定的指令。如表 1 所示,该模板要求 DeepSeek-R1-Zero 首先生成推理过程,然后提供最终答案。我们故意将约束限制在这种结构格式上,避免任何内容特定的偏见,例如强制反思推理或推广特定的解决问题策略,以确保我们可以准确观察模型在 RL 过程中的自然进展。
2.2.4. DeepSeek-R1-Zero 的性能、自我进化过程和顿悟时刻
DeepSeek-R1-Zero 的性能 图 2 显示了 DeepSeek-R1-Zero 在 AIME 2024 基准测试中的性能轨迹。随着 RL 训练的推进,DeepSeek-R1-Zero 的性能稳步提升。值得注意的是,AIME 2024 的平均 pass@1 分数从初始的 15.6% 显著提高到 71.0%,达到了与 OpenAI-o1-0912 相当的性能水平。这一显著改进突显了我们的 RL 算法在优化模型性能方面的有效性。
自我进化过程 DeepSeek-R1-Zero 的自我进化过程是 RL 如何驱动模型自主提升其推理能力的一个有趣示范。通过直接从基础模型开始 RL,我们可以密切监控模型的进展,而不受监督式微调阶段的影响。这种方法提供了模型随时间演变的清晰视图,特别是在其处理复杂推理任务的能力方面。
如图 3 所示,DeepSeek-R1-Zero 的思考时间在整个训练过程中持续改善。这种改善不是外部调整的结果,而是模型内部的自然发展。DeepSeek-R1-Zero 通过利用扩展的测试时间计算,自然地获得了解决越来越复杂的推理任务的能力。这种计算范围从生成数百到数千个推理标记,使模型能够更深入地探索和完善其思考过程。
这一自我进化过程中最引人注目的方面之一是,随着测试时间计算的增加,出现了复杂的行为。例如,模型会自发地进行反思——重新审视和评估其之前的步骤——并探索解决问题的替代方法。这些行为不是显式编程的,而是模型与强化学习环境互动的结果。这种自发发展显著提升了 DeepSeek-R1-Zero 的推理能力,使其能够以更高的效率和准确性应对更具挑战性的任务。
DeepSeek-R1-Zero 的“顿悟时刻” 在 DeepSeek-R1-Zero 的训练过程中,一个特别引人注目的现象是出现了“顿悟时刻”。如表 3 所示,这一时刻发生在模型的中间版本中。在这个阶段,DeepSeek-R1-Zero 学会了通过重新评估其初始方法,为问题分配更多的思考时间。这种行为不仅证明了模型推理能力的提升,也是强化学习如何带来意外且复杂结果的一个生动例证。
这一时刻不仅是模型的“顿悟时刻”,也是观察其行为的研究人员的“顿悟时刻”。它突显了强化学习的力量和美感:我们没有明确地教模型如何解决问题,而是提供了正确的激励,使其自主地发展出高级的解决问题策略。“顿悟时刻”有力地提醒我们,强化学习在解锁人工系统新智能水平方面的潜力,为未来更自主和适应性模型的发展铺平了道路。
2.3. DeepSeek-R1:具有冷启动的强化学习
受到 DeepSeek-R1-Zero 有希望的结果的启发,自然会产生两个问题:1)通过纳入少量高质量数据作为冷启动,是否可以进一步提升推理性能或加速收敛?2)如何训练一个用户友好的模型,不仅产生清晰连贯的链式推理(CoT),还展示强大的通用能力?为了解答这些问题,我们设计了一个训练 DeepSeek-R1 的流程。该流程包括四个阶段,概述如下。
2.3.1. 冷启动
与 DeepSeek-R1-Zero 不同,为防止从基础模型开始的 RL 训练的早期不稳定冷启动阶段,对于 DeepSeek-R1,我们构建并收集了少量长链推理(CoT)数据,用于微调模型作为 RL 的初始演员。为收集此类数据,我们探索了多种方法:使用少量示例提示,以长链推理为例,直接提示模型生成带有反思和验证的详细答案,收集 DeepSeek-R1-Zero 的可读格式输出,并通过人工注释者进行后处理来完善结果。
在本工作中,我们收集了数千个冷启动数据,用于微调 DeepSeek-V3-Base 作为 RL 的起点。与 DeepSeek-R1-Zero 相比,冷启动数据的优势包括:
-
可读性:DeepSeek-R1-Zero 的一个关键限制是其内容通常不适合阅读。响应可能混合多种语言或缺乏用于突出答案的标记格式。相比之下,在为 DeepSeek-R1 创建冷启动数据时,我们设计了一个可读模式,包括在每个响应末尾的摘要,并过滤掉不用户友好的响应。这里,我们定义输出格式为 |special_token|<reasoning_process>|special_token|<summary>,其中推理过程是查询的 CoT,摘要用于总结推理结果。
-
潜力:通过使用人类先验精心设计冷启动数据的模式,我们观察到与 DeepSeek-R1-Zero 相比有更好的性能。我们相信迭代训练是推理模型的更好方法。
2.3.2. 面向推理的强化学习
在用冷启动数据微调 DeepSeek-V3-Base 后,我们应用了与 DeepSeek-R1-Zero 相同的大规模强化学习训练过程。这一阶段重点提升模型在推理密集型任务中的推理能力,如编程、数学、科学和逻辑推理,这些任务涉及具有明确定义的问题和清晰解决方案。在训练过程中,我们观察到 CoT 经常出现语言混合,特别是当 RL 提示涉及多种语言时。为减轻语言混合问题,我们在 RL 训练中引入了语言一致性奖励,计算为 CoT 中目标语言单词的比例。尽管消融实验表明这种对齐导致模型性能略有下降,但这一奖励与人类偏好一致,使模型更易读。最终,我们通过直接求和推理任务的准确性和语言一致性奖励来形成最终奖励。然后,我们在微调模型上进行 RL 训练,直到其在推理任务上收敛。
2.3.3. 拒绝采样和监督式微调
当面向推理的 RL 收敛时,我们利用所得检查点为下一轮收集 SFT(监督式微调)数据。与主要关注推理的初始冷启动数据不同,这一阶段纳入了其他领域的数据,以增强模型在写作、角色扮演和其他通用任务中的能力。具体而言,我们按以下方式生成数据并微调模型。
推理数据 我们策划推理提示,并通过从上述 RL 训练的检查点进行拒绝采样生成推理轨迹。在前一阶段,我们仅纳入了可以使用基于规则的奖励评估的数据。然而,在这一阶段,我们通过纳入一些使用生成奖励模型的数据来扩展数据集,将真实答案和模型预测输入 DeepSeek-V3 进行判断。此外,由于模型输出有时混乱且难以阅读,我们过滤掉了混合语言、长段落和代码块的链式推理。对于每个提示,我们采样多个响应并仅保留正确的响应。总共,我们收集了约 600k 个与推理相关的训练样本。
非推理数据 对于非推理数据,如写作、事实问答、自我认知和翻译,我们采用了 DeepSeek-V3 流程,并重用了 DeepSeek-V3 的部分 SFT 数据集。对于某些非推理任务,我们提示 DeepSeek-V3 在回答问题之前生成潜在的链式推理。然而,对于更简单的查询,例如“你好”,我们不提供 CoT 作为响应。最终,我们收集了总共约 200k 个与推理无关的训练样本。
我们使用上述策划的约 800k 个样本的 dataset 对 DeepSeek-V3-Base 进行了两个周期的微调。
2.3.4. 面向所有场景的强化学习
为使模型更符合人类偏好,我们实施了一个次级强化学习阶段,旨在提升模型的有用性和无害性,同时完善其推理能力。具体而言,我们使用奖励信号和多样化提示分布的组合来训练模型。对于推理数据,我们遵循 DeepSeek-R1-Zero 中概述的方法,使用基于规则的奖励来指导数学、代码和逻辑推理领域的学习过程。对于通用数据,我们诉诸于奖励模型,以捕捉复杂和微妙场景中的人类偏好。我们基于 DeepSeek-V3 流程,采用了类似的偏好对和训练提示分布。对于有用性,我们仅关注最终摘要,确保评估强调响应对用户的实用性和相关性,同时最小化对底层推理过程的干扰。对于无害性,我们评估模型的整个响应,包括推理过程和摘要,以识别和减轻在生成过程中可能出现的任何潜在风险、偏见或有害内容。最终,奖励信号和多样化数据分布的整合使我们能够训练出一个在推理方面表现出色且优先考虑有用性和无害性的模型。
2.4. 蒸馏:赋予小型模型推理能力
为使更高效的小型模型具备 DeepSeek-R1 的推理能力,我们直接使用 DeepSeek-R1 策划的 800k 个样本,对开源模型如 Qwen 和 Llama 进行微调,如第 §2.3.3 节所述。我们的发现表明,这种简单的蒸馏方法显著提升了小型模型的推理能力。我们这里使用的 base 模型是 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. 实验
基准测试 我们在 MMLU、MMLU-Redux、MMLU-Pro、C-Eval、CMMLU、IFEval、FRAMES、GPQA Diamond、SimpleQA、C-SimpleQA、SWE-bench Verified、Aider、LiveCodeBench、Codeforces、CNMO 2024 和 AIME 2024 等基准测试中评估了模型。除了标准基准测试外,我们还使用 LLMs 作为评委,在开放域生成任务中评估模型。具体而言,我们遵循 AlpacaEval 2.0 和 Arena-Hard 的原始配置,利用 GPT-4-Turbo-1106 作为评委进行成对比较。在这里,我们仅将最终摘要输入评估,以避免长度偏差。对于蒸馏模型,我们报告了 AIME 2024、MATH-500、GPQA Diamond、Codeforces 和 LiveCodeBench 的代表性结果。
评估提示 按照 DeepSeek-V3 的设置,标准基准测试如 MMLU、DROP、GPQA Diamond 和 SimpleQA 使用 simpleevals 框架的提示进行评估。对于 MMLU-Redux,我们在零样本设置中采用 Zero-Eval 提示格式。对于 MMLU-Pro、C-Eval 和 CLUE-WSC,由于原始提示是少量示例,我们将其略微修改为零样本设置。少量示例中的 CoT 可能会损害 DeepSeek-R1 的性能。其他数据集遵循其原始评估协议,使用其创建者提供的默认提示。对于代码和数学基准测试,HumanEval-Mul 数据集涵盖八种主流编程语言(Python、Java、C++、C#、JavaScript、TypeScript、PHP 和 Bash)。模型在 LiveCodeBench 上的性能使用 CoT 格式进行评估,数据收集时间为 2024 年 8 月至 2025 年 1 月。Codeforces 数据集使用 10 场 Div.2 比赛的问题以及专家制作的测试用例进行评估,随后计算预期评级和参赛者百分比。SWE-bench verified 结果通过 agentless 框架获得。AIDER 相关基准测试使用“diff”格式测量。DeepSeek-R1 的输出在每个基准测试中被限制为最多 32,768 个标记。
基线 我们对多个强大的基线模型进行了全面评估,包括 DeepSeek-V3、Claude-Sonnet-3.5-1022、GPT-4o-0513、OpenAI-o1-mini 和 OpenAI-o1-1217。由于在中国大陆访问 OpenAI-o1-1217 API 存在困难,我们根据官方报告报告其性能。对于蒸馏模型,我们还将开源模型 QwQ-32B-Preview 作为基线进行比较。
评估设置 我们将模型的最大生成长度设置为 32,768 个标记。我们发现,使用贪婪解码评估长输出推理模型会导致更高的重复率和不同检查点之间的显著变异性。因此,我们默认使用 pass@i 评估,并使用非零温度报告 pass@1。具体而言,我们使用 0.6 的采样温度和 0.95 的 top-i 值,为每个问题生成 i 个响应(通常根据测试集大小在 4 到 64 之间)。然后按以下公式计算 pass@1:
对于 AIME 2024,我们还使用 64 个样本报告共识(多数投票)结果,记为 cons@64。
3.1. DeepSeek-R1 评估
在教育知识基准测试(如 MMLU、MMLU-Pro 和 GPQA Diamond)中,DeepSeek-R1 的表现优于 DeepSeek-V3。这一改进主要归功于在 STEM 相关问题上准确性的提高,而这一提高是通过大规模强化学习实现的。此外,DeepSeek-R1 在 FRAMES(一项依赖长上下文的问答任务)上表现出色,展示了其强大的文档分析能力。这突显了推理模型在 AI 驱动的搜索和数据分析任务中的潜力。在事实基准测试 SimpleQA 上,DeepSeek-R1 的表现优于 DeepSeek-V3,展示了其处理基于事实的查询的能力。类似的趋势是 OpenAI-o1 在此基准测试中超越了 GPT-4o。然而,DeepSeek-R1 在中文 SimpleQA 基准测试中的表现不如 DeepSeek-V3,主要是因为它在安全强化学习(RL)后倾向于拒绝回答某些问题。若无安全 RL,DeepSeek-R1 的准确率可超过 70%。
DeepSeek-R1 在 IF-Eval(一项旨在评估模型遵循格式指令能力的基准测试)上也取得了令人印象深刻的成绩。这些改进与在监督微调(SFT)和 RL 训练的最后阶段纳入遵循指令的数据有关。此外,DeepSeek-R1 在 AlpacaEval 2.0 和 ArenaHard 上的表现尤为突出,显示了其在写作任务和开放域问答方面的强大实力。它显著超越 DeepSeek-V3,突显了大规模 RL 的泛化优势,这不仅提升了推理能力,还提高了在不同领域的性能。此外,DeepSeek-R1 生成的摘要长度简洁明了,在 ArenaHard 上平均为 689 个标记,在 AlpacaEval 2.0 上平均为 2,218 个字符。这表明 DeepSeek-R1 在基于 GPT 的评估中避免了引入长度偏差,进一步巩固了其在多项任务中的稳健性。
在数学任务上,DeepSeek-R1 的表现与 OpenAI-o1-1217 不相上下,大幅超越了其他模型。在编程算法任务(如 LiveCodeBench 和 Codeforces)上,以推理为重点的模型在这些基准测试中占据主导地位,呈现出类似的趋势。在工程导向的编程任务上,OpenAI-o1-1217 在 Aider 上的表现优于 DeepSeek-R1,但在 SWE Verified 上表现相当。我们相信 DeepSeek-R1 的工程性能将在下一个版本中得到提升,因为目前相关的 RL 训练数据量仍然非常有限。
3.2. 蒸馏模型评估
如表 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。这些结果证明了蒸馏的强大潜力。此外,我们发现对这些蒸馏模型应用 RL 会带来进一步的显著提升。我们认为这值得进一步探索,因此这里仅呈现简单的 SFT 蒸馏模型的结果。
4. 讨论
4.1. 蒸馏与强化学习
在第 3.2 节中,我们可以看到,通过蒸馏 DeepSeek-R1,小型模型可以取得令人印象深刻的结果。然而,仍有一个问题:模型是否可以通过本文讨论的大规模 RL 训练,在没有蒸馏的情况下实现相当的性能?
为回答这个问题,我们在 Qwen-32B-Base 上进行了大规模 RL 训练,使用数学、代码和 STEM 数据,训练超过 10,000 步,得到 DeepSeek-R1-Zero-Qwen-32B。实验结果如表 6 所示,经过大规模 RL 训练的 32B 基础模型性能与 QwQ-32B-Preview 相当。然而,从 DeepSeek-R1 蒸馏得到的 DeepSeek-R1-Distill-Qwen-32B 在所有基准测试中均显著优于 DeepSeek-R1-Zero-Qwen-32B。
因此,我们可以得出两个结论:首先,将更强大的模型蒸馏到更小的模型中可以取得出色的结果,而依赖本文提到的大规模 RL 的小型模型需要巨大的计算能力,并且可能无法实现蒸馏的性能。其次,尽管蒸馏策略既经济又有效,但要超越智能的边界,可能仍需要更强大的基础模型和更大规模的强化学习。
4.2. 不成功的尝试
在开发 DeepSeek-R1 的早期阶段,我们也遇到了失败和挫折。我们在此分享我们的失败经验,以提供一些启示,但这并不意味着这些方法无法开发出有效的推理模型。
过程奖励模型(PRM) PRM 是引导模型更好地解决推理任务的合理方法。然而,在实践中,PRM 有三个主要限制,可能会阻碍其最终成功。首先,很难明确定义一般推理中的细粒度步骤。其次,确定当前中间步骤是否正确是一项具有挑战性的任务。使用模型进行自动化注释可能无法取得令人满意的结果,而人工注释不利于规模化。第三,一旦引入基于模型的 PRM,就不可避免地会导致奖励黑客攻击,重新训练奖励模型需要额外的训练资源,并使整个训练流程复杂化。总之,尽管 PRM 在重新排序模型生成的 top-N 响应或协助引导搜索方面表现出良好的能力,但其在大规模强化学习过程中的优势有限,引入的计算开销较大。
蒙特卡洛树搜索(MCTS) 受 AlphaGo 和 AlphaZero 的启发,我们探索了使用蒙特卡洛树搜索(MCTS)来增强测试时的计算可扩展性。这种方法涉及将答案分解为更小的部分,以允许模型系统地探索解决方案空间。为此,我们提示模型生成与搜索所需的特定推理步骤对应的多个标签。在训练中,我们首先使用收集的提示通过 MCTS 找到答案,由预训练的价值模型引导。随后,我们使用生成的问题答案对来训练演员模型和价值模型,迭代完善过程。
然而,当扩大训练规模时,这种方法遇到了几个挑战。首先,与搜索空间相对明确定义的棋类游戏不同,标记生成呈现出呈指数级增长的搜索空间。为此,我们为每个节点设置了最大扩展限制,但这可能导致模型陷入局部最优解。其次,价值模型直接影响生成质量,因为它指导搜索过程的每一步。训练细粒度的价值模型本质上是困难的,这使得模型难以迭代改进。尽管 AlphaGo 的核心成功依赖于训练价值模型来逐步提升其性能,但在我们的设置中,由于标记生成的复杂性,这一原则难以复制。
总之,尽管 MCTS 在与预训练的价值模型结合时可以在推理过程中提升性能,但通过自我搜索迭代提升模型性能仍然是一个重大挑战。
5. 结论、局限性和未来工作
在本工作中,我们分享了通过强化学习提升模型推理能力的历程。DeepSeek-R1-Zero 代表了一种纯 RL 方法,不依赖于冷启动数据,在各种任务中均取得了强大的性能。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。未来,我们计划探索如何利用长链推理来提升这些领域的能力。
-
语言混合:DeepSeek-R1 当前针对中文和英文进行了优化,这可能导致在处理其他语言的查询时出现语言混合问题。例如,即使查询不是英文或中文,DeepSeek-R1 也可能使用英文进行推理和响应。我们计划在未来的更新中解决这一限制。
-
提示工程:在评估 DeepSeek-R1 时,我们观察到它对提示非常敏感。少量示例提示会持续降低其性能。因此,我们建议用户直接描述问题并使用零样本设置指定输出格式,以获得最佳结果。
-
软件工程任务:由于评估时间长,影响 RL 过程的效率,大规模 RL 尚未在软件工程任务中广泛应用于 DeepSeek-R1。未来版本将通过在软件工程数据上实施拒绝采样或在 RL 过程中纳入异步评估来解决这一问题,以提高效率。