DeepSeek-R1深度解读
deepseek提出了一种通过强化学习(RL)激励大语言模型(LLMs)推理能力的方法,个人认为最让人兴奋的点是:通过RL发现了一个叫“Aha Moment”的现象,这个时刻发生在模型的中间版本中。在这个阶段,DeepSeek学会为问题分配更多的思考时间。性能直接达到国际顶流水平,这不仅实现了了大语言生成模型到推理模型0-1的越阶,而且成功打破美国对AI技术和高端芯片的封锁。
同时发布了 DeepSeek-R1-Zero 和 DeepSeek-R1 模型,通过纯 RL 训练和多阶段训练提升了模型在数学、编码等任务中的推理能力,并通过模型蒸馏将推理能力迁移到更小的模型。
研究背景与目标
- LLM 推理能力的重要性:近年来,大型语言模型(LLMs)在推理能力上取得显著进展,如 OpenAI 的 o1 系列模型通过增加思维链(CoT)长度提升了数学、编码等任务的表现。然而,如何有效提升测试时的推理能力仍是研究热点。
- 现有方法的局限性:现有方法如过程奖励模型、搜索算法等虽有一定效果,但未达到与 OpenAI o1 系列模型相当的通用推理性能。
- 研究目标:探索纯强化学习(RL)在提升 LLM 推理能力中的潜力,无需监督微调(SFT),并通过多阶段训练和模型蒸馏进一步优化性能。
模型架构与方法
- DeepSeek-R1-Zero
-
纯 RL 训练:直接在基础模型(DeepSeek-V3-Base)上应用 Group Relative Policy Optimization (GRPO) 算法,无需 SFT 数据。GRPO公式看着十分复杂,拆解开来看看并不难懂:
其中:
:待优化的策略参数;
:每个问题生成的候选答案数量(组大小);
:旧策略(即上一轮迭代的策略);
:优势函数(Advantage),反映第i个答案的相对质量,将原始奖励归一化;
:剪切阈值(通常取0.1-0.3);
:KL散度正则化系数。红框公式:最原始的强化学习公式,衡量新策略与旧策略生成答案的概率差异。若概率比>1,表示新策略更倾向于生成该答案。黄框公式:剪切机制,设置奖励上下阈值clip一下,防止策略更新幅度过大,确保训练稳定性。蓝框公式:将原始奖励和clip后的奖励取最小值。绿框公式:KL散度惩罚,该惩罚项避免模型过度拟合短期奖励,维持生成文本的多样性和安全性。黑色公式:对同一问题q生成G个答案,使用组内比较代替传统Critic模型。
- 奖励模型:基于规则的奖励系统,包括准确性奖励(验证答案正确性)和格式奖励(强制使用特定格式输出推理过程)。
- 训练模板:引导模型生成推理过程和答案,结构化为 “推理过程” 和 “答案” 两部分。
- 自进化与表现:在 AIME 2024 基准测试中,pass@1 从 15.6% 提升至 71.0%,多数投票后达 86.7%,接近 OpenAI-o1-0912 的水平。模型还表现出自我验证、反思等能力。
“顿悟时刻”。这个模型学会了用拟人化的语气重新思考。
-
- DeepSeek-R1
- 冷启动数据:收集数千条长 CoT 数据进行微调,解决 DeepSeek-R1-Zero 可读性差、语言混合等问题。
- 多阶段训练:包括冷启动微调、推理导向的 RL(加入语言一致性奖励)、拒绝采样生成新 SFT 数据、多场景 RL(结合奖励信号优化有用性和无害性)。
- 性能提升:在 AIME 2024 上 pass@1 达 79.8%,超过 OpenAI-o1-1217,MATH-500 达 97.3%,与 o1-1217 持平。
- 模型蒸馏
- 方法:使用 DeepSeek-R1 生成的 800k 数据微调开源模型(如 Qwen、Llama 系列),仅进行 SFT 而不进行 RL。
- 结果:蒸馏后的模型在多个基准测试中表现优异,如 DeepSeek-R1-Distill-Qwen-32B 在 AIME 2024 上 pass@1 达 72.6%,超过 o1-mini。
实验结果
- 基准测试表现
- 数学任务:DeepSeek-R1 在 AIME 2024(79.8%)和 MATH-500(97.3%)上接近或超过 OpenAI-o1-1217。
- 编码任务:在 Codeforces 上 Elo 评分为 2029,超过 96.3% 的人类选手;LiveCodeBench pass@1 达 65.9%。
- 知识问答:MMLU(90.8%)、GPQA Diamond(71.5%)等任务上优于 DeepSeek-V3,稍逊于 o1-1217。
- 蒸馏模型对比:蒸馏后的小模型(如 14B、32B)在多个任务上显著优于同类开源模型,证明了大模型推理模式的可迁移性。
讨论与结论
- 蒸馏 vs. RL:蒸馏更高效,小模型通过学习大模型的推理模式即可获得优秀性能;而直接对小模型进行 RL 训练需大量计算资源且效果有限。
- 未成功尝试:过程奖励模型(PRM)因难以定义细粒度步骤和奖励欺诈问题效果不佳;蒙特卡洛树搜索(MCTS)因搜索空间过大和价值模型训练困难未能显著提升性能。
- 结论:纯 RL 可有效提升 LLM 推理能力,多阶段训练和冷启动数据进一步优化了模型表现。模型蒸馏为小模型赋予了强大的推理能力,开源模型将推动相关研究。
未来工作方向
- 通用能力扩展:提升在函数调用、多轮对话等任务上的表现。
- 语言混合问题:优化非中 / 英文查询的处理能力。
- 提示工程优化:减少模型对提示的敏感性,提升零样本性能。
- 软件工程任务:增加相关 RL 训练数据,提高在软件工程项目中的表现。
相关文章:
DeepSeek-R1深度解读
deepseek提出了一种通过强化学习(RL)激励大语言模型(LLMs)推理能力的方法,个人认为最让人兴奋的点是:通过RL发现了一个叫“Aha Moment”的现象,这个时刻发生在模型的中间版本中。在这个阶段&…...
吴恩达机器学习笔记复盘(六)梯度下降算法
简介 梯度下降(Gradient Descent)是一种常用的优化算法,广泛应用于机器学习、深度学习等领域,在这里是用于求J(w,b)局部最小值。 我自己觉得这样说有点过于抽象。换个直观点的说法就是,一个人…...
【环境配置】windows下vscode下无法激活conda环境、创建虚拟环境报错
前言 我的本地的系统,绝大部分是使用的ubuntu。去年下半年开始切换成windows,然后windows下使用vscode还需要注意一些小的配置。为了避免反复搜索,这里记录下。 当已经在 windows 下安装了anaconda、vscode,之后的使用有可能存…...
【Linux笔记】动态库与静态库的理解与加载
🔥个人主页🔥:孤寂大仙V 🌈收录专栏🌈:Linux 🌹往期回顾🌹:【Linux笔记】动态库与静态库的制作 🔖流水不争,争的是滔滔不 一、ELF文件二、ELF的形…...
ollama docker设置模型常驻显存
参考: https://github.com/ollama/ollama/issues/5272 https://deepseek.csdn.net/67cfd7c93b685529b708fdee.html 通过-e传入环境变量,ollama运行: docker run -d --gpusall -e OLLAMA_KEEP_ALIVE-1 -v ollama:/root/.ollama -p 11434:114…...
SAP-ABAP:SAP 主数据管理体系深度解析与学习路径介绍
Ⅰ. 主数据体系全景认知 1.1 主数据核心定位 #mermaid-svg-Lf3tZAfcROs5hlN4 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Lf3tZAfcROs5hlN4 .error-icon{fill:#552222;}#mermaid-svg-Lf3tZAfcROs5hlN4 .error-t…...
Redis解决缓存击穿问题——两种方法
目录 引言 解决办法 互斥锁(强一致,性能差) 逻辑过期(高可用,性能优) 设计逻辑过期时间 引言 缓存击穿:给某一个key设置了过期时间,当key过期的时候,恰好这个时间点对…...
FGPA学习(二)实现LED流水灯
目录 一、6个LED灯实现流水灯 (一)实验逻辑 1、时钟和复位信号的处理 2、按键停止信号的处理 3、计数器的计数逻辑 4、LED 状态更新逻辑 (二)代码实现 (三)效果展示 二、vscode插件下载及其模块分…...
【蓝桥杯】每天一题,理解逻辑(4/90)【Leetcode 二进制求和】
题目描述 我们解析一下题目 我们可以理解到两个主要信息 给的是二进制的字符串返回他们的和 我们知道,十进制的加减法需要进位,例如:9716是因为91之后进了一位,二进制也是如此,只不过十进制是逢10进1,二…...
docker利用ollama +Open WebGUI在本地搭建部署一套Deepseek-r1模型
系统:没有限制,可以运行docker就行 磁盘空间:至少预留50GB; 内存:8GB docker版本:4.38.0 桌面版 下载ollama镜像 由于docker镜像地址,网络不太稳定,建议科学上网的一台服务器拉取ollama镜像&am…...
精准git动图拆解
参考原文:精准git动图拆解 该工具可精准识别并提取.git 动图的每一帧,无论是代码运行演示,还是项目流程展示的动图,都能完美处理。 快速格式转换 提取的动图帧会快速转换为 PNG 格式。PNG 无损压缩、支持透明背景&…...
让vscode远程开发也可以图形显示
目录 0. 摘要1. 保存查看2. jupyter内置inline渲染3. jupyter浏览器4. matplot修改后端5. SSH X11转发[※]6. 参考 0. 摘要 vscode登录远程服务器进行开发遇到图形显示需求时,该怎么处理?一般有几种方式: 保存下来查看jupyter内置的inline图…...
996引擎 - 红点系统
996引擎 - 红点系统 总结NPC 红点(TXT红点)Lua 红点1. Red_Point.lua2. UI_Ex.lua参考资料以下内容是在三端 lua 环境下测试的 总结 红点系统分几个部分组成。 M2中设置变量推送。 配置红点表。 Envir\Data\cfg_redpoint.xls 2.1. UI元素中找到ID填写 ids 列。 主界面挂载…...
Springboot List集合的校验方式
pom.xml 引入 <dependency><groupId>org.hibernate.validator</groupId><artifactId>hibernate-validator</artifactId><version>6.2.0.Final</version></dependency><dependency><groupId>org.springframework.b…...
基于图像识别的医学影像大数据诊断系统的设计与实现
标题:基于图像识别的医学影像大数据诊断系统的设计与实现 内容:1.摘要 随着医学影像技术的快速发展,医学影像数据量呈爆炸式增长,传统的人工诊断方式在处理海量数据时效率低下且容易出现误差。本研究的目的是设计并实现一个基于图像识别的医学影像大数据…...
黑马node.js教程(nodejs教程)——AJAX-Day01-04.案例_地区查询——查询某个省某个城市所有地区(代码示例)
文章目录 代码示例效果 代码示例 axiosTest.html <!DOCTYPE html> <!-- 文档类型声明,告诉浏览器这是一个HTML5文档 --> <html lang"en"> <!-- HTML根元素,设置文档语言为英语 --><head> <!-- 头部区域&am…...
PySide(PyQt),使用types.MethodType动态定义事件
以PySide(PyQt)的图片项为例,比如一个视窗的场景底图是一个QGraphicsPixmapItem,需要修改它的鼠标滚轮事件,以实现鼠标滚轮缩放显示的功能。为了达到这个目的,可以重新定义一个QGraphicsPixmapItem类,并重写它的wheelE…...
c语言基础编程入门练习题
[编程入门]成绩评定 题目描述 给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。 90分以及90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。 输入格式 一个整数0-100…...
汽车安全确认等级-中国等保
1、概念解析 网络安全保证等级(Cybersecurity Assurance Level)通常指在不同标准或框架下,根据系统或数据的敏感性、重要性以及潜在风险划分的等级,用于指导组织采取相应的安全防护措施。以下是几个常见的网络安全保证等级体系及…...
Quartus + VScode 实现模块化流水灯
文章目录 一、通过VScode编写Verilog代码二、模块化编程三、代码示例 一、通过VScode编写Verilog代码 1、下载Vscode 2、下载相关插件 搜索Verilog就会弹出有如图所示的插件,下载并安装 3、创建Quartus项目 4、创建完成后点击Tools,选择Options 然后在…...
从两指到三指:Robotiq机器人自适应夹持器技术解析
工业自动化离不开高效工具的支持。Robotiq机器人工具凭借其模块化设计和智能化编程技术,提升了设备的灵活性和操作效率。Robotiq机器人工具精准的传感器和自适应夹持器技术,能够满足多样化的应用需求,为制造业、物流和科研等领域提供可靠的解…...
网络安全应急入门到实战
奇安信:95015网络安全应急响应分析报告(2022-2024年)官网可以下载 https://github.com/Bypass007/Emergency-Response-Notes 应急响应实战笔记 网络安全应急响应技术实战指南 .pdf 常见场景 第4章 勒索病毒网络安全应急响应 第5章 挖矿木…...
Flutter IconButton完全指南:高效使用与性能优化秘籍
目录 一、引言 二、IconButton 的基本用法 三、 进阶技巧 3.1 自定义形状与背景 3.2 带文本的 IconButton(使用 Column 组合) 3.3 自定义交互反馈 3.4 动态图标切换 3.5 组合式按钮(图标 文字) 四、高级应用 4.1 与主题…...
跨国生产制造企业:如何破解远距离数据传输难题?
在全球制造业数字化转型的背景下,跨国生产制造企业的文件传输需求正呈现指数级增长。无论是设计图纸、生产计划、质量控制数据,还是供应链协同信息,跨国文件传输已成为制造业高效运营的核心环节。 然而,制造业文件大数据传输具有文…...
大模型如何赋能安全防御?威胁检测与漏洞挖掘的“AI革命”
🚀 引言:大模型是“安全守护神”还是“双刃剑”? 当黑客用AI生成恶意代码,安全团队也能用大模型“魔法打败魔法”! 划重点:大模型不仅是“生产力工具”,更是安全防御的“智能武器库”࿰…...
uniapp常用组件
写在前面 今天将uniapp中的组件都过了一遍,上手难度不大,但是还是遇到了一些问题: HBuilder实在是太难用,不管是插件生态还是设计之类的,总之就是用的哪哪不顺手虽然打开内置浏览器是挺方便的,但是不知道…...
Oracle OCP认证没落了吗?
Oracle OCP认证没落了吗? Oracle的OCP认证是数据库领域必考的一个认证,但随着国产化的发展,国内很多企业开发了自己的数据库产品,这种情况对很多人造成了错误的认识:OCP被淘汰了吗?不然,从行业需求、技术趋势、认证体…...
洛谷 P3986 斐波那契数列
P3986 斐波那契数列 题目描述 定义一个数列: f ( 0 ) a , f ( 1 ) b , f ( n ) f ( n − 1 ) f ( n − 2 ) f(0) a, f(1) b, f(n) f(n - 1) f(n - 2) f(0)a,f(1)b,f(n)f(n−1)f(n−2) 其中 a, b 均为正整数,n ≥ 2。 问有多少种 (a, b)&…...
使用fastapi部署stable diffusion模型
使用vscode运行stable diffusion模型,每次加载模型都需要10分钟,为算法及prompt调试带来了极大麻烦。使用jupyter解决自然是一个比较好的方案,但如果jupyter由于种种原因不能使用时,fastapi无疑成为了一个很好的选择。 参考github…...
PyTorch使用(3)-张量类型转换
文章目录 张量类型转换1. 张量转换为 numpy 数组1.1. 默认行为:共享内存1.2. 避免内存共享1.2.1. 使用 .copy()1.2.2. 使用 torch.clone() .numpy() 1.3. 处理 GPU 张量1.4. 分离梯度跟踪1.5. 代码示例1.6. 关键注意事项1.7. 总结 2. 标量张量和数字的转换2.1. tor…...
基于FPGA的DDS连续FFT 仿真验证
基于FPGA的 DDS连续FFT 仿真验证 1 摘要 本文聚焦 AMD LogiCORE IP Fast Fourier Transform (FFT) 核心,深入剖析其在 FPGA 设计中的应用。该 FFT 核心基于 Cooley - Tukey 算法,具备丰富特性,如支持多种数据精度、算术类型及灵活的运行时配置。文中详细介绍了其架构选项、…...
【Spring 默认是否管理 Request 和 Session Bean 的生命周期?】
要测试 Spring 默认是否管理 Request 和 Session 作用域的 Bean 的生命周期,可以通过以下步骤实现: 验证 Spring 是否创建了 Bean:检查 Spring 容器是否成功加载并管理了 Request 和 Session 作用域的 Bean。验证 Bean 的生命周期回调方法是…...
Git的基本指令
一、回滚 1.git init 在项目文件夹中打开bash生成一个.git的子目录,产生一个仓库 2.git status 查看当前目录下的所有文件的状态 3.git add . 将该目录下的所有文件提交到暂存区 4.git add 文件名 将该目录下的指定文件提交到暂存区 5.git commit -m 备注信…...
【微信小程序(云开发模式)变通实现DeepSeek支持语音】
整体架构 前端(微信小程序): 使用微信小程序云开发能力,实现录音功能。将录音文件上传到云存储。调用云函数进行语音识别和 DeepSeek 处理。界面模仿 DeepSeek,支持文本编辑。 后端(云函数 Node.js&#…...
前端使用 crypto-js库AES加解密
前端使用 crypto-js库AES加解密 为什么需要前端加密? 现在项目使用http协议,且登录界面的用户登录密码是明文传输,项目真正上线后,存在信息泄露风险。 所以准备用前端框架加密处理用户输入的密码再传输。 crypto-js 库 crypto…...
七天MySQL密集学习计划
七天MySQL密集学习计划 第1天:MySQL基础和环境搭建 上午(理论安装) 数据库基本概念MySQL是什么关系型数据库基础安装MySQL Windows/Mac下安装步骤MySQL Workbench安装 基本配置和连接 下午(基础操作) 数据库和表的…...
Python程序常用的配置文件格式及例子(上)
Python 中常用的配置文件格式有多种,每种格式都有其特点和适用场景。以下是常见的配置文件类型及简要说明: 1. INI 格式 特点:简单键值对,支持分节(Section)。文件扩展名:.ini, .cfgPython 库&…...
Go语言对于MySQL的基本操作
一.下载依赖 终端中输入: go get -u github.com/go-sql-driver/mysql 导入包 import ("database/sql"_ "github.com/go-sql-driver/mysql" ) 二.案例 package main//go get-u github.com/go-sql-driver/mysql 获取驱动 import ("databa…...
一键批量txt转DWG,DWG转txt——插件实现 CAD c#二次开发
如下图,我们有大量dwg需要转为txt格式,或txt格式坐标需要转为dwg格式,此插件可一键完成一个文件夹下所有文件的转换。 插件使用方式 命令行输入: netload 加载此dll插件, 输入: dwg2txt 可将dwg转为t…...
SpringBoot 集成 Minio (附带工具类)
Minio 官方文档: https://www.minio.org.cn/docs/minio/container/index.html MinIO是一个对象存储解决方案,它提供了与Amazon Web Services S3兼容的API,并支持所有核心S3功能。 MinIO有能力在任何地方部署 - 公有云或私有云,裸…...
图论——Prim算法
53. 寻宝(第七期模拟笔试) 题目描述 在世界的某个区域,有一些分散的神秘岛屿,每个岛屿上都有一种珍稀的资源或者宝藏。国王打算在这些岛屿上建公路,方便运输。 不同岛屿之间,路途距离不同,国王希望你可以规划建公路的方案,如何可以以最短的总公路距离将 所有岛屿联通…...
Linux系统上后门程序的原理细节,请仔细解释一下
在Linux系统上,后门程序通常通过隐蔽的方式绕过正常的安全机制,允许攻击者未经授权访问系统。以下是其工作原理的详细解释: 1. 隐蔽性 隐藏进程:后门程序常通过修改进程列表或使用rootkit技术隐藏自身,避免被ps、top…...
Cursor与Blender-MCP生成3D模型
随着DeepSeek的热度,各行各业接入AI智能,当然作为一个深受3D爱好者喜爱的软件——Blender,也接入了AI智能,通过Blender-MCP,开启一场Blender的智能化模型创建的世界之旅。 目录 1.准备工作2.环境配置2.1 Mac安装2.2 W…...
Object 转 JSONObject 并排除null和““字符串
public static JSONObject objToJSONObject(Object obj) throws Exception{//创建一个 HashMap 对象 map,用于存储对象的属性名和属性值。//key 是属性名(String 类型),value 是属性值(Object 类型)Map<…...
物联网为什么用MQTT不用 HTTP 或 UDP?
先来两个代码对比,上传温度数据给服务器。 MQTT代码示例 // MQTT 客户端连接到 MQTT 服务器 mqttClient.connect("mqtt://broker.server.com:8883", clientId) // 订阅特定主题 mqttClient.subscribe("sensor/data", qos1) // …...
LeetCode135☞分糖果
关联LeetCode题号135 本题特点 贪心两次遍历,一次正序遍历,只比较左边,左边比右边大的情况 i-1 i一次倒序遍历,只比较右边的,右边比左边大 i1 i 本题思路 class Solution:def candy(self, ratings: List[int]) -&g…...
YOLO魔改之频率分割模块(FDM)
目标检测原理 目标检测是一种将目标分割和识别相结合的图像处理技术,旨在从图像中定位并识别特定目标。深度学习方法,如Faster R-CNN和YOLO系列,已成为主流解决方案。这些方法通常采用两阶段或单阶段策略,通过卷积神经网络(CNN)提取特征并进行分类和定位。 在小目标检测中…...
AI学习——卷积神经网络(CNN)入门
作为人类,我们天生擅长“看”东西:一眼就能认出猫狗、分辨红绿灯、读懂朋友的表情……但计算机的“眼睛”最初是一片空白。直到卷积神经网络(CNN)的出现,计算机才真正开始理解图像。今天,我们就用最通俗的…...
【资源损坏类故障】:详细了解坏块
目录 1、物理坏块与逻辑坏块 1.1、物理坏块 1.2、逻辑坏块 2、两个坏块相关的参数 2.1、db_block_checksum 2.2、db_block_checking 3、检测坏块 3.1、告警日志 3.2、RMAN 3.3、ANALYZE 3.4、数据字典 3.5、DBVERIFY 4、修复坏块 4.1、RMAN修复 4.2、DBMS_REPA…...
Django系列教程(13)——Cookie和Session应用场景及案例
目录 什么是cookie,cookie的应用场景及缺点 Django中如何使用cookie Cookie使用示例 什么是session及session的工作原理 Django中如何使用会话session Session使用示例 小结 HTTP协议本身是”无状态”的,在一次请求和下一次请求之间没有任何状态保…...