DeepSeek-R1解读:纯强化学习,模型推理能力提升的新范式?
DeepSeek-R1解读:纯强化学习,模型推理能力提升的新范式?
- 1. Impressive Points
- 2. 纯强化学习,LLM推理能力提升新范式?
- 2.1 DeepSeek-R1-Zero
- 2.2 DeepSeek-R1
- 3. 端侧模型能力提升:蒸馏>强化学习
1. Impressive Points
- LLM模型推理能力提升
- 在LLM模型post-training中,仅使用强化学习(reinforcement learning,RL) 提升模型推理能力,不再依赖有监督微调训练(supervised fine-tuning,SFT)。
- 证明了LLM模型具有自行探索长思维链(chain-of-thought,COT) 的能力。
- 端侧模型(小模型)推理能力提升
- 相对于使用RL进行训练,基于大模型进行蒸馏(Distillation)的方式,是提升端侧模型推理能力更有效的途径。
2. 纯强化学习,LLM推理能力提升新范式?
2.1 DeepSeek-R1-Zero
核心问题: 当前的post-training流程对于大量监督数据的依赖,监督数据的收集非常耗时:
- 当前模型推理性能的提升,需要大量监督数据进行SFT,以作为模型post-training的冷启动。
- 当前一些研究已经验证了强化学习在模型推理性能上的有效性,但也依赖监督数据。
解决方案: 探索在没有任何监督数据的情况下,提升LLM模型的推理能力:
- 为了节省RL的训练成本,采用群体相对策略优化(GRPO),这个这里就不再多说了,后面专门出一篇文章讲一下GRPO。
- 在RL训练过程中,采用Rule-based奖励,主要由两种奖励构成:
- Accuracy rewards:评估模型的输出是否正确。
- Format rewards:强制模型将其思考过程置于指定标签之间。
- 设计训练模版,指导基模型在训练过程中遵守设定的指令:
成果:
- 推出DeepSeek-R1-Zero模型,无需任何监督微调数据,仅通过RL进行模型的post-training,在AIME2024、MATH-500等多个Benchmark中达到并且超过OpenAI-o1-0912的水平。
- DeepSeek-R1-Zero展示出了自我进化(self-evolution) 能力,在没有监督数据的情况下,随着强化学习训练进程的深入,模型的思考时间在增加,并自发出现了诸如reflectio(反射,模型重新审视和重新评估其先前步骤)以及探索解决问题的替代方法等更加复杂的行为:
- 在DeepSeek-R1-Zero的训练过程中出现了Aha Moment(顿悟时刻),代表RL有可能在人工系统中解锁新的智能水平,为未来更加自主和自适应的模型铺平道路。
2.2 DeepSeek-R1
核心问题:
- 相对于完全不使用有监督数据,使用少量高质量数据作为冷启动,是否可以进一步提高推理性能或加速收敛?
- 针对DeepSeek-R1-Zero存在的输出内容可读性差的问题进行优化。
解决方案:
- 冷启动数据: 使用下述方法构建少量的(约几千条)长COT数据,作为冷启动数据对DeepSeek-V3-Base进行微调:
- 以few-shot的长COT prompt作为例子,让DeepSeek-R1-Zero通过反射和验证生成详细的答案;
- 将DeepSeek-R1-Zero的结果进行格式化;
- 让人工标注人员进行后处理。
- Reasoning-oriented Reinforcement Learning: 完成冷启动数据微调后,采用与DeepSeek-R1-Zero一致的强化学习训练过程,同时针对DeepSeek-R1-Zero存在的语言混合,导致模型输出可读性差的问题,在RL训练期间引入语言一致性奖励(目标语言单词在 CoT 中的比例),将推理任务的准确性和语言一致性的奖励结合起来,直接相加作为最终的奖励。
- Rejection Sampling and Supervised Fine-Tuning: 当2中的RL过程趋于收敛时,利用checkpoint生产用于下一轮训练的SFT数据。与1中的冷启动数据区别在于,冷启动数据针对推理能力提升,此阶段既包含用于推理能力提升的600k数据,也包含200k推理无关的数据。使用上述约800k样本的精选数据集继续对DeepSeek-V3-Base进行了两个epoch的微调。
- Reinforcement Learning for all Scenarios: 为了进一步对齐模型和人类偏好,设计了二级强化学习阶段以同时提高模型的helpfulness(有用性) 和harmlessness(无害性):
- helpfulness(有用性):只评估模型最终的结果,而不关注模型的推理过程。
- harmlessness(无害性):既评估模型最终的结果,也评估模型的推理过程。
3. 端侧模型能力提升:蒸馏>强化学习
基于DeekSeek-R1,文中仅使用SFT对小模型(Qwen、Llama等)进行蒸馏训练得到的模型,性能全面优于GPT-4o-0513等大参数量非推理模型:
同时,直接对小模型进行DeepSeek-R1-Zero同款的强化学习,得到的DeepSeek-R1-Zero-Qwen-32B模型性能弱于蒸馏模型:
Tips:文中提到将RL应用于蒸馏模型会产生显著的进一步收益,应用方法文中没有详细说明,留给学术界去进一步探索。
相关文章:

DeepSeek-R1解读:纯强化学习,模型推理能力提升的新范式?
DeepSeek-R1解读:纯强化学习,模型推理能力提升的新范式? 1. Impressive Points2. 纯强化学习,LLM推理能力提升新范式?2.1 DeepSeek-R1-Zero2.2 DeepSeek-R1 3. 端侧模型能力提升:蒸馏>强化学习 1. Impre…...

