(2025,DeepSeek-R1-Zero,DeepSeek-R1,两阶段强化学习,两阶段监督微调,蒸馏,冷启动数据)通过强化学习激励 LLM 的推理能力

news2025/1/29 8:37:21

DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning

目录

0. 摘要

1. 简介

1.1 贡献

1.2 评测结果总结

2. 方法

2.1 概述

2.2 DeepSeek-R1-Zero:基础模型上的强化学习

2.2.1. 强化学习算法

2.2.2. 奖励建模

2.2.3. 训练模板

2.2.4. DeepSeek-R1-Zero 的性能、自我进化过程与 "Aha Moment"

2.3. DeepSeek-R1: 结合冷启动数据的强化学习

2.3.1. 冷启动 (Cold Start)

2.3.2. 面向推理的强化学习

2.3.3. 拒绝采样 (Rejection Sampling) 与监督微调 (Supervised Fine-Tuning, SFT)

2.3.4. 适用于所有场景的强化学习

2.4. 蒸馏:赋予小模型推理能力

3. 实验

3.1. DeepSeek-R1 评估

3.2 蒸馏模型评估

4. 讨论

4.1 蒸馏与强化学习

4.2. 不成功的尝试

5. 结论、局限性与未来工作


0. 摘要

我们推出了第一代推理模型,DeepSeek-R1-Zero 和 DeepSeek-R1。

DeepSeek-R1-Zero 是一个通过大规模强化学习(RL)训练的,未经过监督微调(supervised fine-tuning,SFT)的模型,展现了卓越的推理能力。通过强化学习,DeepSeek-R1-Zero 自然涌现出许多强大且令人惊叹的推理行为。然而,它也面临一些挑战,例如可读性差和语言混杂(language mixing)。

为了解决这些问题并进一步提升推理性能,我们引入了 DeepSeek-R1,该模型结合了多阶段训练和强化学习前的冷启动数据(cold-start data)。DeepSeek-R1 在推理任务上的表现可与 OpenAI-o1-1217 相媲美。

了支持研究社区,我们开源了 DeepSeek-R1-Zero、DeepSeek-R1,以及从 DeepSeek-R1 中基于 Qwen 和 Llama 蒸馏出的六个密集模型(1.5B、7B、8B、14B、32B、70B)。

1. 简介

1.1 贡献

1)后训练(Post-Training):基础模型上的大规模强化学习

我们直接在基础模型上应用强化学习(RL),而不依赖监督微调(SFT)作为初始步骤。

  • 这种方法使模型能够探索链式思维(chain-of-thought,CoT)来解决复杂问题,最终形成 DeepSeek-R1-Zero。DeepSeek-R1-Zero 展现出自我验证、反思和生成长 CoT 等能力,这是研究社区的重要里程碑。
  • 值得注意的是,这是首个公开研究证明了 LLM 的推理能力可以通过纯强化学习激励,而无需 SFT

这一突破为未来的研究奠定了基础。

我们提出了用于开发 DeepSeek-R1 的训练流程。

  • 该训练流程包括 两个强化学习阶段,旨在发现更好的推理模式并与人类偏好对齐,
  • 同时包含 两个监督微调(SFT)阶段,为模型的推理和非推理能力提供初始种子。

我们相信这一流程将有助于行业构建更优模型。

2)蒸馏:小模型同样可以强大

我们证明了 大型模型的推理模式可以被蒸馏到小模型中,其性能甚至优于在小模型上通过 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 的蒸馏检查点。

1.2 评测结果总结

1)推理任务

  • DeepSeek-R1 在 AIME 2024 测试中取得了 79.8% Pass@1 的成绩,略微超越 OpenAI-o1-1217。
  • 在 MATH-500 上取得了 97.3% 的惊人成绩,与 OpenAI-o1-1217 表现相当,并远超其他模型。
  • 在编码相关任务中,DeepSeek-R1 在代码竞赛任务中达到了专家级水平,在 Codeforces 上的 Elo 评分为 2,029,超越 96.3% 的人类参赛者。
  • 在工程相关任务上,DeepSeek-R1 的表现略优于 DeepSeek-V3,这对开发者在现实世界中的应用具有重要价值。

2)知识能力

  • 在 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。

3)其他能力

DeepSeek-R1 在多个任务中表现出色,包括创意写作(creative writing)、通用问答、编辑、摘要等。

  • 在 AlpacaEval 2.0 中,DeepSeek-R1 在长度控制任务上的胜率达到了 87.6%,在 ArenaHard 中的胜率为 92.3%,展现了其在处理非考试类 query 上的智能能力。
  • 此外,在需要长上下文理解的任务上,DeepSeek-R1 也表现卓越,在长上下文基准测试上远超 DeepSeek-V3。

