当前位置: 首页 > article >正文

冷启动+强化学习:DeepSeek-R1 的原理详解——无需监督数据的推理能力进化之路

本文基于 DeepSeek 官方论文进行分析,论文地址为:https://github.com/deepseek-ai/DeepSeek-R1/blob/main/DeepSeek_R1.pdf

有不足之处欢迎评论区交流

原文翻译

在这里插入图片描述

在阅读和理解一篇复杂的技术论文时,逐字翻译是一个重要的步骤。它不仅能帮助我们准确把握作者的原意,还能为后续的分析和讨论奠定基础。在这一部分,我们将对DeepSeek-R1论文的第二章内容进行逐字翻译(官方论文的第二章就是讲解其实现原理),并结合上下文对一些关键概念进行必要的解释。这将为读者提供一个清晰的起点,帮助更好地理解后续的算法分析和研究成果。

2.1 概述

以往的工作主要依赖大量的监督数据来提升模型性能。在本研究中,我们证明即使不使用监督微调(SFT)作为冷启动,也可以通过大规模强化学习(RL)显著提升推理能力。此外,引入少量冷启动数据可以进一步提升性能。在接下来的章节中,我们将介绍:

  1. DeepSeek-R1-Zero:直接将RL应用于基础模型,无需任何SFT数据
  2. DeepSeek-R1:从经过数千个思维链(CoT)示例微调的检查点开始应用RL
  3. 将DeepSeek-R1的推理能力蒸馏到小型密集模型中

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

强化学习在推理任务中展现出显著的效果,这一点在我们之前的工作中得到了证实(Shao等,2024;Wang等,2023)。然而,这些工作heavily依赖于监督数据,而收集这些数据需要大量时间。在本节中,我们探索LLMs在没有任何监督数据的情况下发展推理能力的潜力,重点关注它们通过纯强化学习过程的自我进化。我们首先简要介绍我们的RL算法,然后展示一些令人兴奋的结果,希望这能为社区提供有价值的见解。

2.2.1 强化学习算法

群组相对策略优化 为了节省RL的训练成本,我们采用群组相对策略优化(GRPO),该方法摒弃了通常与策略模型具有相同规模的评论家模型,转而从群组分数中估计基线。具体而言,对于每个问题q,GRPO从旧策略π_θold中采样一组输出{o1, o2, …, oG},然后通过最大化以下目标函数来优化策略模型π_θ。

公式1
公式2

其中 ε 和 β 是超参数,且 Ai 是优势值,使用组内输出对应的一组奖励值 {r1, r2, …, rG} 计算得出。
公式3

稍后我们会重点讲解这 3 个公式,这 3 个公式讲解了 DeepSeek-R1 实现的核心算法逻辑。

在这里插入图片描述

表1 | DeepSeek-R1-Zero的模板
用户和助手之间的对话。用户提出问题,助手解答。助手首先在思维中思考推理过程,然后向用户提供答案。推理过程和答案分别包含在 <think></think> 和 <answer></answer> 标签中,即: <think>这里是推理过程</think>
<answer>这里是答案</answer> 用户:prompt 助手:[回应]
注:在训练过程中,prompt 将被替换为具体的推理问题。

2.2.2 奖励建模

奖励是训练信号的来源,决定了RL的优化方向。为了训练DeepSeek-R1-Zero,我们采用了一个基于规则的奖励系统,主要包含两类奖励:

  1. 准确性奖励:准确性奖励模型评估响应是否正确。例如:
  2. 对于具有确定性结果的数学问题,要求模型以特定格式(如在方框内)提供最终答案,从而能够可靠地基于规则验证正确性
  3. 对于LeetCode问题,可以使用编译器基于预定义的测试用例生成反馈
  4. 格式奖励:除了准确性奖励模型外,我们还采用格式奖励模型,强制模型将其思考过程放在’‘和’'标签之间

我们没有在开发DeepSeek-R1-Zero时使用结果或过程神经奖励模型,因为我们发现神经奖励模型可能在大规模强化学习过程中受到奖励欺骗的影响,而且重新训练奖励模型需要额外的训练资源,这会使整个训练流程变得复杂。

2.2.3 训练模板

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

2.2.4 DeepSeek-R1-Zero的性能、自我进化过程和顿悟时刻

DeepSeek-R1-Zero的性能

图 2

图2展示了DeepSeek-R1-Zero在AIME 2024基准测试中throughout整个RL训练过程的性能轨迹。如图所示,随着RL训练的推进,DeepSeek-R1-Zero展现出稳定且持续的性能提升。值得注意的是,在AIME 2024上的平均pass@1分数显著提升,从初始的15.6%跃升至令人印象深刻的71.0%,达到了与OpenAI-o1-0912相当的性能水平。这种显著的改进突显了我们的RL算法在优化模型性能方面的有效性。