深度解析:基于Vue 3的教育管理系统架构设计与优化实践
一、项目架构分析 1. 技术栈全景 项目采用 Vue 3 TypeScript Tailwind CSS 技术组合,体现了现代前端开发的三大趋势: 响应式编程:通过Vue 3的Composition API实现细粒度响应 类型安全:约60%的组件采用TypeScript编写 原子化…...

【PyTorch】3.张量类型转换
个人主页:Icomi 在深度学习蓬勃发展的当下,PyTorch 是不可或缺的工具。它作为强大的深度学习框架,为构建和训练神经网络提供了高效且灵活的平台。神经网络作为人工智能的核心技术,能够处理复杂的数据模式。通过 PyTorch࿰…...

Spring Boot整合JavaMail实现邮件发送
一. 发送邮件原理 发件人【设置授权码】 - SMTP协议【Simple Mail TransferProtocol - 是一种提供可靠且有效的电子邮件传输的协议】 - 收件人 二. 获取授权码 开通POP3/SMTP,获取授权码 授权码是QQ邮箱推出的,用于登录第三方客户端的专用密码。适用…...

字节跳动发布UI-TARS,超越GPT-4o和Claude,能接管电脑完成复杂任务
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
数据的秘密:如何用大数据分析挖掘商业价值
数据的秘密:如何用大数据分析挖掘商业价值 在这个数据爆炸的时代,我们每天都在产生、存储和处理着海量的数据。然而,仅仅拥有数据并不等于拥有价值。就像拥有一座金矿,不开采和提炼,最终只是一堆毫无用处的石头。如何…...
OAuth1和OAuth2授权协议
OAuth 1 授权协议 1. 概述 OAuth1 是 OAuth 标准的第一个正式版本,它通过 签名和令牌 的方式,实现用户授权第三方访问其资源的功能。在 OAuth1 中,安全性依赖于签名机制,无需传递用户密码。 2. 核心特性 使用 签名(…...
AI学习(vscode+deepseek+cline)
1、网页生成不成功时,直接根据提示让模型替你解决问题 2、http://localhost:3000 拒绝链接时,cmd输入命令InetMgr,网站右键新建-配置你的网页代码物理地址,这里我还输入本机登录名及密码了,并把端口地址由默认80修改为…...
04-机器学习-网页数据抓取
网络爬取(Web Scraping)深度指南 1. 网络爬取全流程设计 一个完整的网络爬取项目通常包含以下步骤: 目标分析: 明确需求:需要哪些数据(如商品价格、评论、图片)?网站结构分析&…...

计网week1+2
计网 一.概念 1.什么是Internet 节点:主机及其运行的应用程序、路由器、交换机 边:通信链路,接入网链路主机连接到互联网的链路,光纤、网输电缆 协议:对等层的实体之间通信要遵守的标准,规定了语法、语义…...

重定向与缓冲区
4种重定向 我们有如下的代码: #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <string.h>#define FILE_NAME "log.txt"int main() {close(1)…...
练习题 - Django 4.x File 文件上传使用示例和配置方法
在现代的 web 应用开发中,文件上传是一个常见的功能,无论是用户上传头像、上传文档,还是其他类型的文件,处理文件上传都是开发者必须掌握的技能之一。Django 作为一个流行的 Python web 框架,提供了便捷的文件上传功能和配置方法。学习如何在 Django 中实现文件上传,不仅…...

[VSCode] vscode下载安装及安装中文插件详解(附下载链接)
VSCode 是一款由微软开发且跨平台的免费源代码编辑器;该软件支持语法高亮、代码自动补全、代码重构、查看定义功能,并且内置了命令行工具和Git版本控制系统。 下载链接:https://pan.quark.cn/s/3a90aef4b645 提取码:NFy5 通过上面…...

JVM常见知识点
在《深入理解Java虚拟机》一书中,介绍了JVM的相关特性。 1、JVM的内存区域划分 在真实的操作系统中,对于地址空间进行了分区域的设计,由于JVM是仿照真实的机器进行设计的,那么也进行了分区域的设计。核心区域有四个,…...
深入探索 Vue 3 Markdown 编辑器:高级功能与实现
目录 1. 为什么选择 Markdown 编辑器?2. 选择合适的 Markdown 编辑器3. 安装与基本配置安装 配置 Markdown 编辑器代码说明 4. 高级功能实现4.1 实时预览与双向绑定4.2 插入图片和图像上传安装图像上传插件配置图像上传插件 4.3 数学公式支持安装 KaTeX配置 KaTeX 插…...

vscode无法格式化go代码的问题
CTRLshiftp 点击Go:Install/Update Tools 点击全选,OK!...

《Java程序设计》课程考核试卷
一、单项选择题(本大题共10个小题,每小题2分,共20分) 1.下列用来编译Java源文件为字节码文件的工具是( )。 A.java B.javadoc C.jar D.javac 2…...
one-hot (独热编码)
一、目的 假设我们现在需要对猫、 狗、 人这三个类别进行分类。 若以 0 代表猫, 以 1 代表狗, 以 2 代表人,会发现那么猫和狗之间距离为 1, 狗和人之间距离为 1, 而猫和人之间距离为 2。 假设真实标签是猫࿰…...

寒假1.23
题解 web:[极客大挑战 2019]Secret File(文件包含漏洞) 打开链接是一个普通的文字界面 查看一下源代码 发现一个链接,点进去看看 再点一次看看,没什么用 仔细看,有一个问题,当点击./action.ph…...

unity 粒子系统设置触发
1、勾选Triggers选项 2、将作为触发器的物体拉入队列当中,物体上必须挂载collider 3、将想要触发的方式(Inide、Outside、Enter和Exit)选择为”Callback“,其他默认为”Ignore“ 4、Collider Query Mode 设置为All:…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...