DeepSeek开源DeepGEMM:有哪些技术亮点?

news/2025/3/1 11:20:39/文章来源:https://www.cnblogs.com/java-ye/p/18738823

近日,DeepSeek再次凭借开源举措惊艳众人,其发布的DeepGEMM,一款开源的FP8通用矩阵乘法库,为AI算力提升开辟了新路径。这已经是他们开源周的第三个项目,前两个是FlashMLA和DeepEP,各有千秋,但DeepGEMM,在我看来,才是真正捅破窗户纸的那一个。

本文将深入剖析DeepGEMM的技术亮点、创新思路以及它对AI行业的深远影响。

更多好文请关注我的博客:https://www.panziye.com/

DeepGEMM:打破AI算力“天花板”的利器

以往,大家普遍认为提升AI算力主要依赖硬件升级,面对英伟达GPU缓慢的升级节奏,众多开发者和企业也只能无奈接受。但DeepSeek推出的DeepGEMM却打破了这一固有认知,它证明了软件在挖掘算力潜力方面同样大有可为。

DeepGEMM的核心代码仅有300行,与动辄几十万行代码的CUDA库相比,简直是“小巫见大巫”。然而,其性能表现却令人惊叹。根据官方数据,在Hopper GPU上,它的FP8算力能达到1350+ TFLOPS,在某些场景下,甚至比经过专家调优的CUTLASS还要快2.7倍。这意味着用更少的代码实现了更强的性能,堪称一场效率革命。

 

DeepGEMM的技术“秘籍”

(一)极致“抠门”,挖掘硬件潜能

DeepGEMM的设计理念可以用“极致抠门”来形容,它致力于挖掘硬件的每一丝潜能,去除每一行代码的冗余,降低每一分钱的训练成本。

其中,FP8八位浮点格式是其一大“法宝”。FP8虽然精度相对较低,但它的优势在于运算速度快,还能节省显存,这对于大规模的AI训练至关重要。DeepSeek V3能够将训练成本压低至557万美元,FP8功不可没。不过,FP8精度低的问题也很明显,计算次数多了容易出现错误。DeepGEMM采用了两级累加的方法来解决这一难题:利用张量核心进行FP8计算,再通过CUDA核心以FP32格式进行累加,从而有效提升了计算精度,这种方法简单直接却十分有效。

 

(二)JIT编译:“量体裁衣”式的优化

JIT即时编译技术也是DeepGEMM的一大亮点。传统的计算库通常是预先编译好的,虽然通用性强,但在优化方面存在不足。DeepGEMM则反其道而行之,采用运行时编译的方式。它会根据矩阵的形状以及硬件环境,为每一次计算“量身定制”内核,就好比裁缝根据每个人的身材制作合身的衣服。在小矩阵场景下,这种优化方式带来的性能提升最高可达2.7倍,充分展现了JIT编译的优势,也为未来的计算库优化指明了方向。

(三)巧用TMA:榨干数据带宽

TMA(Tensor Memory Accelerator)是Hopper架构的一项强大技术,DeepGEMM将其运用到了极致。通过各种数据搬运、多播和预取操作,DeepGEMM尽可能地榨干数据带宽,减少计算延迟,就像经验丰富的老司机开车,充分利用每一份动力,实现高效运行。

(四)优化MoE:适配大模型需求

如今,大模型纷纷采用混合专家模型(MoE),参数量不断增加,对算力的需求也越来越高。DeepGEMM针对MoE的分组GEMM进行了专门优化,考虑到了连续布局、掩码布局等各种场景,就如同厨师精心搭配食材,满足不同“口味”的需求,为大模型训练提供了有力支持。

DeepGEMM对AI行业的影响

与英伟达强大但复杂的CUTLASS相比,DeepGEMM以简洁为原则,其代码就像教程一样通俗易懂,大大降低了开发者的使用门槛。这不仅体现了开源的价值,让更多人能够参与到AI技术的发展中来,还有望成为新的行业标准。

 

从商业角度来看,DeepSeek在API开始收费的同时开源DeepGEMM,这更像是精心布局的战略。通过开源底层技术,吸引大量开发者,构建活跃的生态系统,然后借助API服务实现盈利。这种模式在互联网领域早已屡见不鲜,但在AI领域却颇具创新性,有望打破AI基础设施市场的巨头垄断格局。

