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

news2025/2/4 9:56:39

本文基于 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.coloradmin.cn/o/2291729.html

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

相关文章

014-STM32单片机实现矩阵薄膜键盘设计

1.功能说明 本设计主要是利用STM32驱动矩阵薄膜键盘&#xff0c;当按下按键后OLED显示屏上会对应显示当前的按键键值&#xff0c;可以将此设计扩展做成电子秤、超市收银机、计算器等需要多个按键操作的单片机应用。 2.硬件接线 模块管脚STM32单片机管脚矩阵键盘行1PA0矩阵键盘…

Spring Boot 2 快速教程:WebFlux处理流程(五)

WebFlux请求处理流程 下面是spring mvc的请求处理流程 具体步骤&#xff1a; 第一步&#xff1a;发起请求到前端控制器(DispatcherServlet) 第二步&#xff1a;前端控制器请求HandlerMapping查找 Handler &#xff08;可以根据xml配置、注解进行查找&#xff09; 匹配条件包括…

unity学习25:用 transform 进行旋转和移动,简单的太阳地球月亮模型,以及父子级关系

目录 备注内容 1游戏物体的父子级关系 1.1 父子物体 1.2 坐标关系 1.3 父子物体实际是用 每个gameobject的tranform来关联的 2 获取gameObject的静态数据 2.1 具体命令 2.2 具体代码 2.3 输出结果 3 获取gameObject 的方向 3.1 游戏里默认的3个方向 3.2 获取方向代…

CH340G上传程序到ESP8266-01(S)模块

文章目录 概要ESP8266模块外形尺寸模块原理图模块引脚功能 CH340G模块外形及其引脚模块引脚功能USB TO TTL引脚 程序上传接线Arduino IDE 安装ESP8266开发板Arduino IDE 开发板上传失败上传成功 正常工作 概要 使用USB TO TTL&#xff08;CH340G&#xff09;将Arduino将程序上传…

DeepSeekMoE:迈向混合专家语言模型的终极专业化

一、结论写在前面 论文提出了MoE语言模型的DeepSeekMoE架构&#xff0c;目的是实现终极的专家专业化(expert specialization)。通过细粒度的专家分割和共享专家隔离&#xff0c;DeepSeekMoE相比主流的MoE架构实现了显著更高的专家专业化和性能。从较小的2B参数规模开始&#x…

扩散模型(二)

相关阅读&#xff1a;扩散模型&#xff08;一&#xff09; Parameterization of L t L_t Lt​ for Training Loss 回想一下&#xff0c;我们需要训练一个神经网络来近似反向扩散过程中的条件概率分布&#xff0c;即, p θ ( x t − 1 ∣ x t ) N ( x t − 1 ; μ θ ( x t…

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.18 对象数组:在NumPy中存储Python对象

2.18 对象数组&#xff1a;在NumPy中存储Python对象 目录 #mermaid-svg-shERrGOBuM2rBzeB {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-shERrGOBuM2rBzeB .error-icon{fill:#552222;}#mermaid-svg-shERrGOBuM2rB…

LabVIEW双光子成像系统:自主创新,精准成像,赋能科研

双光子成像系统&#xff1a;自主创新&#xff0c;精准成像&#xff0c;赋能科研 第一部分&#xff1a;概述 双光子成像利用两个低能量光子同时激发荧光分子&#xff0c;具有深层穿透、高分辨率、低光损伤等优势。它能实现活体深层组织的成像&#xff0c;支持实时动态观察&…

bagging框架

bagging 1 bagging介绍 Bagging的全称是Bootstrap Aggregating&#xff0c;其思想是通过将许多相互独立的学习器的结果进行结合&#xff0c;从而提高整体学习器的泛化能力 bagging框架流程&#xff1a;首先&#xff0c;它从原始数据集中使用有放回的随机采样方式抽取多个子集…

《机器学习数学基础》补充资料:仿射变换

本文是对《机器学习数学基础》 第 2 章 2.2.4 节齐次坐标系的内容拓展。 1. 名称的来源 仿射&#xff0c;是英文单词 affine 的中文翻译。 单词 affine&#xff0c;读音&#xff1a;[ə’faɪn]。来自于英语 affinity。英语词根 fin 来自于拉丁语 finis&#xff0c;表示“边…

