DeepSeek开源DeepGEMM:高效 FP8 GEMM 核心与优化技术

devtools/2025/2/27 12:58:04/

 人工智能咨询培训老师叶梓 转载标明出处

想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具(限时免费)。

1小时实战课程,您将学习到如何轻松上手并有效利用 Llama Factory 来微调您的模型,以发挥其最大潜力。

CSDN教学平台录播地址:https://edu.csdn.net/course/detail/39987

更多分享,关注视频号:sphuYAMr0pGTk27  抖音号:44185842659

DeepSeek开源第三弹:DeepGEMM。 是一个专为 NVIDIA Hopper 架构设计的高效 FP8 GEMM(通用矩阵乘法)库,支持密集(dense)和混合专家(MoE)分组矩阵乘法运算。其核心代码仅约 300 行,但性能却优于专家调优的内核,是大模型训练和推理中加速矩阵运算的重要工具。

性能表现

DeepGEMM 在 Hopper 架构 GPU 上表现出色,计算性能最高可达 1350+ TFLOPS。其性能优势主要体现在以下几个方面:

1、普通矩阵乘法(非分组)
在标准矩阵乘法中,DeepGEMM 的加速比最高可达 2.7 倍,特别是在小批量数据处理(如 M=64 或 128)时表现尤为突出。例如,在矩阵形状为 64×2112×7168 的测试中,其计算性能达到 206 TFLOPS,内存带宽为 1688 GB/s。

2、混合专家模型(MoE)分组矩阵乘法
DeepGEMM 支持两种 MoE 布局:连续布局 和 掩码布局。在这些场景下,性能提升稳定在 1.1-1.2 倍。例如,在 4 组、每组 8192×4096×7168 的连续布局测试中,计算性能达到 1297 TFLOPS,内存带宽为 418 GB/s。

核心优化技术

DeepGEMM 的高性能得益于一系列先进的优化技术:

  1. 即时编译(JIT)设计
    DeepGEMM 采用完全即时编译技术,所有内核在运行时编译,无需安装时预编译。这种方法将矩阵形状、块大小等作为编译时常量,节省寄存器资源并为编译器提供更多优化机会。此外,JIT 设计还允许动态选择最优参数配置,特别适用于小规模矩阵。

  2. CUDA 核心两级累积
    为解决 FP8 张量核心累积精度不足的问题,DeepGEMM 引入了 CUDA 核心两级累积技术,确保计算结果的准确性。

  3. Hopper TMA 特性
    DeepGEMM 充分利用 Hopper 架构的 Tensor Memory Accelerator(TMA)特性,加速数据加载和存储。例如,通过 TMA 多播和描述符预取,进一步提升数据传输效率。

  4. 线程专业化与统一调度器
    DeepGEMM 采用线程专业化技术,将数据移动、核心计算和结果处理分配给不同的线程,形成高效的流水线。此外,其统一调度器结合光栅化技术,提升了 L2 缓存的复用率。

  5. 非标准块大小支持
    DeepGEMM 支持非标准块大小(如 112×128),以更好地适应特定矩阵形状,显著提高硬件资源利用率。

  6. 指令级优化
    DeepGEMM 在 SASS 汇编层面进行了优化,例如调整 FFMA 指令的交错模式,提升 warp 级别的并行度。

开发与使用

DeepGEMM 的开发环境要求包括支持 Hopper 架构的 GPU、CUDA 12.3 及以上版本(推荐 12.8)、PyTorch 2.1 及以上版本等。开发时需通过 Git 子模块克隆 CUTLASS 和 CuTe 等依赖,并运行以下命令完成开发环境搭建:

bash复制

git clone --recursive git@github.com:deepseek-ai/DeepGEMM.git
python setup.py develop

安装后,用户可在 Python 项目中直接导入 deep_gemm 模块使用。

DeepGEMM 以其简洁的设计、高性能表现和灵活的优化技术,成为大模型训练和推理中加速矩阵运算的有力工具。它不仅在性能上超越了传统优化库,还通过即时编译和细粒度缩放等技术,为用户提供了高效、易用的矩阵乘法解决方案。

https://github.com/deepseek-ai/DeepGEMM


http://www.ppmy.cn/devtools/163067.html

相关文章

kiln微调大模型-使用deepseek R1去训练一个你的具备推理能力的chatGPT 4o

前言 随着deepseek的爆火,对于LLM的各种内容也逐渐步入我的视野,我个人认为,可能未来很长一段时间,AI将持续爆火,进入一段时间的井喷期,AI也会慢慢的走入我们每个家庭之中,为我们的生活提供便利…

Linux 文件操作与 Socket 编程核心知识详解

Linux 文件操作与 Socket 编程核心知识详解 一、Linux 文件与 Socket 的统一性 1.1 核心设计理念 在 Linux 系统中,秉持"一切皆文件"的设计理念: 所有 I/O 设备(常规文件、网络 socket、外设等)均被抽象为文件统一通…

Java全流程供应链系统开源方案:前端后端分离

本系统包括前端、后端、数据大屏,数据结构和基础数据都是通过自研软件开发开发 高度可定制,增加、修改、屏蔽界面和后台功能不必更改生成代码,只是需要在custom层加入代码即可,看后文解释 以零售平台为核心开发,集成五流:信息流,商流,物流,资金流,人才流。 针对生鲜供…

计算机毕业设计Python农产品推荐系统 农产品爬虫 农产品可视化 农产品大数据(源码+LW文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

集合与反射

一、集合体系 集合一共分为两部分:Collection(单列集合)每个元素(数据)只包含一个值。 Map(双列集合)每个元素包含两个值(键值对)。 二、ArrayList和LinkedList的区别 数…

Windows docker下载minio出现“Using default tag: latestError response from daemon”

Windows docker下载minio出现 Using default tag: latest Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded 此类情况,一般为镜像地址问题。 {"registry-mirrors": ["https://docker.re…

物联网综合实训室建设方案的探讨(职业院校物联网综合实训室建设方案)

随着物联网技术的迅猛发展,社会对物联网人才的需求日益增加。为了满足这一需求,高校和职业院校纷纷开始建设物联网综合实训室,以培养具备实际操作能力和创新思维的高素质物联网人才。本文旨在探讨一种行之有效的物联网综合实训室建设方案&…

HAProxy高级功能及配置

目录 1、HAProxy高级功能及配置 基于cookie的会话保持 配置选项 配置示例 验证cookie信息 HAProxy状态页 状态页配置项 启用状态页 登录状态页 backend server信息 利用状态页实现haproxy服务器的健康性检查 IP透传 layer 4 与 layer 7 四层负载 七层代理 四层…