不得不说,DeepSeek的这一系列动作,让人们看到了顶尖数学家在AI技术创新中的关键作用。在未来的AI发展中,顶尖数学家或许比顶尖显卡更具战略价值,他们将引领AI技术走向新的高度。

推荐大家使用程序员导航网:https://hao.panziye.com/

DeepSeek开源DeepGEMM这一举措意义重大,对AI开发者、企业,甚至整个行业的发展,都带来了新的机遇和思考。期待未来能看到更多基于DeepGEMM的创新应用,推动AI技术迈向新的阶段。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/891492.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Maple2023软件下载与安装教程

【Maple2023软件下载与安装教程】 1、安装包 扫描下方二维码关注「软知社」,后台回复【032】三位数字即可免费获取分享链接,无广告拒绝套路; 2、安装教程双击setup-windows.exe安装,弹窗安装对话框默认英语版本,点击下一步点击下一步选择I accept ,点击Next选择安装路径…

Lambda表达式的省略规则--java进阶day03

1.省略规则2.流程讲解 主方法中调用useStringhandler,该方法的形参是接口,所以我们要给实现类对象,这里我们使用匿名内部类 use...方法进栈,形参也是变量,接收到匿名内部类(如下图),相当于创建出接口对象,并且重写了方法,最后调用方法3.规则讲解 清楚了流程后,我们以…

记录win11安装CH341A驱动

在网上下载驱动包,打开setup.exe,点击安装插上编程器之后,打开设备管理器,找到设备,右击设备->属性->更新驱动程序->浏览我的电脑查找驱动程序->让我从计算机上的可用驱动程序列表中选取->端口(COM和LPT)->厂商选wch->选型号 选择完后,打开window…

陪玩程序源码,微信小程序中支付的实现

陪玩程序源码,微信小程序中支付的实现调用微信小程序支付需要携带以下几个参数,支付成功后在success成功的回调内做对应操作示例代码wx.requestPayment({timeStamp: 1414561699, // 时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间nonceStr: xxxxxx, //…

20250301 周末总结

1. 烧碱 无疑周初能否结束四浪回调 再次走出一波上涨突破2930才是有意义的。 非三即C 后市由心底的可能性还是较大 突破2930后 后市回调后会有一波涨势

Leetcode P2 两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 1:输入:l1 = [2,4,3], l2 = [5…

CH585NFC调试分享

沁恒推出了一款带有NFC的低功耗蓝牙芯片,在这里分享一些笔者调试的一些记录和经验。 沁恒在对应的例程中提供了PDF设计说明文档。虽然有文档但是仍然需要自己多去调试测试才能总结经验教训。 一、NFC天线的绘制要求PCB线圈的长宽视具体情况而定,如果电路板不受模具限制可设计…

PAT甲级——1050 String Subtraction——分数 20

解法1 #include <iostream> using namespace std; int main() {bool marked[256] = {false}; // 标记需要删除的字符string s1, s2;getline(cin, s1);getline(cin, s2);for (char c : s2) {marked[c] = true; // 若char c = a,则等价于 marked[97] = true}string resul…

Lambda表达式--java进阶day03

1.Lambda表达式2.Lambda表达式格式 ()放我们要重写的方法的形参,{}放我们要写的逻辑show()没有形参,所以空着,我们将打印语句写入{}中如图,匿名内部类和Lambda都出现了结果3.不是所有的匿名内部类都可以用Lambda简化Lambda只能简化函数式接口(也就是只存在一个抽象方法…

解决跨域问题的这6种方案,真香!

1 什么事跨域问题? 很多小伙伴第一次遇到跨域问题,大概率会一脸懵逼:“我后端接口明明通了,Postman也能调,为啥浏览器就报红字?”其实这事儿得怪浏览器的“同源策略”(Same-Origin Policy)。 简单说,浏览器觉得“不同源的请求都是耍流氓”。 比如你的前端跑在http://l…

PyTorch内存优化的10种策略总结:在有限资源环境下高效训练模型

在大规模深度学习模型训练过程中,GPU内存容量往往成为制约因素,尤其是在训练大型语言模型(LLM)和视觉Transformer等现代架构时。由于大多数研究者和开发者无法使用配备海量GPU内存的高端计算集群,因此掌握有效的内存优化技术变得尤为关键。本文将系统性地介绍多种内存优化策…