【DeepSeek系列】05 DeepSeek核心算法改进点总结
文章目录
- 一、DeepSeek概要
- 二、4个重要改进点
- 2.1 多头潜在注意力
- 2.2 混合专家模型MoE
- 2.3 多Token预测
- 3.4 GRPO强化学习策略
- 三、2个重要思考
- 3.1 大规模强化学习
- 3.2 蒸馏方法:小模型也可以很强大
一、DeepSeek概要
2024年~2025年初,DeepSeek 相继推出了其推理大模型系列:DeepSeek-V2、DeepSeek-V3、DeepSeek-R1-Zero 和 DeepSeek-R1。由于其卓越的性能,以及超高的性价比,让DeepSeek在2025年初迅速风靡全球,被外媒称为“来自东方神秘的力量”。

二、4个重要改进点
2.1 多头潜在注意力
核心思想:通过低秩压缩技术,将Key和Value映射到一个低维的潜在空间,从而减少KV缓存的大小,显著提高了推理效率。
具体步骤:(优化注意力机制模块)
- 低秩压缩:将输入的隐藏状态通过一个下投影矩阵映射到低维的潜在空间,生成压缩后的潜在向量。
- 生成Key和Value:从潜在向量中通过上投影矩阵恢复出Key和Value。
- 应用RoPE:在生成的Key上应用旋转位置编码(RoPE),以保留位置信息。
- 计算注意力:将压缩后的Key和Value与查询(Query)结合,通过标准的注意力公式计算注意力输出。
- 输出:将注意力输出通过一个输出投影矩阵映射回原始维度。

2.2 混合专家模型MoE
核心思想:是一种基于混合专家(MoE)架构的前馈网络(FFN),其核心思想是,让不同的Token由不同的“专家”处理,大幅提升计算效率。它结合了负载均衡策略,旨在减少因负载均衡而导致的模型性能下降,同时保持高效的计算资源利用。
具体结构:
- 共享专家:模型中包含一定数量的共享专家,这些专家对所有token开放,适用于通用任务。
- 路由专家:每个token根据其输入动态选择一定数量的路由专家进行计算,专门处理某些类别的信息。
- Router:即路由,类似于门控,其决定哪些专家参与计算;每个token激活的路由专家数量由超参数控制,确保计算效率和负载均衡。

2.3 多Token预测
核心思想:扩展了传统的单Token预测任务,允许模型在每个位置预测多个未来的Token。这一方法提高了模型推理过程中的预测效率,同时也增强了模型对未来Token的预测能力。
具体步骤:
- 模块化设计:MTP通过多个模块实现,每个模块负责预测一个额外的Token。这些模块共享嵌入层和输出头,但各自包含一个Transformer块和一个投影矩阵。
- 因果链保持:在每个预测深度,MTP模块保持完整的因果链,确保预测的Token不会影响之前的预测。
- 训练目标:对于每个预测深度,MTP计算一个交叉熵损失,并将这些损失平均后乘以一个权重因子,作为整体的MTP损失。
- 推理优化:在推理阶段,MTP模块可以被丢弃,主模型可以独立运行,或者MTP模块可以用于推测解码以加速生成。

3.4 GRPO强化学习策略
核心思想:通过组内相对奖励来优化策略模型,而不是依赖传统的批评模型(critic model)。具体来说,GRPO 会在每个状态下采样一组动作,然后根据这些动作的相对表现来调整策略,而不是依赖一个单独的价值网络来估计每个动作的价值。
具体步骤:
- 采样动作组:对于每个输入提示,模型根据当前策略生成一组不同的输出。这些输出的多样性为后续的相对奖励计算提供了基础。
- 奖励评估:使用奖励模型对每个输出进行评分,这些评分可以基于任务的特定标准,如数学题的正确性、代码的可运行性等。核心点在于:使用的奖励模型是一个基于规则的奖励系统(准确性奖励+格式奖励),而不是一个预训练的深度学习模型。显著降低了计算和存储需求,提高了训练效率。
- 计算相对优势:将每个输出的奖励值进行归一化处理,得到相对优势。通过组内相对优势的计算,GRPO 减少了策略更新的方差,确保了更稳定的学习过程。
- KL散度:最后,使用相对优势更新策略;GRPO 引入了KL散度约束,能够更精细地控制策略更新的幅度,保持策略分布的稳定性。

