DeepSeek-R1:通过强化学习激发LLMs的推理能力
我们介绍我们的第一代推理模型:DeepSeek-R1-Zero 和 DeepSeek-R1。DeepSeek-R1-Zero 是一个通过大规模强化学习(RL)训练的模型,在此过程中未采用监督微调(SFT)作为初步步骤,它展现出了卓越的推理能力。通过强化学习,DeepSeek-R1-Zero 自然涌现出许多强大且有趣的推理行为。然而,它也面临一些挑战,例如可读性较差和语言混杂等问题。为了解决这些问题
我们介绍我们的第一代推理模型: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 蒸馏出的六个稠密模型(1.5B、7B、8B、14B、32B、70B)。
1,引言
近年来,后训练(post-training)已成为完整训练流程中的重要组成部分。研究表明,它能够提升推理任务的准确性,使模型与社会价值观对齐,并适应用户偏好,同时相比预训练所需的计算资源相对较少。后训练(post-training) 指的是在基础模型(通常经过大规模无监督预训练)之后,进一步对模型进行 微调、优化或强化 的阶段。这个过程旨在提高模型在特定任务上的表现,使其更符合人类期望,并增强推理能力。预训练(pre-training):使用大规模数据进行无监督学习,让模型学习语言结构、基本推理能力等。
在推理能力方面,OpenAI 的 o1 系列模型(OpenAI, 2024b)率先通过增加 链式思维(Chain-of-Thought) 推理过程的长度,引入了推理时(inference-time)扩展的方法。这一策略在数学、编程和科学推理等多个任务上实现了显著提升。然而,如何有效地进行测试时扩展(test-time scaling)仍然是研究社区尚未解决的难题。
此前,一些研究探索了不同的方法,例如基于过程的奖励模型(Lightman et al., 2023;Uesato et al., 2022;Wang et al., 2023)、强化学习(Kumar et al., 2024),以及蒙特卡洛树搜索(Monte Carlo Tree Search)和束搜索(Beam Search)等搜索算法(Feng et al., 2024;Trinh et al., 2024;Xin et al., 2024)。然而,迄今为止,这些方法都尚未达到可与 OpenAI o1 系列模型相媲美的通用推理性能。
在本文中,我们迈出了利用纯强化学习(RL)提升语言模型推理能力的第一步。我们的目标是探索大型语言模型(LLM)在没有任何监督数据的情况下发展推理能力的潜力,重点关注其通过纯强化学习过程的自我进化(R1 Zero = V3 + GRPO )。具体而言,我们以 DeepSeek-V3-Base 作为基础模型,并采用 GRPO(Shao 等人,2024)作为强化学习框架,以提升模型的推理能力。在训练过程中,DeepSeek-R1-Zero 自然涌现出许多强大且有趣的推理行为。经过数千步的强化学习训练,DeepSeek-R1-Zero 在推理基准测试上表现出色。例如,在 AIME 2024 测试集上的 pass@1 得分从 15.6% 提升至 71.0%,并且通过多数投票,该得分进一步提高至 86.7%,达到了 OpenAI-o1-0912 的水平。
然而,DeepSeek-R1-Zero 也面临一些挑战,例如可读性较差和语言混杂等问题。为了解决这些问题并进一步提升推理能力,我们引入了 DeepSeek-R1,该模型结合了少量的冷启动数据和多阶段训练流程。具体来说,我们首先收集了数千条冷启动数据,对 DeepSeek-V3-Base 进行微调。随后,我们与 DeepSeek-R1-Zero 类似,进行面向推理的强化学习训练。在强化学习过程接近收敛时,我们通过对强化学习检查点进行拒绝采样(rejection sampling)生成新的 SFT 数据,并结合 DeepSeek-V3 在写作、事实问答(QA)和自我认知等领域的监督数据,对 DeepSeek-V3-Base 进行再训练。经过新数据的微调后,模型再经历额外的强化学习训练,涵盖所有场景的提示词。经过这些步骤,我们获得了 DeepSeek-R1,其性能达到了与 OpenAI-o1-1217 相当的水平。在 LLM(大语言模型) 训练中,冷启动(cold start) 通常指的是在缺乏特定任务或领域的监督数据的情况下,对模型进行初始微调,以便为后续训练提供基础。冷启动的主要目的是为模型提供一个起点,使其更容易适应新的任务或提高特定能力。冷启动数据相当于给模型提供一个“热身”阶段,而不是直接从零开始探索,帮助它更高效地发展推理。
我们进一步探索了从 DeepSeek-R1 向更小的稠密模型进行蒸馏。以 Qwen2.5-32B(Qwen, 2024b)作为基础模型,直接从 DeepSeek-R1 进行蒸馏的效果优于在其上应用强化学习。这表明,大型基础模型所发现的推理模式对于提升推理能力至关重要。我们开源了蒸馏后的 Qwen 和 Llama(Dubey 等人,2024)系列。值得注意的是,我们的蒸馏版 14B 模型大幅超越了最先进的开源模型 QwQ-32B-Preview(Qwen, 2024a),而蒸馏后的 32B 和 70B 模型在稠密模型的推理基准测试中创造了新的纪录。
【后训练:在基础模型上进行大规模强化学习】
- 我们直接对基础模型应用强化学习(RL),而不依赖监督微调(SFT)作为前置步骤。这种方法使模型能够自主探索 思维链(CoT) 来解决复杂问题,从而发展出 DeepSeek-R1-Zero。DeepSeek-R1-Zero 展现出了 自我验证、反思 以及 生成长思维链 等能力,这一成果对研究社区来说是一个重要的里程碑。值得注意的是,这是首个公开研究证明 LLM 的推理能力可以纯粹通过强化学习激发,而无需依赖 SFT。这一突破为该领域未来的发展奠定了基础。
- 我们介绍了用于开发 DeepSeek-R1 的训练流程。该流程包含 两个强化学习(RL)阶段,旨在发现更优的推理模式并对齐人类偏好,同时还包括 两个监督微调(SFT)阶段,用于奠定模型的推理和非推理能力基础。我们相信这一流程将有助于行业打造更强大的模型。
【蒸馏:小型模型也能强大】
- 我们证明了大型模型的推理模式可以被蒸馏到小型模型中,其效果优于直接在小型模型上通过强化学习(RL)自主探索推理模式。开源的 DeepSeek-R1 及其 API 将为研究社区提供支持,帮助未来蒸馏出更优的小型模型,从而推动这一领域的发展。
- 我们利用 DeepSeek-R1 生成的推理数据 对多个广泛用于研究社区的稠密模型进行了微调。评测结果表明,蒸馏后的小型稠密模型在基准测试上表现出色。其中,DeepSeek-R1-Distill-Qwen-7B 在 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 系列的蒸馏版 1.5B、7B、8B、14B、32B 和 70B 检查点,以促进该领域的发展。
推理任务表现:
- 数学推理:DeepSeek-R1 在 AIME 2024 上的 Pass@1 得分达到 79.8%,略微超越 OpenAI-o1-1217。在 MATH-500 上,它取得了 97.3% 的高分,与 OpenAI-o1-1217 表现相当,并且显著超越了其他模型。
- 编程任务:DeepSeek-R1 在 代码竞赛任务 中展现出专家级能力,在 Codeforces 评测中达到了 2,029 Elo 评分,超越了 96.3% 的人类参赛者。
- 工程相关任务:DeepSeek-R1 在工程任务上的表现略优于 DeepSeek-V3,这意味着它在现实世界的开发任务中可以为工程师提供更大的帮助。
知识测试表现:
- 在 MMLU、MMLU-Pro 和 GPQA Diamond 等基准测试上,DeepSeek-R1 取得了卓越成绩,大幅超越 DeepSeek-V3,分别达到 90.8%(MMLU)、84.0%(MMLU-Pro)和 71.5%(GPQA Diamond)。虽然在这些基准测试上,其表现略低于 OpenAI-o1-1217,但 DeepSeek-R1 超过了其他闭源模型,展现出在教育类任务中的竞争优势。
- 在 事实性基准测试 SimpleQA 上,DeepSeek-R1 超越 DeepSeek-V3,证明了其在处理基于事实的查询方面的能力。类似的趋势也出现在该测试中,OpenAI-o1 在表现上超越了 4o。
其他能力表现:
- DeepSeek-R1 在 创意写作、通用问答、编辑、摘要等多个任务 上表现出色。在 AlpacaEval 2.0 的 长度控制测试 中,它的胜率达到了 87.6%,而在 Arena-Hard 评测中,胜率高达 92.3%,展现了其在处理非考试类任务方面的强大智能能力。
- 此外,DeepSeek-R1 在 长上下文理解 任务上表现突出,在相关基准测试中大幅超越 DeepSeek-V3,进一步证明了其在处理长文本和复杂语境任务上的优势。
2,DeepSeek-R1-Zero
以往的研究主要依赖大量监督数据来提升模型性能。然而,在本研究中,我们证明了即使不使用监督微调(SFT)作为冷启动,大规模强化学习(RL) 依然能够显著增强模型的推理能力。此外,结合少量冷启动数据 还能进一步提升性能。
在接下来的部分,我们将介绍:
- DeepSeek-R1-Zero:直接在基础模型上应用 RL,而不依赖任何 SFT 数据。
- DeepSeek-R1:在经过数千条长思维链(CoT)示例微调的检查点上进行 RL 训练,以进一步增强推理能力。
- 推理能力蒸馏:将 DeepSeek-R1 的推理能力蒸馏到小型稠密模型,提高小模型的性能。
【DeepSeek-R1-Zero:在基础模型上进行强化学习】强化学习(RL)在推理任务中展现出了显著的效果,这一点在我们的先前研究(Shao et al., 2024; Wang et al., 2023)中已得到验证。然而,这些研究高度依赖监督数据,而这些数据的获取通常需要大量时间和成本。在本节中,我们探索了 LLM 在完全不依赖监督数据的情况下发展推理能力的潜力,重点研究其如何通过纯强化学习(RL)过程进行自我进化。我们将首先简要介绍我们的 RL 算法,然后展示一些令人兴奋的实验结果,希望这能为研究社区提供有价值的见解,推动 LLM 推理能力的发展。
【强化学习算法】为了降低强化学习的训练成本,我们采用群体相对策略优化(Group Relative Policy Optimization,GRPO)(Shao 等,2024)。该方法摒弃了通常与策略模型规模相同的评论者(critic)模型,而是改用群体评分来估计基准值。具体来说,对于每个问题
,GRPO 从旧的策略函数
中采样一组输出
,然后通过最大化以下目标来优化策略模型
:
其中
和
是超参数,
是优势函数,根据每个群体内输出对应的一组奖励
计算得出优势函数:
【奖励模型】奖励是训练信号的来源,它决定了强化学习 (RL) 的优化方向。为了训练 DeepSeek-R1-Zero,我们采用了基于规则的奖励系统,该系统主要包括两种奖励类型:
准确性奖励:准确性奖励模型用于评估回答是否正确。例如,对于具有确定性结果的数学问题,模型需要以指定格式(例如放入一个框内)提供最终答案,以便进行可靠的基于规则的正确性验证。同样,对于 LeetCode 题目,可以使用编译器根据预定义的测试用例生成反馈。
格式奖励:除了准确性奖励模型,我们还使用格式奖励模型,要求模型将其思考过程放在
<think>
和</think>
标签之间。在开发 DeepSeek-R1-Zero 时,我们没有使用结果或过程神经奖励模型。原因在于,我们发现神经奖励模型在大规模强化学习过程中可能会受到奖励操纵的影响。此外,重新训练奖励模型不仅需要额外的训练资源,还会增加整个训练流程的复杂性。
【训练模板】为了训练 DeepSeek-R1-Zero,我们首先设计了一个简单的模板,引导基础模型遵循我们指定的指令。 如表 1 所示,该模板要求 DeepSeek-R1-Zero 先生成推理过程,然后再给出最终答案。 我们有意将约束限制在这一结构化格式上,避免任何特定内容的偏见,例如强制反思性推理或推广特定的问题解决策略,以确保我们能够在强化学习过程中准确观察模型的自然演进。
用户与助手之间的对话。用户提出一个问题,助手解决它。 助手首先在脑海中思考推理过程,然后向用户提供答案。 推理过程和答案分别用 <think> </think> 和 <answer> </answer> 标签括起来,例如: <think> 这里是推理过程 </think> <answer> 这里是答案 </answer> 用户:提示。 助手:
【DeepSeek-R1-Zero 的性能】
- DeepSeek-R1-Zero 的性能:图 2 展示了 DeepSeek-R1-Zero 在 AIME 2024 基准测试中的性能轨迹,涵盖整个强化学习(RL)训练过程。如图所示,随着 RL 训练的推进,DeepSeek-R1-Zero 的性能稳步且持续提升。值得注意的是,AIME 2024 的平均 pass@1 分数显著提高,从最初的 15.6% 激增至 71.0%,达到了与 OpenAI-o1-0912 相当的性能水平。这一显著的提升凸显了我们的 RL 算法在优化模型性能方面的有效性。
- 表 2 对 DeepSeek-R1-Zero 和 OpenAI 的 o1-0912 模型在多个推理相关基准测试中的表现进行了对比分析。研究结果表明,强化学习(RL)使 DeepSeek-R1-Zero 能够在没有任何监督微调数据的情况下获得强大的推理能力。这一成就是值得注意的,因为它凸显了该模型仅通过强化学习就能有效学习和泛化的能力。此外,通过应用多数投票(majority voting),DeepSeek-R1-Zero 的性能可以进一步提升。例如,在 AIME 基准测试上使用多数投票后,其性能从 71.0% 提升至 86.7%,超越了 OpenAI-o1-0912 的表现。DeepSeek-R1-Zero 在有无多数投票的情况下均能取得如此有竞争力的表现,这不仅展示了其强大的基础能力,也表明其在推理任务中的进一步发展潜力。
【DeepSeek-R1-Zero 的自我进化】DeepSeek-R1-Zero 的自我进化过程是强化学习 (RL) 如何推动模型自主提升推理能力的一个引人入胜的展示。通过直接从基础模型启动强化学习,我们可以在没有监督微调阶段影响的情况下,密切监测模型的进展。这种方法清晰展现了模型随时间的演化过程,尤其是在处理复杂推理任务方面的能力提升。
如图 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,该方法结合了强化学习和更符合人类习惯的冷启动数据。
3,DeepSeek-R1:具有冷启动的强化学习
受 DeepSeek-R1-Zero 令人振奋的结果启发,我们提出了两个自然的问题:
- 通过引入少量高质量数据作为冷启动,是否能够进一步提升推理性能或加速收敛?
- 如何训练一个更加用户友好的模型,使其不仅能生成清晰连贯的思维链(CoT),还具备强大的通用能力?
为了解决这些问题,我们设计了一条训练 DeepSeek-R1 的流程。该流程包括以下四个阶段。
【冷启动】与 DeepSeek-R1-Zero 不同,为了防止强化学习训练早期的不稳定冷启动阶段影响基础模型,对于 DeepSeek-R1,我们构建并收集了一小部分长链式思维(CoT)数据,用于微调模型,使其成为初始的强化学习执行者。为了收集这些数据,我们探索了几种方法:使用少样本提示(few-shot prompting),以长 CoT 作为示例;直接提示模型生成带有反思和验证的详细答案;以可读格式收集 DeepSeek-R1-Zero 的输出;以及通过人工标注后处理来优化结果。
在本研究中,我们收集了数千条冷启动数据,以微调 DeepSeek-V3-Base 作为强化学习的起点。与 DeepSeek-R1-Zero 相比,冷启动数据的优势包括:
- 可读性:DeepSeek-R1-Zero 的一个关键限制是其内容通常不适合阅读。其回复可能混合多种语言,或者缺少 Markdown 格式来突出显示答案。而在为 DeepSeek-R1 创建冷启动数据时,我们设计了一种可读性更高的模式,包括在每个回复的末尾添加摘要,并筛除不适合阅读的回复。在此,我们将输出格式定义为:|special_token|<reasoning_process>|special_token|<summary>,其中 reasoning_process 是查询的链式思维(CoT)过程,summary 用于总结推理结果。
- 潜力:通过精心设计包含人类先验知识的冷启动数据模式,我们观察到其性能优于 DeepSeek-R1-Zero。我们认为,迭代训练是提升推理模型能力的更优方法。
【面向推理的强化学习】在对 DeepSeek-V3-Base 进行冷启动数据微调后,我们采用与 DeepSeek-R1-Zero 相同的大规模强化学习训练过程。本阶段重点提升模型的推理能力,特别是在涉及明确问题和清晰解答的推理密集型任务,如编程、数学、科学和逻辑推理等。
在训练过程中,我们观察到链式思维(CoT)回答经常出现语言混杂的现象,尤其是在强化学习提示涉及多种语言时。为减轻语言混杂问题,我们在强化学习训练中引入了语言一致性奖励,该奖励通过计算 CoT 目标语言词汇的占比来衡量语言一致性。尽管消融实验表明这种对齐会导致模型性能略有下降,但它符合人类的阅读偏好,使回答更加可读。
最终,我们将推理任务的准确性和语言一致性奖励直接相加,形成最终的奖励信号,并在微调后的模型上进行强化学习训练,直至其在推理任务上收敛。
【拒绝采样与监督微调】当面向推理的强化学习(RL)收敛后,我们使用所得的检查点(checkpoint)来收集监督微调(SFT)数据,以用于下一轮训练。不同于最初的冷启动数据主要关注推理能力,本阶段引入其他领域的数据,以提升模型在写作、角色扮演等通用任务上的能力。具体而言,我们按照以下方式生成数据并微调模型:
- 推理数据:我们精心挑选推理提示,并通过对上述强化学习训练的检查点执行拒绝采样来生成推理轨迹。在前一个阶段,我们仅包含可以使用基于规则的奖励进行评估的数据。然而,在本阶段,我们通过引入额外数据来扩展数据集,其中部分数据使用生成式奖励模型,通过将真实标签和模型预测输入 DeepSeek-V3 进行判断。此外,由于模型的输出有时较为混乱且难以阅读,我们已经过滤掉了包含混合语言、冗长段落和代码块的思维链内容。对于每个提示,我们采样多个响应,并仅保留正确的结果。最终,我们共收集了约 60 万条与推理相关的训练样本。
- 非推理数据:对于非推理数据,如写作、事实问答、自我认知和翻译等任务,我们采用 DeepSeek-V3 流水线,并复用部分 DeepSeek-V3 的 SFT 数据集。对于某些非推理任务,我们会调用 DeepSeek-V3 生成一个潜在的思维链(CoT),然后再进行回答。然而,对于更简单的查询(如“hello”),我们不会提供思维链作为回应。最终,我们共收集了大约 20 万条与推理无关的训练样本。
我们使用上述精心挑选的约 80 万条样本数据,对 DeepSeek-V3-Base 进行了两轮微调。
【适用于所有场景的强化学习】为了进一步使模型与人类偏好保持一致,我们实施了一个次级强化学习阶段,旨在提升模型的有用性和无害性,同时优化其推理能力。具体而言,我们采用奖励信号与多样化的提示分布相结合的方式对模型进行训练。
- 在推理数据方面,我们遵循 DeepSeek-R1-Zero 中提出的方法,该方法利用基于规则的奖励来引导数学、代码和逻辑推理领域的学习过程。
- 对于一般数据,我们使用奖励模型来捕捉人类在复杂和微妙情境中的偏好。
我们基于 DeepSeek-V3 训练流程,并采用类似的偏好对和训练提示分布。在有用性方面,我们专注于最终摘要,确保评估重点放在响应对用户的实用性和相关性上,同时尽量减少对底层推理过程的干扰。在无害性方面,我们评估模型的整个响应,包括推理过程和摘要,以识别并减少在生成过程中可能出现的风险、偏见或有害内容。
最终,通过结合奖励信号与多样化的数据分布,我们能够训练出在推理能力方面表现卓越,同时优先考虑有用性和无害性的模型。
【Distillation: 赋能小型模型以推理能力】为了使更高效的小型模型具备类似 DeepSeek-R1 的推理能力,我们直接使用 DeepSeek-R1 精选的 80 万个样本(详见 §2.3.3)对开源模型 Qwen(Qwen, 2024b)和 Llama(AI@Meta, 2024)进行微调。我们的研究表明,这种直接的蒸馏方法能够显著提升小型模型的推理能力。在基模型选择上,我们使用了 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 阶段的探索留给更广泛的研究社区。
4,讨论
【蒸馏 vs. 强化学习】通过对 DeepSeek-R1 进行蒸馏,小模型可以取得令人印象深刻的结果。然而,还有一个问题尚未解决:在没有蒸馏的情况下,该模型能否通过论文中讨论的大规模强化学习训练实现可比的性能?为了回答这个问题,我们在 Qwen-32B-Base 上进行了大规模强化学习训练,使用数学、代码和 STEM 数据,训练超过 10K 步,最终得到 DeepSeek-R1-Zero-Qwen-32B。实验结果(见表 6)表明,经过大规模强化学习训练后,32B 基础模型的性能与 QwQ-32B-Preview 相当。然而,由 DeepSeek-R1 蒸馏得到的 DeepSeek-R1-Distill-Qwen-32B 在所有基准测试中都明显优于 DeepSeek-R1-Zero-Qwen-32B。
因此,我们可以得出两个结论:首先,将更强大的模型蒸馏到较小的模型中可以取得优异的效果,而依赖本文所述大规模强化学习的小模型不仅需要巨大的计算资源,而且其性能可能甚至无法达到蒸馏模型的水平。其次,虽然蒸馏策略既经济又高效,但要突破智能的边界,可能仍然需要更强大的基础模型和更大规模的强化学习。
【不成功的尝试】在 DeepSeek-R1 开发的早期阶段,我们也遇到了失败和挫折。在此分享我们的失败经验,以提供一些见解,但这并不意味着这些方法无法用于构建有效的推理模型。
- 过程奖励模型(PRM):PRM 是一种合理的方法,可以引导模型采用更优的方式解决推理任务(Lightman 等,2023;Uesato 等,2022;Wang 等,2023)。然而,在实际应用中,PRM 存在三个主要限制,可能会阻碍其最终成功。首先,在一般推理任务中,精确定义细粒度的推理步骤是一个挑战。其次,判断当前中间步骤是否正确非常困难。使用模型进行自动标注可能无法得到理想的结果,而人工标注又难以扩展。第三,一旦引入基于模型的 PRM,难以避免奖励欺骗(Gao 等,2022),同时重新训练奖励模型需要额外的计算资源,使整个训练流程变得更加复杂。总的来说,尽管 PRM 在对模型生成的 top-N 响应进行重排序或辅助引导搜索方面表现良好(Snell 等,2024),但在我们的实验中,与其在大规模强化学习过程中引入的额外计算开销相比,其优势仍然有限。
- 蒙特卡洛树搜索(MCTS):受 AlphaGo(Silver 等,2017b)和 AlphaZero(Silver 等,2017a)的启发,我们探索了使用蒙特卡洛树搜索(MCTS)来增强测试时的计算可扩展性。这种方法将答案拆分成更小的部分,使模型能够系统地探索解空间。为了实现这一目标,我们提示模型生成多个标签,这些标签对应于搜索过程中所需的特定推理步骤。在训练过程中,我们首先使用收集的提示,通过 MCTS 在预训练的价值模型引导下寻找答案。随后,我们利用生成的问答对来训练执行模型(actor model)和价值模型(value model),并通过迭代不断优化整个过程。然而,当将该方法扩展到大规模训练时,我们遇到了几个挑战。首先,与棋类游戏不同,棋类的搜索空间相对明确定义,而令牌(token)生成的搜索空间呈指数级增长。为了解决这一问题,我们为每个节点设置了最大扩展限制,但这可能导致模型陷入局部最优解,难以探索更优解。其次,价值模型(value model)直接影响生成质量,因为它在搜索过程中引导每一步的决策。然而,训练一个精细化的价值模型本身就是一个困难的任务,使得模型难以通过迭代不断提升表现。尽管 AlphaGo 的核心成功依赖于训练价值模型以逐步增强性能,但在我们的设定中,由于令牌生成的复杂性,这一原则难以复现。总的来说,尽管 MCTS 在推理阶段与预训练的价值模型配合使用时可以提升性能,但通过**自我搜索(self-search)**来迭代增强模型性能仍然是一个重大挑战。
5,结论
在本研究中,我们分享了通过强化学习提升模型推理能力的探索过程。DeepSeek-R1-Zero 采用纯强化学习(RL)方法,不依赖冷启动数据,在各种任务上取得了出色的表现。而 DeepSeek-R1 更加强大,它结合了冷启动数据和迭代强化学习微调(RL fine-tuning)。最终,DeepSeek-R1 在多个任务上达到了与 OpenAI-o1-1217 相当的性能。
我们进一步探索了将推理能力蒸馏(distillation)到小型稠密模型的方法。我们使用 DeepSeek-R1 作为教师模型,生成 80 万条训练样本,并对多个小型稠密模型进行微调。
实验结果令人振奋:DeepSeek-R1-Distill-Qwen-1.5B 在数学基准测试中表现优异,在 AIME 任务上取得 28.9%,在 MATH 任务上达到 83.9%,超越了 GPT-4o 和 Claude-3.5-Sonnet。其他稠密模型同样取得了卓越的成绩,显著优于基于相同底层检查点的其他指令微调模型。
未来,我们计划在以下几个方向上进一步开展 DeepSeek-R1 的研究:
通用能力(General Capability):目前,DeepSeek-R1 在函数调用、多轮对话、复杂角色扮演和 JSON 输出等任务上的能力仍逊色于 DeepSeek-V3。未来,我们计划探索如何利用长链思维(Long CoT)来提升这些任务的表现。
语言混合(Language Mixing):DeepSeek-R1 主要针对中英文优化,在处理其他语言的查询时可能会出现语言混用问题。例如,即使输入的语言不是英语或中文,DeepSeek-R1 仍可能使用英语进行推理和回答。未来版本将致力于优化这一点,以提高多语言处理能力。
提示工程(Prompt Engineering):在评估 DeepSeek-R1 时,我们发现其对提示(prompt)较为敏感,Few-shot 提示反而会降低其性能。因此,我们建议用户采用零样本(Zero-shot)设置,直接描述问题并指定输出格式,以获得最佳结果。
软件工程任务(Software Engineering Tasks):由于评估时间较长,影响了强化学习(RL)过程的效率,我们尚未在软件工程任务上大规模应用强化学习。因此,DeepSeek-R1 在软件工程基准测试上的表现未能显著超越 DeepSeek-V3。未来,我们计划通过拒绝采样(Rejection Sampling)或在强化学习过程中引入异步评估(Asynchronous Evaluations)来提升训练效率,从而增强模型在软件工程任务上的能力。
更多推荐
所有评论(0)