聚合影视网站建设/互联网营销平台
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文件,准备第一列是中文按键说明,第二列…...

基于物联网技术的实时数据流可视化研究(论文+源码)
1系统方案设计 根据系统功能的设计要求,展开基于物联网技术的实时数据流可视化研究设计。如图2.1所示为系统总体设计框图,系统以STM32单片机做为主控制器,通过DHT11、MQ-2、光照传感器实现环境中温湿度、烟雾、光照强度数据的实时检测&#x…...

list容器(详解)
1. list的介绍及使用 1.1 list的介绍(双向循环链表) https://cplusplus.com/reference/list/list/?kwlist(list文档介绍) 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭…...

Elasticsearch基本使用详解
文章目录 Elasticsearch基本使用详解一、引言二、环境搭建1、安装 Elasticsearch2、安装 Kibana(可选) 三、索引操作1、创建索引2、查看索引3、删除索引 四、数据操作1、插入数据2、查询数据(1)简单查询(2)…...

17.3.4 颜色矩阵
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 17.3.4.1 矩阵基本概念 矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,类似于数组。 由…...

FPGA 时钟多路复用
时钟多路复用 您可以使用并行和级联 BUFGCTRL 的组合构建时钟多路复用器。布局器基于时钟缓存 site 位置可用性查找最佳布局。 如果可能,布局器将 BUFGCTRL 布局在相邻 site 位置中以利用专用级联路径。如无法实现,则布局器将尝试将 BUFGCTRL 从…...

机器学习10
自定义数据集 使用scikit-learn中svm的包实现svm分类 代码 import numpy as np import matplotlib.pyplot as pltclass1_points np.array([[1.9, 1.2],[1.5, 2.1],[1.9, 0.5],[1.5, 0.9],[0.9, 1.2],[1.1, 1.7],[1.4, 1.1]])class2_points np.array([[3.2, 3.2],[3.7, 2.9],…...

【Block总结】CoT,上下文Transformer注意力|即插即用
一. 论文信息 标题: Contextual Transformer Networks for Visual Recognition论文链接: arXivGitHub链接: https://github.com/JDAI-CV/CoTNet 二. 创新点 上下文Transformer模块(CoT): 提出了CoT模块,能够有效利用输入键之间的上下文信息…...

linux库函数 gettimeofday() localtime的概念和使用案例
在Linux系统中,gettimeofday() 和 localtime() 是两个常用的时间处理函数,分别用于获取高精度时间戳和将时间戳转换为本地时间。以下是它们的概念和使用案例的详细说明: 1. gettimeofday() 函数 概念 功能:获取当前时间…...

编程题-电话号码的字母组合(中等)
题目: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 解法一(哈希表动态添加)&#x…...

EasyExcel使用详解
文章目录 EasyExcel使用详解一、引言二、环境准备与基础配置1、添加依赖2、定义实体类 三、Excel 读取详解1、基础读取2、自定义监听器3、多 Sheet 处理 四、Excel 写入详解1、基础写入2、动态列与复杂表头3、样式与模板填充 五、总结 EasyExcel使用详解 一、引言 EasyExcel 是…...