2. 方法

2.1 概述

以往的研究主要依赖大量监督数据来提升模型性能。在本研究中,我们证明了即使不使用监督微调(SFT)作为冷启动,仅通过大规模强化学习(RL),也能显著增强推理能力。此外,加入少量冷启动数据后,模型性能还能进一步提升。

在接下来的部分,我们介绍:

  • DeepSeek-R1-Zero:直接在基础模型上应用 RL,无需任何 SFT 数据。
  • DeepSeek-R1:在经过数千个长链式思维(CoT)示例微调的检查点上继续进行 RL 训练。
  • 推理能力蒸馏:将 DeepSeek-R1 的推理能力迁移到小型密集模型中。

2.2 DeepSeek-R1-Zero:基础模型上的强化学习

强化学习在推理任务中的有效性已在我们此前的研究中得到验证(Shao et al., 2024; Wang et al., 2023)。然而,这些研究严重依赖监督数据,而获取这些数据需要大量时间成本。

在本节中,我们探讨 LLM 是否可以在没有任何监督数据的情况下,自主发展推理能力,重点关注其通过纯强化学习过程实现的自我进化。我们首先简要介绍我们的 RL 算法,然后展示一些令人兴奋的实验结果,并希望这些发现能为研究社区提供有价值的见解。

2.2.1. 强化学习算法

为了降低强化学习 (RL) 的训练成本,我们采用 组相对策略优化 (Group Relative Policy Optimization,GRPO)(Shao 等,2024)。GRPO 放弃了通常与策略模型(policy model)规模相同的评价模型(Critic Model),而是改为使用组评分(group scores)来估计基线。

具体而言,对于每个问题 q,GRPO 从旧策略 π_{θ_old} 采样一组输出 {o_1, o_2,…, o_G},然后通过最大化以下目标函数来优化策略模型 π_θ:

其中 ϵ 和 β 是超参数,A_i 是优势 (Advantage),由每组输出的奖励 {r_1, r_2,…, r_G} 计算得到:

2.2.2. 奖励建模

奖励是训练信号的来源,决定了强化学习 (RL) 的优化方向。为了训练 DeepSeek-R1-Zero,我们采用了基于规则的奖励系统,该系统主要包括两种奖励类型:

  • 准确性奖励(Accuracy rewards):准确性奖励模型用于评估模型的回答是否正确。例如,在具有确定性结果的数学问题中,模型需要以指定格式(例如,在方框内)提供最终答案,以便通过基于规则的方法可靠地验证其正确性。同样,对于 LeetCode 问题,可以使用编译器基于预定义的测试用例生成反馈。
  • 格式奖励(Format rewards):除了准确性奖励模型外,我们还使用格式奖励模型,要求模型将其推理过程放在 <think></think> 标签之间。

在开发 DeepSeek-R1-Zero 的过程中,我们 没有采用基于神经网络的奖励模型(包括结果奖励或过程奖励),因为我们发现神经奖励模型在大规模强化学习过程中可能会受到奖励欺骗的影响。此外,重新训练奖励模型需要额外的训练资源,并会使整个训练流程变得更加复杂。

2.2.3. 训练模板

为了训练 DeepSeek-R1-Zero,我们首先设计了一个简单的模板,引导基础模型遵循我们的指定指令。如表 1 所示,该模板要求 DeepSeek-R1-Zero 先生成推理过程,然后提供最终答案。我们有意将约束限制在这种结构化格式上,避免任何内容相关的偏见,例如强制反思性推理或强调特定的解题策略,以确保我们能够准确观察模型在强化学习过程中的自然演进。

2.2.4. DeepSeek-R1-Zero 的性能、自我进化过程与 "Aha Moment"

1)DeepSeek-R1-Zero 的性能

图 2 展示了 DeepSeek-R1-Zero 在 RL 训练过程中,在 AIME 2024 基准测试上的性能轨迹。可以看到,随着强化学习的推进,DeepSeek-R1-Zero 的性能稳步提升。值得注意的是,其在 AIME 2024 基准测试上的平均 pass@1 得分从最初的 15.6% 显著提高至 71.0%,达到了与 OpenAI-o1-0912 相当的水平。这一重大改进凸显了我们 RL 算法在优化模型性能方面的有效性。