三、2个重要思考
3.1 大规模强化学习
在后训练阶段,不一定需要用SFT作为初始步骤,通过纯强化学习的方式,也能到达不错的推理性能,DeepSeek-R1-Zero首次验证了这一路径。
- 直接在基础模型上应用 RL,而不依赖于有监督的微调(SFT)作为初步步骤。这种方法允许模型探索解决复杂问题的链式思考(CoT),从而开发出 DeepSeek-R1-Zero。DeepSeek-R1-Zero 展示了自我验证、反思和生成长链式思考的能力,这标志着研究社区的一个重要里程碑。值得注意的是,这是首次公开研究验证 LLMs 的推理能力可以通过纯 RL 激励,而无需 SFT。这一突破为该领域的未来发展铺平了道路。
- DeepSeek-R1 训练流程:该流程包含两个 RL 阶段,旨在发现改进的推理模式并与人类偏好对齐,以及两个 SFT 阶段,作为模型推理和非推理能力的种子。我们相信这一流程将有助于行业开发更好的模型。
3.2 蒸馏方法:小模型也可以很强大
大型模型的推理模式可以被蒸馏到小模型中,其表现优于通过在小模型上应用 RL 的效果。
- 证明了大型模型的推理模式可以被蒸馏到小模型中,其表现优于通过在小模型上应用 RL 发现的推理模式。开源的 DeepSeek-R1 及其 API 将有助于研究社区在未来蒸馏出更好的小模型。
- 使用 DeepSeek-R1 生成的推理数据,我们微调了研究社区广泛使用的几种密集模型。评估结果表明,蒸馏后的小型密集模型在基准测试中表现出色。例如,DeepSeek-R1-Distill-Qwen-7B 在 AIME 2024 上达到了 55.5%,超过了 QwQ-32B-Preview。此外,DeepSeek-R1-Distill-Qwen-32B 在 AIME 2024 上达到了 72.6%,在 MATH-500 上达到了 94.3%,在 LiveCodeBench 上达到了 57.2%。这些结果显著优于之前的开源模型,并且与 o1-mini 相当。我们开源了基于 Qwen2.5 和 Llama3 系列的 1.5B、7B、8B、14B、32B 和 70B 检查点,供社区使用。
相关文章:
【DeepSeek系列】05 DeepSeek核心算法改进点总结
文章目录 一、DeepSeek概要二、4个重要改进点2.1 多头潜在注意力2.2 混合专家模型MoE2.3 多Token预测3.4 GRPO强化学习策略 三、2个重要思考3.1 大规模强化学习3.2 蒸馏方法:小模型也可以很强大 一、DeepSeek概要 2024年~2025年初,DeepSeek …...
安装pointnet2-ops库
由于服务器没有连网,现在已在github中下载pointnet2_ops文件包并上传到服务器 (首先保证cuda版本和pytorch版本对应) 如何查找cuda的安装路径: 然后执行安装命令即可。...
DO-254航空标准飞行器电机控制器设计注意事项
DO-254航空标准飞行器电机控制器设计注意事项 1.核心要求1.1 设计保证等级(DAL)划分1.2生命周期管理1.3验证与确认2.电机控制器硬件设计的关键注意事项2.1需求管理与可追溯性2.2冗余与容错设计2.3验证与确认策略2.4元器件选型与管理2.5环境适应性设计2.6文档与配置管理3.应用…...
ABAP语言的动态程序
通过几个例子,由浅入深讲解 ABAP 动态编程。ABAP 动态编程主要通过 RTTS (Runtime Type Services) 来实现,包括 RTTI 和 RTTC: 运行时类型标识(RTTI) – 提供在运行时获取数据对象的类型定义的方法。运行时类型创建(R…...
开源电商项目、物联网项目、销售系统项目和社区团购项目
以下是推荐的开源电商项目、物联网项目、销售系统项目和社区团购项目,均使用Java开发,且无需付费,GitHub地址如下: ### 开源电商项目 1. **mall** GitHub地址:[https://github.com/macrozheng/mall](https://git…...
Docker教程(喂饭级!)
如果你有跨平台开发的需求,或者对每次在新机器上部署项目感到头疼,那么 Docker 是你的理想选择!Docker 通过容器化技术将应用程序与其运行环境隔离,实现快速部署和跨平台支持,极大地简化了开发和部署流程。本文详细介绍…...
HTML:自闭合标签简单介绍
1. 什么是自结束标签? 定义:自结束标签(Self-closing Tag)是指 不需要单独结束标签 的 HTML 标签,它们通过自身的语法结构闭合。语法形式: 在 HTML5 中:直接写作 <tag>,例如 …...
【和鲸社区获奖作品】内容平台数据分析报告
1.项目背景与目标 在社交和内容分享领域,某APP凭借笔记、视频等丰富的内容形式,逐渐吸引了大量用户。作为一个旨在提升用户互动和平台流量的分享平台,推荐算法成为其核心功能,通过精准推送内容,努力实现更高的点击率和…...
GitCode 助力 python-office:开启 Python 自动化办公新生态
项目仓库:https://gitcode.com/CoderWanFeng1/python-office 源于需求洞察,打造 Python 办公神器 项目作者程序员晚枫在运营拥有 14w 粉丝的 B 站账号 “Python 自动化办公社区” 时,敏锐察觉到非程序员群体对 Python 学习的强烈需求。在数字…...
超参数、网格搜索
一、超参数 超参数是在模型训练之前设置的,它们决定了训练过程的设置和模型的结构,因此被称为“超参数”。以KNN为例: 二、网格搜索 交叉验证(Cross-Validation)是在机器学习建立模型和验证模型参数时常用的方法&…...
or-tools编译命令自用备注
cmake .. -G "Visual Studio 17 2022" -A Win32 //vs2022 cmake .. -G "Visual Studio 15 2017" -A Win32 //vs2017 -DBUILD_DEPSON //联网下载 -DCMAKE_INSTALL_PREFIXinstall //带安装命令 -DCMAKE_CXX_FLAGS"/u…...
vulnhub靶场【kioptrix-4】靶机
前言 靶机:kioptrix-4,IP地址为192.168.1.75,后期IP地址为192.168.10.8 攻击:kali,IP地址为192.168.1.16,后期IP地址为192.168.10.6 都采用VMware虚拟机,网卡为桥接模式 这里的靶机…...
readline模块详解!!【Node.js】
“书到用时方恨少,事非经过不知难。” —— 陆游 目录 readline 是什么?基本用法:创建 Interface 类:核心流程: Interface 类的关键事件:line:close:pause:…...
软件测试的七大误区
随着软件测试对提高软件质量重要性的不断提高,软件测试也不断受到重视。但是,国内软件测试过程的不规范,重视开发和轻视测试的现象依旧存在。因此,对于软件测试的重要性、测试方法和测试过程等方面都存在很多不恰当的认识…...
【欢迎来到Git世界】Github入门
241227 241227 241227 Hello World 参考:Hello World - GitHub 文档. 1.创建存储库 r e p o s i t o r y repository repository(含README.md) 仓库名需与用户名一致。 选择公共。 选择使用Readme初始化此仓库。 2.何时用分支…...
解决 Ubuntu 24.04 虚拟机内无法ping 通 Hostname 的问题
问题背景 在 VMware 或 VirtualBox 中安装 Ubuntu 24.04 虚拟机时,遇到无法通过主机名(Hostname)进行网络通信的问题。例如,将虚拟机的主机名设置为 001,执行 ping 001 时返回 ping 0.0.0.1 并超时。此问题通常由 主机…...
给小白的oracle优化工具,了解一下
有时懒得分析或语句太长,可以尝试用oracle的dbms_sqldiag包进行sql优化, --How To Use DBMS_SQLDIAG To Diagnose Query Performance Issues (Doc ID 1386802.1) --诊断SQL 性能 SET ECHO ON SET LINESIZE 132 SET PAGESIZE 999 SET LONG 999999 SET SER…...
CT技术变迁史——CT是如何诞生的?
第一代CT(平移-旋转) X线球管为固定阳极,发射X线为直线笔形束,一个探测器,采用直线和旋转扫描相结合,即直线扫描后,旋转1次,再行直线扫描,旋转180完成一层面扫描,扫描时间3~6分钟。矩阵象素256256或320320。仅用于颅脑检查。 第二代CT (平移-旋转) 与第一代无质…...
【PHP脚本语言详解】为什么直接访问PHP文件会显示空白?从错误示例到正确执行!
前言 作为一名开发者,你是否曾经遇到过这样的问题:写了一个PHP脚本,放到服务器根目录后,直接通过file:///路径访问却显示空白页面?而换成http://localhost却能正常显示?这篇文章将带你深入理解PHP脚本语言…...
软件工程---需求工程
软件需求工程师发现、获取、组织、分析、编写和管理需求的系统方法,以使客户和项目组之间达成共识。 需求工程共包含五个步骤: 需求获取:对业务问题分析,与项目干系人沟通,以理解系统的目标、期望和约束,…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