冲刺一区!挑战7天完成一篇趋势性分析GBD DAY1-7

Day1. 公开数据库的挖掘太火热了,其中GBD数据库的挖掘又十分的火爆.那我就来挑战一篇GBD、一篇关于趋势性分析的GBD&#xff01; GBD数据库挖掘是目前的四大刊常客&#xff0c;经常出现在顶级期刊上面。这个数据库亮点就是&#xff1a;可视化&#xff0c;统计学简单、而数据可…

掌握API和控制点(从Java到JNI接口)_36 JNI开发与NDK 04

4、 *.so的入口函数&#xff1a;JNI_OnLoad() VM (virtual machine)的角色 Java代码在VM上执行。在执行Java代码的过程中&#xff0c;如果Java需要与本地代码(*.so)沟通时&#xff0c; VM就会把*.so視为插件<Tn>而加载到VM里。然后让Java函数呼叫到这插件<Tn>里的…

Spring Bean 容器

技术成长&#xff0c;是对场景设计细节不断的雕刻&#xff01; 你觉得自己的技术什么时候得到了快速的提高&#xff0c;是CRUD写的多了以后吗&#xff1f;想都不要想&#xff0c;绝对不可能&#xff01;CRUD写的再多也只是能满足你作为一个搬砖工具人&#xff0c;敲击少逻辑流…

Maven全解析:从基础到精通的实战指南

概念&#xff1a; Maven 是跨平台的项目管理工具。主要服务基于 Java 平台的构建&#xff0c;依赖管理和项目信息管理项目构建&#xff1a;高度自动化&#xff0c;跨平台&#xff0c;可重用的组件&#xff0c;标准化的流程 依赖管理&#xff1a; 对第三方依赖包的管理&#xf…

【开源免费】基于SpringBoot+Vue.JS贸易行业crm系统(JAVA毕业设计)

本文项目编号 T 153 &#xff0c;文末自助获取源码 \color{red}{T153&#xff0c;文末自助获取源码} T153&#xff0c;文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

高效接口限流:基于自定义注解与RateLimiter的实践

在高并发场景下&#xff0c;接口的流量控制是保证系统稳定性和提升性能的关键之一。通过实现接口限流&#xff0c;我们可以有效避免系统在访问高峰时发生崩溃。本文将详细介绍如何通过自定义注解和切面编程结合RateLimiter来实现接口的限流功能&#xff0c;以应对高并发请求。 …

nodejs:express + js-mdict 网页查询英汉词典,能播放声音

向 DeepSeek R1 提问&#xff1a; 我想写一个Web 前端网页&#xff0c;后台用 nodejs js-mdict, 实现在线查询英语单词 1. 项目结构 首先&#xff0c;创建一个项目目录&#xff0c;结构如下&#xff1a; mydict-app/ ├── public/ │ ├── index.html │ ├── st…

无人机PX4飞控 | PX4源码添加自定义uORB消息并保存到日志

PX4源码添加自定义uORB消息并保存到日志 0 前言 PX4的内部通信机制主要依赖于uORB&#xff08;Micro Object Request Broker&#xff09;&#xff0c;这是一种跨进程的通信机制&#xff0c;一种轻量级的中间件&#xff0c;用于在PX4飞控系统的各个模块之间进行高效的数据交换…

【IocDI】_存储Bean的五大类注解及getBean的使用

目录 1. Bean的存储 1.1 类注解 1.1.1 Controller&#xff1a;控制器存储 1.1.2 Service&#xff1a;服务存储 1.1.3 Repository&#xff1a;仓库存储 1.1.4 Component&#xff1a;组件存储 1.1.5 Configuration&#xff1a;配置存储 1.2 五大类注解之间的关系 2. get…

VLAN 基础 | 不同 VLAN 间通信实验

注&#xff1a;本文为 “ Vlan 间通信” 相关文章合辑。 英文引文&#xff0c;机翻未校。 图片清晰度限于原文图源状态。 未整理去重。 How to Establish Communications between VLANs? 如何在 VLAN 之间建立通信&#xff1f; Posted on November 20, 2015 by RouterSwi…