表 2 对比了 DeepSeek-R1-Zero 与 OpenAI 的 o1-0912 模型在多个推理相关基准测试上的表现。

  • 结果表明,强化学习使 DeepSeek-R1-Zero 能够在不依赖任何监督微调数据的情况下获得强大的推理能力。这一成就尤为重要,因为它证明了该模型仅凭强化学习即可有效学习和泛化。
  • 此外,DeepSeek-R1-Zero 的性能可以通过 多数投票 (majority voting) 进一步提升。例如,在 AIME 基准测试上,使用多数投票后,DeepSeek-R1-Zero 的性能从 71.0% 上升至 86.7%,超越了 OpenAI-o1-0912。
  • DeepSeek-R1-Zero 在有无多数投票的情况下均能达到如此具有竞争力的性能,这不仅凸显了其强大的基础能力,也展现了其在推理任务上的进一步发展潜力。

2)DeepSeek-R1-Zero 的自我进化过程

DeepSeek-R1-Zero 的自我进化过程生动展现了强化学习 (RL) 如何推动模型自主提升推理能力。通过直接从基础模型开始强化学习,我们能够在不受监督微调阶段影响的情况下,密切观察模型的演变过程。这种方法清晰地展示了模型随时间的发展,特别是在处理复杂推理任务方面的能力提升。

如图 3 所示,DeepSeek-R1-Zero 的思考时间在训练过程中持续优化。这一改进并非外部调整的结果,而是模型内部自发发展的体现。DeepSeek-R1-Zero 通过扩展测试时计算 (test-time computation) 自然习得了解决日益复杂推理任务的能力。这种计算扩展涉及生成数百到数千个推理 token,使模型能够更深入地探索和完善其思维过程。

这种自我进化最引人注目的特点之一是,随着测试时计算能力的提升,模型自主涌现出复杂行为。例如,反思 (reflection)——模型会回顾并重新评估其先前的推理步骤,以及探索不同的解题方法。这些行为并非人为显式编程的结果,而是模型与强化学习环境交互过程中自然形成的。这样的自发发展显著增强了 DeepSeek-R1-Zero 的推理能力,使其能够更高效、更精准地解决更具挑战性的任务。

3)DeepSeek-R1-Zero 的 "Aha Moment"

在训练 DeepSeek-R1-Zero 的过程中,我们观察到一个特别有趣的现象,即 “aha moment”(顿悟时刻)。如表 3 所示,这一时刻出现在模型的某个中间版本。在这个阶段,DeepSeek-R1-Zero 学会通过重新评估其最初的解题思路,为问题分配更多的思考时间。这一行为不仅证明了模型推理能力的提升,同时也是强化学习能够产生意想不到且高度复杂结果的一个引人注目的案例。

这一时刻不仅是模型的 "aha moment",也是研究人员的 "aha moment"。它凸显了强化学习的强大与美妙之处:我们并未直接教授模型如何解题,而只是提供了合适的激励,模型便能自主发展出先进的解题策略。"aha moment" 强有力地证明了强化学习在开发更自主、更具适应性的人工智能系统方面的潜力,为未来智能模型的发展铺平了道路。

4)DeepSeek-R1-Zero 的局限性

尽管 DeepSeek-R1-Zero 展现出了强大的推理能力,并自主涌现出许多意想不到且强大的推理行为,但仍然存在一些问题。例如,它在可读性和语言混杂方面存在挑战。为了提高推理过程的可读性,并使其更易于分享给开放社区,我们探索了 DeepSeek-R1,这是一种结合了强化学习 (RL) 和人类友好的冷启动 (Cold Start) 数据的方法。

2.3. DeepSeek-R1: 结合冷启动数据的强化学习

受到 DeepSeek-R1-Zero 令人鼓舞的结果的启发,我们提出了两个关键问题:

  • 如果在训练初期引入少量高质量数据作为冷启动,是否能进一步提高推理能力或加速收敛?
  • 如何训练一个更具用户友好的模型,使其不仅能生成清晰连贯的思维链 (CoT),同时仍能保持强大的泛化能力?

为了解决这些问题,我们设计了一条训练 DeepSeek-R1 的流水线,该流程包括以下四个阶段。

2.3.1. 冷启动 (Cold Start)

