DeepSeek开源第三弹:V3/R1训练推理关键秘籍,核心代码仅300行
创始人
2025-02-26 11:20:21
0

金磊 发自 凹非寺

量子位 | 公众号 QbitAI

开源周的第三天, DeepSeek把训练推理V3/R1背后的“动力”给亮出来了——

DeepGEMM:一个FP8 GEMM(通用矩阵乘法)库,支持密集(dense)和混合专家(MoE)矩阵乘法运算。

我们先来简单了解一下GEMM。

GEMM,即通用矩阵乘法,是线性代数中的基本运算,是科学计算、机器学习、深度学习等领域中“常客”,也是许多高性能计算任务的核心。

但由于它的计算量往往都比较大,所以GEMM的性能优化是至关重要的一点。

而DeepSeek这次开源的DeepGEMM,依旧是保持了 “高性能+低成本”的特性,亮点如下:

  • 高性能:在Hopper架构的GPU上,DeepGEMM能够实现高达1350+FP8 TFLOPS的性能。

  • 简洁性:核心逻辑仅约 300 行代码,但性能却优于专家调优的内核。

  • 即时编译(JIT):采用完全即时编译的方式,这意味着它可以在运行时动态生成优化的代码,从而适应不同的硬件和矩阵大小。

  • 无重依赖:这个库设计得非常轻量级,没有复杂的依赖关系,可以让部署和使用变得简单。

  • 支持多种矩阵布局:支持密集矩阵布局和两种 MoE 布局,这使得它能够适应不同的应用场景,包括但不限于深度学习中的混合专家模型。

简单来说,DeepGEMM主要用于加速深度学习中的矩阵运算,特别是在大规模模型训练和推理中,它特别适用于需要高效计算资源的场景,能够显著提升计算效率。

很多网友们对这次的开源都比较“买单”,有人将DeepGEMM比作数学界的超级英雄,认为它比飞快的计算器还要快,比多项式方程还要强大。

也有人将DeepGEMM的发布比喻为量子态稳定到一个新的现实,称赞其即时编译的干净利落。

当然……也有人开始担心起自己手上的英伟达股票了……

深入了解DeepGEMM

DeepGEMM是一个专门为实现简洁高效的FP8通用矩阵乘法(GEMMs)而打造的库,它还具备细粒度缩放功能,这一设计源于DeepSeek V3。

它既能处理普通的通用矩阵乘法,也能支持MoE分组的通用矩阵乘法。

这个库是用CUDA编写的,安装的时候不需要编译,因为它会在运行时通过一个轻量级的即时编译(JIT)模块来编译所有的内核程序。

目前,DeepGEMM只支持英伟达的Hopper张量核心。

为了解决FP8张量核心在计算累积时不够精确的问题,它采用了CUDA核心的两级累积(提升)方法。

虽然DeepGEMM借鉴了CUTLASS和CuTe里的一些理念,但并没有过度依赖它们的模板或代数运算。

相反,这个库设计得很简洁,只有一个核心内核函数,代码量大概300行左右。

这使得它成为一个简洁易懂的资源,方便大家学习Hopper架构下的FP8矩阵乘法和优化技术。

尽管其设计轻巧,但DeepGEMM的性能可以匹配或超过各种矩阵形状的专家调优库。

那么具体性能如何呢?

团队在H800上使用NVCC 12.8测试了DeepSeek-V3/R1推理中可能使用的所有形状(包括预填充和解码,但没有张量并行)。

下面这张图展示的是用于密集模型的普通DeepGEMM的性能:

从测试结果来看,DeepGEMM 计算性能最高可达1358 TFLOPS, 内存宽带最高可达2668 GB/s。

加速比方面,与基于CUTLASS 3.6的优化实现相比,最高可达2.7倍。

再来看下DeepGEMM支持MoE模型的 连续布局(contiguous layout)的性能:

以及支持MoE模型 掩码布局(masked layout)的性能是这样的:

如何使用?

要想使用DeepGEMM,需先注意一下几个 依赖项,包括:

  • 必须支持Hopper架构的GPU,sm_90a。

  • Python 3.8及以上。

  • CUDA 12.3及以上(推荐12.8)。

  • PyTorch 2.1及以上。

  • CUTLASS 3.6及以上

Development代码如下:

# Submodule must be cloned gitclone --recursive git@github.com:deepseek-ai/DeepGEMM.git

