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”的现象,这个时刻发生在模型的中间版本中。在这个阶段&…...
15-双链表-双链表基本操作
题目 来源 827. 双链表 - AcWing题库 思路 此题我只想说,千万千万别漏了头结点和尾结点,不然根本查不出来是哪里出了问题,因为传入的k会有问题;最左边插入,相当于是在头结点的右边插入(也就是0号节点的右…...
正则表达式详解(regular expression)
💡 正则表达式(Regular Expression, regex)知识点总结 💡 正则表达式是一种用于匹配字符串的模式,广泛用于搜索、替换、验证等操作。 📌 正则表达式的主要作用 1️⃣ 字符串匹配 🧐 检查一个…...
经典面试题:C/C++中static关键字的三大核心作用与实战应用
一、修饰局部变量:改变生命周期,保留跨调用状态 核心作用: 延长生命周期:将局部变量从栈区移至静态存储区(数据段或BSS段),生命周期与程序一致保留状态:变量在函数多次调用间保…...
笔记:代码随想录算法训练营day57:99.岛屿数量 深搜、岛屿数量 广搜、100.岛屿的最大面积
学习资料:代码随想录 注:文中含大模型生成内容 99. 岛屿数量 卡码网题目链接(ACM模式) 先看深搜方法:找到未标标记过的说明找到一片陆地的或者一片陆地的一个角落,dfs搜索是寻找相连接的陆地其余部分并…...
【小也的Java之旅系列】01 分布式、集群、微服务的区别
前言 做Java开发多年,一直以来都有想把Java做成一个系列的想法,最近整理自己的笔记发现有很多值得写的内容,但这些内容又往往杂乱不堪。CSDN上有很多高质量的Java博客,但大多不是从一个人成长的角度去写的。而我们——一个技术人…...
基于视觉的核桃分级与套膜装置研究(大纲)
基于视觉的核桃分级与套膜装置研究:从设计到实现的完整指南 (SolidWorks、OpenCV、STM32开发实践) 🌟 项目背景与目标 1.1 为什么选择视觉分级与套膜? 产业痛点: 中国核桃年产量全球第一,但…...
JimuReport与deepseek结合,颠覆现有BI模式
在数字化转型的浪潮中,企业对数据的依赖程度越来越高,如何高效地分析和利用数据成为关键。JimuReport凭借其强大的报表设计能力和灵活的数据处理功能,已经成为众多企业的首选工具。如今,它即将与DeepSeek深度结合,为企…...
大白话详细解读函数之柯里化
1. 函数柯里化是什么? 函数柯里化是一种将多参数函数转换成一系列单参数函数的技术。简单来说,就是把一个接收多个参数的函数,变成每次只接收一个参数,并返回一个新函数,直到所有参数都接收完毕,最后返回结…...
11、STL中的set使用方法
一、了解 set 是 C 标准模板库(STL)中提供的有序关联容器之一。基于红黑树(Red-Black Tree)实现,用于存储一组唯一的元素,并按照元素的值进行排序。 set的特性 唯一性 键是唯一的。无重复。 有序性 按升序…...
git 子模块的使用
1. 子模块的核心概念 独立性:子模块是一个独立的 Git 仓库,有自己的提交历史和分支。 指针机制:主仓库仅记录子模块的特定提交(而不是分支),确保代码版本可控。 适用场景:依赖第三方库、多项目…...
vsftpd服务权限配置
主配置文件:/etc/vsftpd/vsftpd.conf anonymous_enableYES #是否启用匿名用户 no_anon_passwordYES #匿名用户login时不询问口令 anon_upload_enableyes | no # 匿名用户对文件(非目录)上传权限。 anon_world_readable_onlyyes | …...
遥感数据获取、处理、分析到模型搭建全流程学习!DeepSeek、Python、OpenCV驱动空天地遥感数据分析
【扔进数据,直接出结果】在科技飞速发展的时代,遥感数据的精准分析已经成为推动各行业智能决策的关键工具。从无人机监测农田到卫星数据支持气候研究,空天地遥感数据正以前所未有的方式为科研和商业带来深刻变革。然而,对于许多专…...
操作系统——(管程、线程、进程通信)
目录 一、管程机制 (1)管程定义 (2)特点: 二、进程通信 (1)概念 (2)高级通信机制 三、线程 (1)概念 (2)与进程比较…...
Sqlserver安全篇之_启用和禁用Named Pipes的案列介绍
https://learn.microsoft.com/zh-cn/sql/tools/configuration-manager/named-pipes-properties?viewsql-server-ver16 https://learn.microsoft.com/zh-cn/sql/tools/configuration-manager/client-protocols-named-pipes-properties-protocol-tab?viewsql-server-ver16 默认…...
Redis 本地安装
首先安装: https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-from-source/ 进入root目录 tar -xzvf redis-stable.tar.gz cd redis-stable make然后 install sudo make install最后可以直接启动 redis-server但是此时启…...
外卖订单如何教会我变量与数据类型?
目录 前言一、现实场景1.1 你点的每一碗,都是程序员的KPI1.2 关键数据角色扮演 二、技术映射三、知识点呈现3.1 变量——你的数字日记本3.2 数据类型——数值的「职业规划」3.3 运算符——数学老师的黑板擦 四、代码实现4.1 基础版:计算器の复仇4.2 进阶…...
HOW - 平时如何保持学习和成长?
目录 前言数字时代的系统性学习方法论一、场景驱动的实战学习:从工具赋能到知识沉淀二、结构化的系统学习:构建知识体系的方法论(一)精准学习策略(二)学习成效评估体系(三)专项研究 …...
Web开发-JS应用原生代码前端数据加密CryptoJS库jsencrypt库代码混淆
知识点: 1、安全开发-原生JS-数据加密&代码混淆 2、安全开发-原生JS-数据解密安全案例 一、演示案例-WEB开发-原生JS&第三方库-数据加密 前端技术JS实现: 1、非加密数据大致流程: 客户端发送->明文数据传输-服务端接受数据->…...
手动集成sqlite的方法
注意到sqlite有backup方法(https://www.sqlite.org/backup.html)。 也注意到android中sysroot下,没有sqlite3的库,也没有相关头文件。 如果要使用 sqlite 的backup,那么就需要手动集成sqlite代码到项目中。可以如下操…...
比特币牛市还在不在
在加密货币的风云世界里,比特币的一举一动始终牵动着投资者们的神经。近期比特币的涨幅动作,再次引发了市场对于牛市是否仍在延续的激烈讨论。 在深入探索比特币市场的过程中,获取全面且及时的资讯至关重要。您可以通过访问Techub News&#…...
Python、MATLAB和PPT完成数学建模竞赛中的地图绘制
参加数学建模比赛时,很多题目——诸如统计类、数据挖掘类、环保类、建议类的题目总会涉及到地理相关的情景,往往要求我们制作与地图相关的可视化内容。如下图,这是21年亚太赛的那道塞罕坝的题目,期间涉及到温度、降水和森林覆盖率…...
跨平台RTSP高性能实时播放器实现思路
跨平台RTSP高性能实时播放器实现思路 目标:局域网100ms以内超低延迟 一、引言 现有播放器(如VLC)在RTSP实时播放场景中面临高延迟(通常数秒)和资源占用大的问题。本文提出一种跨平台解决方案,通过网络层…...
编写一个简单的chrome截图扩展
文件结构: screenshot |-- background.js ---> service_worker运行的js |-- images ---> 图片 | |-- logo-128x128.png | |-- logo-16x16.png | |-- logo-32x32.png | -- logo-48x48.png -- manifest.json --->…...
吴恩达机器学习笔记复盘(六)梯度下降算法
简介 梯度下降(Gradient Descent)是一种常用的优化算法,广泛应用于机器学习、深度学习等领域,在这里是用于求J(w,b)局部最小值。 我自己觉得这样说有点过于抽象。换个直观点的说法就是,一个人…...
【机器学习chp14 — 3】生成式模型—生成对抗网络GAN(超详细分析,易于理解,推导严谨,一文就够了)
目录 三、生成对抗网络 ( Generative Adversarial Networks,GAN ) 1、GAN的基本思想 (1)生成器与判别器的基本结构与演变 (2)“对抗”机制及名词由来 2、GAN训练的基本算法 (1)网络初始化与…...
机器人打磨控制技术
工具姿态调整运动 法线方向对齐运动:机器人实时调整工具姿态,使打磨工具的轴线与工件曲面的法线方向一致。例如,在球面打磨时,工具需始终垂直于球面切线。角度补偿运动:针对倾斜或不规则曲面,通过调整机器人…...
K8S学习之基础四十:K8S配置altermanager发送告警到钉钉群
配置altermanager发送告警到钉钉群 创建钉钉群,设置机器人助手(必须是管理员才能设置),获取webhook webhook: https://oapi.dingtalk.com/robot/send?access_token25bed933a52d69f192347b5be4b2193bc0b257a6d9ae68d81619e3ae3d93f7c6…...
Spring Boot + Spring Integration整合MQTT打造双向通信客户端
1. 概述 本文分两个章节讲解MQTT相关的知识,第一部份主要讲解MQTT的原理和相关配置,第二个章节主要讲和Spring boot的integration相结合代码的具体实现,如果想快速实现功能,可直接跳过第一章节查看第二章讲。 1.1 MQTT搭建 为了…...
Sampling – Model Context Protocol Specification
网页链接 https://spec.modelcontextprotocol.io/specification/draft/client/sampling/ 主要内容概述 该网页详细介绍了Model Context Protocol (MCP) 中的“Sampling”功能。Sampling允许服务器通过客户端请求语言模型(LLM)生成文本、音频或图像内容…...