与 DeepSeek-R1-Zero 不同,为了避免 RL 训练初期的不稳定性,DeepSeek-R1 在训练初期引入了一小部分长思维链 (Long CoT) 数据,对模型进行微调,使其成为初始的 RL Actor。我们探索了多种数据收集方法,包括:

  • 使用少样本 (few-shot) 提示,以长思维链作为示例,引导模型生成详细推理过程。
  • 直接提示模型生成包含反思 (reflection) 和验证 (verification) 的完整回答。
  • 提取 DeepSeek-R1-Zero 的推理结果,并以可读格式进行重构。
  • 人工后处理 (post-processing),对模型输出进行优化,使其更加清晰易读。

最终,我们收集了数千条冷启动数据,并用这些数据微调 DeepSeek-V3-Base 作为 RL 训练的起点。相比 DeepSeek-R1-Zero,冷启动数据的主要优势包括:

  • 可读性 (Readability):DeepSeek-R1-Zero 的回答往往缺乏可读性,例如混合多种语言,或未使用 Markdown 格式高亮答案。而在 DeepSeek-R1 的冷启动数据中,我们特别设计了 可读性模式 (readable pattern),在每个回答的末尾添加摘要,并筛选出不适合阅读的回答。其输出格式为:

    |special_token|<reasoning_process>|special_token|<summary>

    其中,<reasoning_process> 代表用于 query 的思维链,<summary> 用于总结推理结果。

  • 潜力 (Potential):通过在冷启动数据设计中引入 人类先验知识 (human priors),我们观察到 DeepSeek-R1 相比 DeepSeek-R1-Zero 展现出了更好的推理表现。我们认为这种迭代训练方式更加适合推理模型的优化。

2.3.2. 面向推理的强化学习

在使用冷启动数据微调 DeepSeek-V3-Base 之后,我们采用与 DeepSeek-R1-Zero 相同的大规模强化学习训练流程。本阶段的重点是 增强模型的推理能力,尤其是在代码、数学、科学、逻辑推理等高推理需求的任务中,这些任务通常具有清晰的问题定义和明确的解答标准。

在训练过程中,我们观察到思维链 (CoT) 经常出现 语言混杂 (language mixing) 的现象,尤其是在 RL 提示涉及多种语言时。为了解决这个问题,我们引入了 语言一致性奖励 (language consistency reward),计算方式是衡量推理过程中目标语言单词的占比。尽管消融实验 (ablation experiments) 显示这种调整会导致模型性能略微下降,但这种奖励机制符合人类的阅读偏好,使推理结果更具可读性。

最终,我们通过直接将推理任务的 准确性奖励语言一致性奖励 相加,形成最终的奖励函数,并在微调后的模型上应用 RL 训练,直到推理任务收敛。

2.3.3. 拒绝采样 (Rejection Sampling) 与监督微调 (Supervised Fine-Tuning, SFT)

当面向推理的 RL 训练收敛后,我们利用当前模型的 Checkpoint 生成监督微调 (SFT) 数据,用于下一轮训练。与初始冷启动数据不同,这一阶段不仅关注推理任务,还包含写作 (writing)、角色扮演 (role-playing) 和其他通用任务的数据,以增强模型的多功能性。

1)推理数据 (Reasoning Data) 处理流程如下:

  • 采样 (sampling):我们从 RL 训练的 Checkpoint 采样推理任务数据,并进行 拒绝采样 (Rejection Sampling),确保仅保留高质量的推理结果。
  • 扩展数据集:在上一阶段,我们仅包含可通过基于规则的奖励评估的数据,而本阶段我们扩展数据来源,部分数据使用 生成式奖励模型 (Generative Reward Model),通过将真实答案和模型预测输入 DeepSeek-V3 进行评估。
  • 数据清理:由于模型输出有时会混杂多种语言、长段文本或代码块,我们筛选出语言混杂的思维链、冗长段落和不清晰代码,确保最终数据更具可读性。
  • 最终数据集:我们为每个任务采样多个响应,并仅保留正确的回答,最终收集了约 60 万条与推理相关的训练数据。

2)非推理数据 (Non-Reasoning data)

  • 对于非推理数据,例如写作、事实问答、自我认知和翻译,我们采用 DeepSeek-V3 流水线,并复用了部分 DeepSeek-V3 的 SFT 数据集。
  • 对于某些非推理任务,我们调用 DeepSeek-V3 生成潜在的思维链(CoT),然后再通过提示进行回答。然而,对于诸如 “你好” 之类的简单 query,我们不会提供 CoT 作为响应。
  • 最终,我们共收集了大约 20 万条与推理无关的训练样本。
  • 我们使用上述约 80 万条精心整理的数据集,对 DeepSeek-V3-Base 进行两轮微调。