表 2

表2提供了DeepSeek-R1-Zero与OpenAI的o1-0912模型在各种推理相关基准测试上的对比分析。研究结果表明,RL使DeepSeek-R1-Zero能够在没有任何监督微调数据的情况下获得稳健的推理能力。这是一个值得注意的成就,因为它凸显了模型仅通过RL就能有效学习和泛化的能力。此外,通过应用多数投票,DeepSeek-R1-Zero的性能可以进一步提升。例如,当在AIME基准测试中使用多数投票时,DeepSeek-R1-Zero的性能从71.0%提升到86.7%,从而超过了OpenAI-o1-0912的性能。DeepSeek-R1-Zero无论是否使用多数投票都能达到如此具有竞争力的性能,这凸显了其强大的基础能力以及在推理任务上进一步提升的潜力。

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

DeepSeek-R1-Zero的自我进化过程是一个引人入胜的示例,展示了RL如何驱动模型自主提升其推理能力。通过直接从基础模型开始进行RL,我们能够在没有监督微调阶段影响的情况下密切监控模型的进展。这种方法提供了清晰的视角,让我们观察模型如何随时间演变,特别是在处理复杂推理任务的能力方面。

图3

如图3所示,DeepSeek-R1-Zero的思考时间在整个训练过程中显示出持续的改进。这种改进不是外部调整的结果,而是模型内部的本质发展。DeepSeek-R1-Zero通过利用扩展的测试时间计算,自然地获得了解决越来越复杂的推理任务的能力。这种计算范围从生成数百到数千个推理标记不等,使模型能够更深入地探索和改进其思维过程。

这种自我进化最显著的方面之一是,随着测试时间计算的增加,复杂行为的涌现。例如反思——模型重新审视和重新评估其先前步骤——以及探索问题解决的替代方法等行为自发产生。这些行为并非明确编程的结果,而是模型与强化学习环境交互的产物。这种自发的发展显著增强了DeepSeek-R1-Zero的推理能力,使其能够以更高的效率和准确性处理更具挑战性的任务。

DeepSeek-R1-Zero的顿悟时刻

表3

我们来看看这张图片的内容:
问题
如果 a > 1,则方程 a − a + x = x \sqrt{a} - \sqrt{a+x} = x a a+x =x 的实数解之和等于多少?
回答:<think>
让我们来解这个方程,先从两边平方开始…
( a − a + x ) 2 = x 2 ⇒ a − a + x = x 2 (\sqrt{a} - \sqrt{a+x})^2 = x^2 \Rightarrow a - \sqrt{a+x} = x^2 (a a+x )2=x2aa+x =x2
重新排列以隔离内部的平方根项:
( a − x 2 ) 2 = a + x ⇒ a 2 − 2 a x 2 + ( x 2 ) 2 = a + x ⇒ x 4 − 2 a x 2 − x + ( a 2 − a ) = 0 (a - x^2)^2 = a + x \Rightarrow a^2 - 2ax^2 + (x^2)^2 = a + x \Rightarrow x^4 - 2ax^2 - x + (a^2-a) = 0 (ax2)2=a+xa22ax2+(x2)2=a+xx42ax2x


http://www.kler.cn/a/530680.html

相关文章:

  • MATLAB基础应用精讲-【数模应用】梯度直方图(HOG)(附C++和python代码实现)(二)
  • 【llm对话系统】大模型 Llama 源码分析之归一化方法 RMS Norm
  • vue入门到实战 二
  • 初入机器学习
  • 《数据可视化新高度:Graphy的AI协作变革》
  • G. XOUR
  • 基于vue船运物流管理系统设计与实现(源码+数据库+文档)
  • 蓝桥杯学习笔记01
  • 【Qt】常用的容器
  • llama.cpp GGUF 模型格式
  • GWO优化SVM回归预测matlab
  • Mac怎么彻底卸载软件,简单彻底的卸载方式
  • 【数据结构-Trie树】力扣677. 键值映射
  • SQL/Panda映射关系
  • Spring Boot 2 快速教程:WebFlux处理流程(五)
  • 自制虚拟机(C/C++)(三、做成标准GUI Windows软件,扩展指令集,直接支持img软盘)
  • 轮转数组-三次逆置
  • Chromium132 编译指南 - Android 篇(六):从 Linux 版切换到 Android 版
  • 鸢尾花书《编程不难》02---学习书本里面的三个案例
  • 使用VCS进行单步调试的步骤
  • Scala语言的安全开发
  • Spring Bean 容器
  • 202周日复盘(159)本周回顾
  • Redis基础篇(万丈高楼平地起):核心底层数据结构
  • 『VUE』vue-quill-editor富文本编辑器添加按钮houver提示(详细图文注释)
  • 本地搭建deepseek-r1