# Make symbolic links for third-party (CUTLASS and CuTe) include directoriespythonsetup.py develop

# Test JIT compilationpythontests/test_jit.py

# Test all GEMM implements (normal, contiguous-grouped and masked-grouped)pythontests/test_core.py

安装代码如下:

pythonsetup.pyinstall

在上述步骤之后,您的Python项目中导入deep_gemm即可。

接口方面,对于普通的DeepGEMM,可调用deep_gemm.gemm_fp8_fp8_bf16_nt函数,支持NT格式(非转置LHS和转置RHS)。

对于分组的DeepGEMM,连续布局情况下是m_grouped_gemm_fp8_fp8_bf16_nt_contiguous;掩码布局情况下是m_grouped_gemm_fp8_fp8_bf16_nt_masked。

DeepGEMM还提供设置最大SM数量、获取TMA对齐大小等工具函数;支持环境变量,如DG_NVCC_COMPILER、DG_JIT_DEBUG等。

除此之外,DeepSeek团队还提供了几种 优化的方式,包括:

  • JIT设计:所有内核在运行时编译,无需安装时编译;支持动态选择最优块大小和流水线阶段。

  • 细粒度缩放:通过CUDA核心两层累加解决FP8精度问题;支持非2的幂次方块大小,优化SM利用率。

  • FFMA SASS交错:通过修改SASS指令的yield和reuse位,提高性能。

感兴趣的小伙伴可以戳文末GitHub链接查看详情哦~

One More Thing

英伟达这几天的股票……嗯……一直再跌:

不过在北京时间27日凌晨,英伟达2025财年第四季度业绩报告也即将出炉,我们可以期待一下它的表现~

扫码备注「DeepSeek-职业/姓名」加入群聊,一起追踪DeepSeek开源周!

DeepGEMM GitHub入口:

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

评选报名2025年值得关注的AIGC企业&产品

下一个AI“国产之光”将会是谁?

本次评选结果将于4月中国AIGC产业峰会上公布,欢迎参与!

相关内容

马斯克再提美国建新政党:一...
在美国总统特朗普7月4日将“大而美”法案签署成法的几个小时前,特朗...
2025-07-05 22:42:14
“AI搜索功能很强大,但我...
这要命的幻觉率! 听筒Tech(ID:tingtongtech)原...
2025-07-04 21:42:16
阿里通义团队:AI如何理解...
在日常生活中,我们经常能从一个眼神、一句话的语调或是一个细微的表情...
2025-07-04 06:41:05
计算架构,行业AI竞争的下...
2025-07-03 16:25:26 作者:狼叫兽 当Dee...
2025-07-03 17:42:01
百度的AI为什么没人用,中...
牛文文 创业黑马集团董事长&创始人 AI, 第一个颠覆就是搜索。 ...
2025-07-03 17:12:38
AI投资从叙事博弈走向产业...
□徐兵 上半年,AI行情上演了一场典型的资本“冷热交替”。一季度,...
2025-07-03 08:11:36

热门资讯

原创 2... #春日生活好物种草季#近年来,笔记本电脑市场迎来技术爆发期,尤其在手机厂商跨界入局后,轻薄本在性能、...
AMD锐龙AI 9 HX 37... 2024年6月3日,AMD正式发布全新的锐龙AI 300系列处理器。该系列处理器一经发布就引发大家的...
骁龙本这么猛?联想YOGA A... 在人人都是自媒体的时代,一部手机可以解决出镜拍摄问题,而商务出差、大量码字、图像处理等需求用笔记本则...
5个AI模特生成软件推荐 当前AI模特生成软件市场提供了多样化的解决方案,以下是几款备受推崇的工具: 触站AI:强烈推荐!...
2023年CentOS与Ubu... CentOS与Ubuntu的市场格局与技术特性探讨 在服务器操作系统领域,CentOS与Ubuntu...
苹果macOS 15.1:允许... 苹果公司在其最新的macOS 15.1版本中,推出了一项引人注目的新功能——允许用户将Mac App...
原创 苹... 前言 IQUNIX在做好看的桌面产品上,一直都给我留下非常深刻的印象。而且早期和苹果产品的设计风格...
原创 华... 想在竞争残酷的市场中发力,必须要带来一些激进的卖点,但是随着功能特性的提升,硬件也必须要进行给力才可...
原创 华... 在2024年这个被誉为"AI元年"的关键时刻,随着生成式AI的流行,各家手机厂商都在积极备战AI手机...