2.3.4. 适用于所有场景的强化学习

为了进一步使模型符合人类偏好,我们实施了一个 次级强化学习 阶段,旨在 提升模型的有用性和无害性,同时优化其推理能力

  • 具体而言,我们结合奖励信号与多样化的提示分布对模型进行训练。
  • 对于 推理数据,我们遵循 DeepSeek-R1-Zero 中的方法,在数学、代码和逻辑推理领域采用基于规则的奖励机制来引导学习过程。
  • 对于 一般数据,我们使用奖励模型来捕捉人类在复杂和微妙场景中的偏好。

我们基于 DeepSeek-V3 流水线,并采用类似的偏好对分布和训练提示。

  • 对于 有用性,我们专注于最终摘要,确保评估过程强调响应对用户的实用性和相关性,同时尽量减少对底层推理过程的干扰。
  • 对于 无害性,我们评估模型的整个响应,包括推理过程和摘要,以识别并减少可能在生成过程中出现的风险、偏见或有害内容。最终,奖励信号与多样化数据分布的结合使我们能够训练出既擅长推理又优先考虑有用性和无害性的模型。

2.4. 蒸馏:赋予小模型推理能力

为了使更高效的小型模型具备类似 DeepSeek-R1 的推理能力,我们直接对开源模型(如 Qwen 和 Llama)进行微调,使用 §2.3.3 中基于 DeepSeek-R1 精选的 80 万条数据。我们的研究结果表明,这种简单的蒸馏方法显著增强了小型模型的推理能力。

在基础模型的选择上,我们使用了 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. 实验

我们默认使用 pass@𝑘 评估方法,并在非零温度下报告 pass@1。具体而言,我们采用 0.6 的采样温度和 0.95 的 top-𝑝 值,以生成 𝑘 个响应(通常在 4 到 64 之间,具体取决于测试集大小)来回答每个问题。Pass@1 计算公式如下:

其中,p_i 表示第 i 个响应的正确性。该方法可提供更可靠的性能估计。在 AIME 2024 中,我们还使用 64 个样本报告共识(多数投票)结果(Wang et al., 2022),记作 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,证明了其在处理基于事实的 query 方面的能力。类似的趋势也出现在 OpenAI-o1 相较于 GPT-4o 的表现上。然而,在中文 SimpleQA 基准上,DeepSeek-R1 的表现不如 DeepSeek-V3,主要原因在于安全性强化学习(Safety RL) 使其在某些 query 上更倾向于拒答。如果不进行安全性 RL,DeepSeek-R1 的准确率可超过 70%。

DeepSeek-R1 还在 IF-Eval(用于评估模型遵循格式指令能力的基准)上取得了出色成绩。这些改进可归因于 在监督微调(SFT)和强化学习(RL)训练的最后阶段加入了指令遵循数据。

  • 此外,在 AlpacaEval 2.0 和 ArenaHard 上,DeepSeek-R1 也展现了卓越的表现,表明其在写作任务和开放域问答方面的优势。相较于 DeepSeek-V3,DeepSeek-R1 的大幅领先突显了大规模强化学习的泛化能力,不仅提升了推理能力,还改善了多个领域的表现。
  • 在摘要生成方面,DeepSeek-R1 的生成长度保持简洁:在 ArenaHard 上,平均 689 个 token。在 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 的工程领域表现将在下个版本中进一步提升,因为当前相关的强化学习训练数据仍然有限。

3.2 蒸馏模型评估

如表 5 所示,简单地蒸馏 DeepSeek-R1 的输出使得高效的 DeepSeek-R1-7B(即 DeepSeek-R1-Distill-Qwen-7B,下面同样简写)在各项评估中超越了非推理模型如 GPT-4o-0513。DeepSeek-R1-14B 在所有评估指标上都超过了 QwQ-32BPreview,而 DeepSeek-R1-32B 和 DeepSeek-R1-70B 在大多数基准测试中显著超越了 o1-mini。这些结果展示了蒸馏的强大潜力。此外,我们发现将强化学习应用于这些蒸馏模型可以带来显著的进一步提升。我们认为这一点值得进一步探索,因此这里只呈现了简单 SFT 蒸馏模型的结果。

4. 讨论

4.1 蒸馏与强化学习

在 3.2 节中,我们可以看到,通过蒸馏 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。

