【大模型理论篇】最近大火的DeepSeek-R1初探系列1
1. 背景介绍
这一整个春节,被DeepSeek-R1刷屏。各种铺天盖地的新闻以及老板发的相关信息,着实感受到DeepSeek-R1在国外出圈的震撼。
DeepSeek推出了新的推理模型:DeepSeek-R1-Zero 和 DeepSeek-R1。DeepSeek-R1-Zero 是一个在没有经过监督微调(SFT)作为预处理步骤的情况下,通过大规模强化学习(RL)训练的模型,在推理任务上展现出了卓越的性能。借助强化学习,DeepSeek-R1-Zero 涌现出许多强大的推理行为。不过,DeepSeek-R1-Zero 也存在一些挑战,比如无尽的重复、可读性差以及语言混杂等问题。为了解决这些问题并进一步提升推理能力,引入了 DeepSeek-R1,在强化学习之前融入了冷启动数据。DeepSeek-R1 在数学、编程和推理任务上的表现可与 OpenAI-o1 相媲美。
这一次DeepSeek的最大轰动,其实是把一种接近O1的实现方案给开源了,并且采用纯RL训练实现接近O1的能力,成本大幅降低。如果没有开源,其实可能不太会有这么大的冲击。据我所知,12月份智谱也上线了GLM-ZERO-Preview的强化推理版本,但没有开源,效果也很不错。强化学习我们之前也给出了相关文章进行讨论,可以参考《大模型中的强化学习RLHF(PPO)、DPO(Direct Preference Optimization)等概念的理解与解析》。
DeepSeek一口气开源了 DeepSeek-R1-Zero、DeepSeek-R1 以及基于 Llama 和 Qwen 从 DeepSeek-R1 蒸馏出的六个密集模型。其中,DeepSeek-R1-Distill-Qwen-32B 在多个基准测试中超越了 OpenAI-o1-mini,刷新了密集模型的最新技术水平。
2. DeepSeek-R1的训练方案
2.1 后训练
DeepSeek为了降低训练成本,并没有选择在预训练阶段进行相应的动作,而是在基模型上进行大规模强化学习,这是否也意味着目前的基模型其实已经具备足够的能力,只需要进行多步推导就可以达到相当有效的推理结果?值得我们思考。关于这个问题其实DeepSeek也给出了一定程度的回答,通过强化学习可以激发出大模型的能力。
DeepSeek直接在基模型上应用强化学习(RL),而不依赖于监督微调(SFT)作为前置步骤。这种方法使模型能够探索思维链(CoT),从而解决复杂问题,并最终发展出 DeepSeek-R1-Zero。DeepSeek-R1-Zero 展现出了自我验证、反思以及生成长思维链等能力,验证了大语言模型(LLM)的推理能力可以完全通过强化学习激发,而无需依赖监督微调。关于思维链可以参考《思维链(Chain Of Thought)、思维树(Tree Of Thought)等概念解析》。
此外开发 DeepSeek-R1 的流程,我们将会在系列文章2中进行介绍,该流程包括两个强化学习阶段,用于发现更优的推理模式并对齐人类偏好,同时包含两个监督微调阶段,为模型的推理和非推理能力提供基础。
2.2 蒸馏:小模型也可以很强大
DeepSeek证明大模型的推理模式可以被蒸馏到小模型中,从而使其性能优于通过强化学习(RL)在小模型上发现的推理模式。利用 DeepSeek-R1 生成的推理数据,对广泛使用的多个稠密模型进行了微调。评估结果表明,经过蒸馏的小型稠密模型在基准测试中表现非常出色。开源的基于 Qwen2.5 和 Llama3 系列的蒸馏模型检查点,包括 1.5B、7B、8B、14B、32B 和 70B 版本。我们曾在《模型蒸馏、大模型变小、移动端小规模大模型SLM、小模型趋势讨论》中讨论了大模型蒸馏的发展趋势,DeepSeek证明了这一个猜想的合理性和正确性。并且在《深度学习模型知识蒸馏Torch实践》中给出了相应的模型蒸馏实践。
2.3 基模型DeepSeek-V3
DeepSeek-R1-Zero 和 DeepSeek-R1 是基于 DeepSeek-V3-Base 训练的。 有关DeepSeek-V3模型架构如下,本质上还是和主流的大模型架构一致,都利用了transformer的基础单元,可以参考《通用大模型架构分类及技术统一化》。另外DeepSeek给出了其MoE的结构,新增了Shared Expert,这个其实也容易理解,除了专门的专家,还需要有一些通用的专家,来捕捉一些跨任务的共享知识,学习到一些通用特征,增强模型的通用能力,同时还可以起到一定的负载均衡、专家数量控制以及兜底策略等功能。关于MoE的探讨可以参考《Mixture of Experts(混合专家模型, MOE)》。其实这种结构的引入,也是一种实验性的结果,实验证明有效。另外DeepSeek-V3还引入了Multi-Head Latent Attention, MLA是用于高效推理的注意力机制。MLA 通过低秩联合压缩技术,减少了推理时的键值(KV)缓存,从而在保持性能的同时显著降低内存占用。

