【DeepSeek系列】05 DeepSeek核心算法改进点总结

news/2025/2/26 6:00:07

文章目录

    • 一、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 检查点,供社区使用。

http://www.niftyadmin.cn/n/5868130.html

相关文章

ROS 2机器人开发--话题通信实战--制作一个可视化系统状态监听工具

1 准备工作 2 自定义通信接口 3 系统信息获取与发布 4 测试QT 5 数据可视化显示 1 准备工作 需求分析:开发一个基于ROS 2话题通信的系统状态监听工具,能够实时获取系统(如CPU、内存、网络等)的运行状态,并通过可视…

powershell:报错npm : 无法加载文件 D:\develop\nodejs\npm.ps1,因为在此系统上禁止运行脚本

问题 原因分析 由于 ​PowerShell 的执行策略(Execution Policy)​​ 限制导致的。Windows 系统默认禁止运行未签名的脚本(包括 npm 脚本),因此运行 npm run dev 时,PowerShell 阻止了脚本的执行。 解决…

玩转Docker | 使用Docker部署IT-tools工具箱

玩转Docker | 使用Docker部署IT-tools工具箱 前言一、 IT-tools介绍简介主要特点二、系统要求环境要求环境检查Docker版本检查检查操作系统版本三、部署IT-tools服务下载镜像创建容器检查容器状态检查服务端口安全设置四、访问IT-tools应用五、测试与使用六、总结前言 在信息技…

Maven 依赖的深入理解(二)

四、Maven 依赖传递原理 (一)传递依赖的概念 在 Maven 项目中,传递依赖是一个非常重要的特性。它指的是当项目引入一个依赖时,这个依赖所依赖的其他组件库也会被 Maven 自动引入到项目中,而无需我们在项目的pom.xml文…

​Linux 服务器上部署搭建 Jupyter notebook【详细教程】​

安装anaconda3 一、linux服务器手动安装Anaconda3教程 1.首先清华镜像站 下载anaconda3。 此次下载的版本如下: 2.下载好后,使用WinSCP将下载好的文件上传到服务器。 3.切换到anaconda3所在文件位置 在文件目录下执行 bash Anaconda3-5.2.0-Linux-x8…

AI领域风云变幻:Deepseek爆火现象深度解析

摘要 神州数码集团首席AI专家谢国斌深入分析了Deepseek爆火背后的现象,揭示了AI领域竞争格局的深刻变革。随着算力内卷加剧,AI企业正面临前所未有的挑战与机遇。谢国斌指出,Deepseek的成功不仅在于其强大的算法和数据处理能力,更在…

猿大师播放器:网页内嵌VLC/FFPlayer在Web端直接播放RTSP/RTMP/H.265视频流

据统计,2024年中国视频转码服务器市场规模已突破百亿,但企业IT投入中约40%用于转码服务器的采购与维护,消防、安防等场景对实时性的严苛要求(如火灾预警需秒级响应),使得传统转码方案因延迟过高而屡屡失效&…

Python生成器250224

是由函数与yield关键字创造出来的写法,在特定情况下,可以帮助我们节省内存执行一个生成器函数,函数体代码不会运行,会返回一个生成器对象要想执行函数体内容,就需要使用这个生成器对象来执行 def func():print(123)yi…