因此,我们可以得出两个结论:

  • 首先,将更强大的模型蒸馏为较小模型可以获得优秀的结果,而依赖于本文提到的大规模强化学习的较小模型需要巨大的计算能力,甚至可能无法达到蒸馏的性能。
  • 其次,尽管蒸馏策略既经济又有效,但要超越智能的边界,可能仍需要更强大的基础模型和大规模的强化学习。

4.2. 不成功的尝试

在 DeepSeek-R1 的早期开发阶段,我们也遇到了失败和挫折。我们在此分享我们的失败经验,以提供一些见解,但这并不意味着这些方法无法开发出有效的推理模型。

1)过程奖励模型(Process Reward Model,PRM)

PRM 是一种合理的方法,可以引导模型朝着更好的方向解决推理任务(Lightman等,2023;Uesato等,2022;Wang等,2023)。然而,实际上,PRM 有三个主要的限制,可能会妨碍其最终的成功。

  • 首先,很难明确地定义一般推理中的细粒度步骤。
  • 其次,判断当前的中间步骤是否正确是一项具有挑战性的任务。使用模型进行自动标注可能无法产生令人满意的结果,而手动标注则不利于扩展。
  • 第三,一旦引入基于模型的 PRM,它不可避免地会导致奖励黑客行为(Gao等,2022),并且重新训练奖励模型需要额外的训练资源,这会使整个训练过程变得更加复杂。

总的来说,尽管 PRM 在重新排序模型生成的 top-N 响应或辅助引导搜索(Snell等,2024)方面表现出了良好的能力,但与它在大规模强化学习过程中的额外计算开销相比,其优势是有限的。

2)蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)

受到 AlphaGo(Silver等,2017b)和 AlphaZero(Silver等,2017a)的启发,我们探索了使用蒙特卡洛树搜索(MCTS)来增强测试时的计算扩展性。该方法涉及将答案分解为更小的部分,以便模型能够系统地探索解空间(solution space)。

为了实现这一点,我们提示模型生成多个标签,这些标签对应于搜索所需的特定推理步骤。对于训练,

  • 我们首先使用收集到的提示通过 MCTS 寻找答案,并通过一个预训练的价值模型(value model)进行指导。
  • 随后,我们使用生成的问答对来训练 actor 模型和价值模型,迭代地改进过程。

然而,当扩大训练规模时,这种方法遇到了一些挑战。

  • 首先,与国际象棋不同,国际象棋的搜索空间相对较为明确,而 token 生成呈现出一个指数级增长的更大搜索空间。为了解决这个问题,我们为每个节点设置了最大扩展限制,但这可能导致模型陷入局部最优解。
  • 其次,价值模型直接影响生成质量,因为它引导了搜索过程中的每一步。训练一个细粒度的价值模型本质上是困难的,这使得模型难以逐步改进。
  • 尽管AlphaGo的核心成功依赖于训练一个价值模型来逐步提升性能,但由于 token 生成的复杂性,这一原则在我们的设置中难以复制。

总的来说,尽管当与预训练的价值模型配合使用时,MCTS 可以在推理过程中提高性能,但通过自我搜索迭代提升模型性能仍然是一个重大挑战。

5. 结论、局限性与未来工作

在这项工作中,我们分享了通过强化学习增强模型推理能力的过程。

  • DeepSeek-R1-Zero 代表了一种纯粹的强化学习方法,不依赖冷启动数据,在各类任务中表现出色。
  • DeepSeek-R1 则更强大,它结合冷启动数据和迭代强化学习微调。最终,DeepSeek-R1在多个任务上达到了与 OpenAI-o1-1217 相当的表现。

我们进一步探索了将推理能力蒸馏到小型稠密模型(dense model)中。我们使用 DeepSeek-R1 作为教师模型,生成了 80 万个训练样本,并微调了多个小型稠密模型。结果是有希望的:DeepSeek-R1-Distill-Qwen-1.5B 在数学基准测试中表现超越 GPT-4o 和 Claude-3.5-Sonnet,在 AIME 上达到了 28.9%,在 MATH 上达到了 83.9%。其他稠密模型也取得了显著成果,远远超过了基于相同基础检查点的其他指令调优模型。

未来,我们计划在以下几个方向上进行DeepSeek-R1的研究:

1)通用能力(General Capability):目前,DeepSeek-R1在功能调用、多轮对话、复杂角色扮演和 JSON 输出等任务上的能力仍不及 DeepSeek-V3。未来,我们计划探索如何利用长链推理(CoT)来提升这些领域的任务。