3. 评估结果
DeepSeek-R1 评估,对于所有模型,最大生成长度设置为 32,768 个 token。对于需要采样的基准测试,使用温度为 0.6,top-p 值为 0.95,并为每个查询生成 64 个响应以估计 pass@1。可以看到R1相对于o1-mini是有优势,但与o1-1217还是存在差距。现在DeepSeek-R1被吹到天上,也需要看到差距,继续进步。而且openai在一月底二月初推出了o3,各方面表现都优于R1。

4. DeepSeek-R1使用
4.1 聊天网站与 API 平台
可以在 DeepSeek 官方网站 chat.deepseek.com 上与 DeepSeek-R1 进行聊天,并开启“DeepThink”按钮。 
另外也提供了与 OpenAI 兼容的 API 平台:platform.deepseek.com,不过发现目前API平台在维护中,暂时无法使用,应该是最近太火可能资源啥的跟不上,或者有别的因素考虑暂时做了关闭(2月3日)。
4.2 如何本地运行
DeepSeek-R1 模型
有关在本地运行 DeepSeek-R1 ,可以直接参考DeepSeek-V3 仓库。
DeepSeek-V3 可以通过以下硬件和开源社区软件进行本地部署:
DeepSeek-Infer Demo:我们提供了一个简单轻量级的 FP8 和 BF16 推理演示。
SGLang:全面支持 DeepSeek-V3 模型的 BF16 和 FP8 推理模式,多 token 预测功能即将推出。
LMDeploy:支持高效的 FP8 和 BF16 推理,适用于本地和云端部署。
TensorRT-LLM:目前支持 BF16 推理和 INT4/8 量化,FP8 支持即将推出。
vLLM:支持 DeepSeek-V3 模型的 FP8 和 BF16 模式,支持张量并行和流水线并行。
AMD GPU:通过 SGLang 在 AMD GPU 上以 BF16 和 FP8 模式运行 DeepSeek-V3 模型。
华为昇腾 NPU:支持在华为昇腾设备上运行 DeepSeek-V3。
DeepSeek-R1-Distill 模型
DeepSeek-R1-Distill 模型可以像 Qwen 或 Llama 模型一样使用。
例如,可以使用 vLLM 启动服务:
vllm serve deepseek-ai/DeepSeek-R1-Distill-Qwen-32B --tensor-parallel-size 2 --max-model-len 32768 --enforce-eager
使用建议
建议在使用 DeepSeek-R1 系列模型(包括基准测试)时遵循以下配置,以达到预期性能:
将温度设置在 0.5-0.7 之间(推荐 0.6),以避免无限重复或不连贯的输出。
避免添加系统提示(system prompt);所有指令应包含在用户提示中。
对于数学问题,建议在提示中加入如下指令:“请逐步推理,并将最终答案放在 \boxed{} 中。”
在评估模型性能时,建议进行多次测试并取平均值。
此外,观察到 DeepSeek-R1 系列模型在响应某些查询时可能会跳过思考模式(即输出 <think>\n\n</think>),这可能会影响模型的性能。为了确保模型进行充分推理,建议强制模型在每次输出时以 <think>\n 开头。因为输出的think同样会作为后续的输入,这样才能更好地推理结果。
5. 参考材料
【1】DeepSeek-R1
【2】DeepSeek_V3
相关文章:
【大模型理论篇】最近大火的DeepSeek-R1初探系列1
1. 背景介绍 这一整个春节,被DeepSeek-R1刷屏。各种铺天盖地的新闻以及老板发的相关信息,着实感受到DeepSeek-R1在国外出圈的震撼。 DeepSeek推出了新的推理模型:DeepSeek-R1-Zero 和 DeepSeek-R1。DeepSeek-R1-Zero 是一个在没有经过监督微调…...
【数据结构】(4) 线性表 List
一、什么是线性表 线性表就是 n 个相同类型元素的有限序列,每一个元素只有一个前驱和后继(除了第一个和最后一个元素)。 数据结构中,常见的线性表有:顺序表、链表、栈、队列。 二、什么是 List List 是 Java 中的线性…...
【C++ STL】vector容器详解:从入门到精通
【C STL】vector容器详解:从入门到精通 摘要:本文深入讲解C STL中vector容器的使用方法,涵盖常用函数、代码示例及注意事项,助你快速掌握动态数组的核心操作! 一、vector概述 vector是C标准模板库(STL&am…...
OpenAI推出Deep Research带给我们怎样的启示
OpenAI 又发新产品了,这次是面向深度研究领域的智能体产品 ——「Deep Research」,貌似被逼无奈的节奏… 在技术方面,Deep Research搭载了优化后o3模型并通过端到端强化学习在多个领域的复杂浏览和推理任务上进行了训练。因没有更多的技术暴露…...
洛谷[USACO08DEC] Patting Heads S
题目传送门 题目难度:普及/提高一 题面翻译 今天是贝茜的生日,为了庆祝自己的生日,贝茜邀你来玩一个游戏。 贝茜让 N N N ( 1 ≤ N ≤ 1 0 5 1\leq N\leq 10^5 1≤N≤105) 头奶牛坐成一个圈。除了 1 1 1 号与 N N N 号奶牛外࿰…...
CSS 溢出内容处理:从基础到实战
CSS 溢出内容处理:从基础到实战 1. 什么是溢出?示例代码:默认溢出行为 2. 使用 overflow 属性控制溢出2.1 使用 overflow: hidden 裁剪内容示例代码:裁剪溢出内容 2.2 使用 overflow: scroll 显示滚动条示例代码:显示滚…...
Spring Boot项目如何使用MyBatis实现分页查询
写在前面:大家好!我是晴空๓。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感谢大家的支持。一起加油,冲鸭&#x…...
飞行汽车中的无刷外转子电机、人形机器人中的无框力矩电机技术解析与应用
重点:无刷外转子电机与无框力矩电机:技术解析与应用对比 在现代工业自动化和精密机械领域,无刷电机因其高效、低噪音和高可靠性而备受青睐。其中,无刷外转子电机和无框力矩电机更是以其独特的结构和性能特点,成为众多应用场景中的…...
FreeRTOS学习 --- 队列集
队列集简介 一个队列只允许任务间传递的消息为同一种数据类型,如果需要在任务间传递不同数据类型的消息时,那么就可以使用队列集 ! 作用:用于对多个队列或信号量进行“监听”,其中不管哪一个消息到来,都可让…...
【R语言】R语言安装包的相关操作
一、管理R语言安装包 1、安装R包 install.packages() 2、查看已安装的R包 installed.packages() 3、更新R包 update.packages() 4、卸载R包 remove.packages() 二、加载R语言安装包 打开R语言时,基础包(base包)会自动被加载到内存中…...
15.[前端开发]Day15-HTML+CSS阶段练习(网易云音乐四)
完整代码 01_网易云-header <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"wid…...
【基于SprintBoot+Mybatis+Mysql】电脑商城项目之用户登录
🧸安清h:个人主页 🎥个人专栏:【Spring篇】【计算机网络】【Mybatis篇】 🚦作者简介:一个有趣爱睡觉的intp,期待和更多人分享自己所学知识的真诚大学生。 目录 🎯1.登录-持久层 &…...
测试方案和测试计划相同点和不同点
在软件测试领域,测试方案与测试计划皆为举足轻重的关键文档,尽管它们有着紧密的关联,但在目的与内容层面存在着显著的差异。相同点: 1.共同目标:测试方案和测试计划的核心目标高度一致,均致力于保障软件的…...
c++提取矩形区域图像的梯度并拟合直线
c提取旋转矩形区域的边缘最强梯度点,并拟合直线 #include <opencv2/opencv.hpp> #include <iostream> #include <vector>using namespace cv; using namespace std;int main() {// 加载图像Mat img imread("image.jpg", IMREAD_GRAYS…...
Unity Shader Graph 2D - 角色身体电流覆盖效果
在游戏中,通常会有游戏角色受到“电击”的效果,此时游戏角色身体上会覆盖有电流,该效果能表明游戏角色的当前状态,让玩家能够获得更直观更好的体验。 那么如何实现呢 首先创建一个ShaderGraph文件,命名为Current,再创建对应的材质球M_Current。 基础的资源显示 老规矩,…...
【LLM-agent】(task4)搜索引擎Agent
note 新增工具:搜索引擎Agent 文章目录 note一、搜索引擎AgentReference 一、搜索引擎Agent import os from dotenv import load_dotenv# 加载环境变量 load_dotenv() # 初始化变量 base_url None chat_model None api_key None# 使用with语句打开文件…...
携程Java开发面试题及参考答案 (200道-下)
insert 一行数据的时候加的是什么锁?为什么? 在 MySQL 中,当执行 INSERT 操作插入一行数据时,加锁的情况会因存储引擎和具体的事务隔离级别而有所不同。一般来说,在 InnoDB 存储引擎下,INSERT 操作加的是行级排他锁(Row Exclusive Lock),以下详细说明原因。 行级排他…...
GWO优化SVM回归预测matlab
灰狼优化算法(Grey Wolf Optimizer,简称 GWO),是由澳大利亚格里菲斯大学的 Mirjalii 等人于 2014 年提出的群智能优化算法。该算法的设计灵感源自灰狼群体的捕食行为,核心思想是对灰狼社会的结构与行为模式进行模仿。 …...
QMK启用摇杆和鼠标按键功能
虽然选择了触摸屏,我仍选择为机械键盘嵌入摇杆模块,这本质上是对"操作连续性"的执着。 值得深思的是,本次开发过程中借助DeepSeek的代码生成与逻辑推理,其展现的能力已然颠覆传统编程范式,需求描述可自动…...
Unity实现按键设置功能代码
一、前言 最近在学习unity2D,想做一个横版过关游戏,需要按键设置功能,让用户可以自定义方向键与攻击键等。 自己写了一个,总结如下。 二、界面效果图 这个是一个csv文件,准备第一列是中文按键说明,第二列…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...
海云安高敏捷信创白盒SCAP入选《中国网络安全细分领域产品名录》
近日,嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》,海云安高敏捷信创白盒(SCAP)成功入选软件供应链安全领域产品名录。 在数字化转型加速的今天,网络安全已成为企业生存与发展的核心基石,为了解…...
ArcGIS Pro+ArcGIS给你的地图加上北回归线!
今天来看ArcGIS Pro和ArcGIS中如何给制作的中国地图或者其他大范围地图加上北回归线。 我们将在ArcGIS Pro和ArcGIS中一同介绍。 1 ArcGIS Pro中设置北回归线 1、在ArcGIS Pro中初步设置好经纬格网等,设置经线、纬线都以10间隔显示。 2、需要插入背会归线…...