2)语言混合(Language Mixing):DeepSeek-R1 目前针对中文和英文进行了优化,这可能在处理其他语言查询时出现语言混合问题。例如,即使 query 是用非英语或非中文语言进行的,DeepSeek-R1 可能仍会使用英语进行推理和回答。我们计划在未来的更新中解决这一局限性。

3)提示工程(Prompting Engineering):在评估 DeepSeek-R1 时,我们发现它对提示非常敏感。少样本提示会降低其性能。因此,我们建议用户直接描述问题,并使用零样本设置明确输出格式,以获得最佳结果。

4)软件工程任务(Software Engineering Tasks):由于评估时间较长,影响了强化学习过程的效率,强化学习在软件工程任务中的大规模应用尚不广泛。因此,DeepSeek-R1 在软件工程基准测试中未能显示出相较 DeepSeek-V3 的巨大改进。未来的版本将通过在软件工程数据上实施拒绝采样或在强化学习过程中引入异步评估来提高效率。

论文地址:https://arxiv.org/abs/2501.12948

Github:https://github.com/deepseek-ai/DeepSeek-R1

Huggingface:https://huggingface.co/deepseek-ai/DeepSeek-R1

进 Q 学术交流群:922230617 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2284160.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

k8s支持自定义field-selector spec.hostNetwork过滤

好久没写博客啦&#xff0c;年前写一个博客就算混过去啦&#x1f602; 写一个小功能&#xff0c;对于 Pod&#xff0c;在没有 label 的情况下&#xff0c;支持 --field-selector spec.hostNetwork 查询 Pod 是否为 hostNetwork 类型&#xff0c;只为了熟悉 APIServer 是如何构…

图漾相机搭配VisionPro使用简易教程

1.下载并安装VisionPro软件 请自行下载VisonPro软件。 VisionPro 9.0/9.5/9.6版本经测试&#xff0c;可正常打开图漾相机&#xff0c;建议使用图漾测试过的版本。 2.下载PercipioCameraForVisionPro软件包 使用浏览器下载&#xff1a;https://gitee.com/percipioxyz/camport3…

【MFC】C++所有控件随窗口大小全自动等比例缩放源码(控件内字体、列宽等未调整) 20250124

MFC界面全自动等比例缩放 1.在初始化里 枚举每个控件记录所有控件rect 2.在OnSize里&#xff0c;根据当前窗口和之前保存的窗口的宽高求比例x、y 3.枚举每个控件&#xff0c;根据比例x、y调整控件上下左右,并移动到新rect struct ControlInfo {CWnd* pControl;CRect original…

【2024年华为OD机试】 (C卷,200分)- 机器人走迷宫(JavaScriptJava PythonC/C++)

一、问题描述 题目描述 房间由X * Y的方格组成&#xff0c;每个方格用坐标(x, y)描述。机器人从(0, 0)出发&#xff0c;只能向东或向北前进&#xff0c;出口在(X-1, Y-1)。房间中有一些墙壁&#xff0c;机器人不能经过。有些方格是陷阱&#xff08;B&#xff09;&#xff0c;…

DAY01 面向对象回顾、继承、抽象类

学习目标 能够写出类的继承格式public class 子类 extends 父类{}public class Cat extends Animal{} 能够说出继承的特点子类继承父类,就会自动拥有父类非私有的成员 能够说出子类调用父类的成员特点1.子类有使用子类自己的2.子类没有使用,继承自父类的3.子类父类都没有编译报…

leetcode刷题记录(八十一)——236. 二叉树的最近公共祖先

&#xff08;一&#xff09;问题描述 236. 二叉树的最近公共祖先 - 力扣&#xff08;LeetCode&#xff09;236. 二叉树的最近公共祖先 - 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科 [https://baike.baidu.com/item/%E6%9C%80%E8%BF%91%E5%85%AC%E5%85%B…

PyTorch入门 - 为什么选择PyTorch?

PyTorch入门 - 为什么选择PyTorch? Entry to PyTorch - Why PyTorch? by JacksonML $ pip install pytorch安装完毕后&#xff0c;可以使用以下命令&#xff0c;导入第三方库。 $ import pytorch

STM32新建不同工程的方式

新建工程的方式 1. 安装开发工具 MDK5 / keil52. CMSIS 标准3. 新建工程3.1 寄存器版工程3.2 标准库版工程3.3 HAL/LL库版工程3.4 HAL库、LL库、标准库和寄存器对比3.5 库开发和寄存器的关系 4. STM32CubeMX工具的作用 1. 安装开发工具 MDK5 / keil5 MDK5 由两个部分组成&#…

Linux相关概念和易错知识点(26)(命名管道、共享内存)

目录 1.命名管道 &#xff08;1&#xff09;匿名管道 -> 命名管道 ①匿名管道 ②命名管道 &#xff08;2&#xff09;命名管道的使用 ①创建和删除命名管道文件 ②命名管道文件的特性 ③命名管道和匿名管道的区别 &#xff08;3&#xff09;用命名管道实现进程间通信…

K8S 启动探测、就绪探测、存活探测

先来思考一个问题&#xff1a; 在 Deployment 执行滚动更新 web 应用的时候&#xff0c;总会出现一段时间&#xff0c;Pod 对外提供网络访问&#xff0c;但是页面访问却发生404&#xff0c;这个问题要如何解决呢&#xff1f;学完今天的内容&#xff0c;相信你会有自己的答案。 …

2024年度总结——理想的风,吹进现实

2024年悄然过去&#xff0c;留下了太多美好的回忆&#xff0c;不得不感慨一声时间过得真快啊&#xff01;旧年风雪尽&#xff0c;新岁星河明。写下这篇博客&#xff0c;记录我独一无二的2024年。这一年&#xff0c;理想的风终于吹进现实&#xff01; 如果用一句话总结这一年&am…

Python从0到100(八十五):神经网络-使用迁移学习完成猫狗分类

前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Python爬虫、Web开发、 计算机视觉、机器学习、神经网络以及人工智能…

hadoop==docker desktop搭建hadoop

hdfs map readuce yarn https://medium.com/guillermovc/setting-up-hadoop-with-docker-and-using-mapreduce-framework-c1cd125d4f7b 清理资源 docker-compose down docker system prune -f

Linux下的编辑器 —— vim

目录 1.什么是vim 2.vim的模式 认识常用的三种模式 三种模式之间的切换 命令模式和插入模式的转化 命令模式和底行模式的转化 插入模式和底行模式的转化 3.命令模式下的命令集 光标移动相关的命令 复制粘贴相关命令 撤销删除相关命令 查找相关命令 批量化注释和去…

C25.【C++ Cont】初识运算符的重载和sort函数

目录 1.为什么要引入运算符重载 2.运算符重载写法 格式 例子 示例代码 运行结果 3.sort函数 两种声明 声明1:默认情况 参数 示例代码1:排整型 示例代码2:排浮点数 ​编辑 示例代码3:排字符串 声明2:自定义情况 参数 comp比较函数的两种写法 写法1:创建比较函…

粒子群算法 笔记 数学建模

引入: 如何找到全局最大值&#xff1a;如果只是贪心的话&#xff0c;容易被局部最大解锁定 方法有&#xff1a;盲目搜索&#xff0c;启发式搜索 盲目搜索&#xff1a;枚举法和蒙特卡洛模拟&#xff0c;但是样例太多花费巨量时间 所以启发式算法就来了&#xff0c;通过经验和规…

深入理解若依RuoYi-Vue数据字典设计与实现

深入理解若依数据字典设计与实现 一、Vue2版本主要文件目录 组件目录src/components&#xff1a;数据字典组件、字典标签组件 工具目录src/utils&#xff1a;字典工具类 store目录src/store&#xff1a;字典数据 main.js&#xff1a;字典数据初始化 页面使用字典例子&#xf…

实战网络安全:渗透测试与防御指南

&#x1f4dd;个人主页&#x1f339;&#xff1a;一ge科研小菜鸡-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 引言 在数字化时代&#xff0c;网络安全已成为企业和个人不可忽视的重要课题。网络攻击的复杂性与日俱增&#xff0c;从数据泄露…

SpringBoot+Electron教务管理系统 附带详细运行指导视频

文章目录 一、项目演示二、项目介绍三、运行截图四、主要代码1.查询课程表代码2.保存学生信息代码3.用户登录代码 一、项目演示 项目演示地址&#xff1a; 视频地址 二、项目介绍 项目描述&#xff1a;这是一个基于SpringBootElectron框架开发的教务管理系统。首先&#xff…

Ubuntu-手动安装 SBT

文章目录 前言Ubuntu-手动安装 SBT1. SBT是什么?1.1. SBT 的特点1.2. SBT 的基本功能1.3. SBT 的常用命令 2. 安装2.1. 下载2.2. 解压 sbt 二进制包2.3. 确认 sbt 可执行文件的位置2.4. 设置执行权限2.5. 创建符号链接2.6. 更新 PATH 环境变量2.7. 验证 sbt 安装 前言 如果您觉…