DeepSeek开源DeepGEMM:300行代码实现高性能FP8矩阵乘法,支持V3/R1训练推理

DeepSeek开源300行代码的FP8矩阵乘法库DeepGEMM,支持V3/R1,性能比肩专家调优,R2或于5月前发布。

原文标题:DeepSeek开源通用矩阵乘法库,300行代码加速V3、R1,R2被曝五月前问世

原文作者:机器之心

冷月清谈:

DeepSeek开源了名为DeepGEMM的FP8通用矩阵乘法库,该库支持密集型和专家混合(MoE)GEMM,并针对英伟达Hopper GPU进行了优化,可实现1350+ FP8 TFLOPS的计算性能。DeepGEMM采用CUDA编写,仅包含约300行核心代码,通过JIT模块在运行时编译内核,避免了复杂的编译过程。它利用两级累加机制解决了FP8张量核心累加不精确的问题,并在各种矩阵形状上实现了与专家调优库相当甚至更优的性能。DeepGEMM已在DeepSeek-V3/R1推理中得到应用,相比CUTLASS 3.6,最高可实现2.7倍加速。此外,有消息称DeepSeek计划在5月前发布下一代R2模型,该模型将拥有更强的代码生成能力和多语言推理能力。

怜星夜思:

1、DeepGEMM只用了300行代码就达到了如此高的性能,这是否意味着代码量和性能之间并非简单的线性关系?
2、DeepGEMM主要针对Hopper架构,它是否可以适配其他架构的GPU,比如Ampere或者Lovelace?
3、DeepSeek接连开源多个项目和即将发布的R2模型,这是否意味着国内的开源生态和AI大模型领域正在快速追赶?

原文内容

机器之心报道

机器之心编辑部
适用于常规 AI 模型和 MoE。


DeepSeek 的开源周已经进行到了第三天(前两天报道见文末「相关阅读」)。今天开源的项目名叫 DeepGEMM,是一款支持密集型和专家混合(MoE)GEMM 的 FP8 GEMM 库,为 V3/R1 的训练和推理提供了支持,在 Hopper GPU 上可以达到 1350+ FP8 TFLOPS 的计算性能。


具体来说,DeepGEMM 是一个旨在实现简洁高效的 FP8 通用矩阵乘法(GEMM)的库,它采用了 DeepSeek-V3 中提出的细粒度 scaling 技术。该库支持普通 GEMM 以及专家混合(MoE)分组 GEMM。该库采用 CUDA 编写,在安装过程中无需编译,而是通过一个轻量级的 Just-In-Time(JIT)模块在运行时编译所有内核。

目前,DeepGEMM 仅支持英伟达 Hopper 张量核心。为了解决 FP8 张量核心累加不精确的问题,它采用了 CUDA 核心的两级累加(提升)机制。尽管它借鉴了 CUTLASS 和 CuTe 的一些概念,但避免了对其模板或代数的重度依赖。相反,该库的设计注重简洁性,仅包含一个核心内核函数,代码量仅为 300 行。这使其成为学习 Hopper FP8 矩阵乘法和优化技术的一个简洁且易于获取的资源。

尽管设计轻量,DeepGEMM 在各种矩阵形状上的性能与专家调优的库相当,甚至在某些情况下更优。


开源地址:https://github.com/deepseek-ai/DeepGEMM

早期试用者评价说,「DeepGEMM 听起来就像是数学界的超级英雄。它比高速计算器还快,比多项式方程还强大。我试着用了一下,现在我的 GPU 都在炫耀它的 1350+ TFLOPS,仿佛已经准备好参加 AI 奥赛了!」


这个计算性能如果加上高质量的数据,没准儿能贡献更大的惊喜?  


除了性能,「300 行代码的性能超越了专家调优的内核」同样让不少人感到惊讶,有人认为「要么 DeepSeek 破解了 GPU 矩阵的奥秘,要么我们刚刚见证了最高等级的编译器魔法。」


看来,DeepSeek 团队里有一批掌握编译器神秘技巧的顶级 GPU 工程师。


还有人评价说,「DeepGEMM 正在改变我们使用 FP8 GEMM 库的方式,它简洁、快速且开源。这正是 AI 计算的未来。」


在项目的贡献者列表中,有人发现了一个姓 Liang 的工程师,难道是 DeepSeek 创始人梁文锋(真实性有待考证)?   


性能

DeepSeek 在 H800 上使用 NVCC 12.8 测试了 DeepSeek-V3/R1 推理中可能使用的所有形状(包括预填充和解码,但不包括张量并行),最高可以实现 2.7 倍加速。所有加速指标均基于内部精心优化的 CUTLASS 3.6 实现。

但根据项目介绍,DeepGEMM 在某些形状上表现不佳。




快速启动

首先需要这些配置

  • Hopper 架构的 GPU,必须支持 sm_90a;
  • Python 3.8 或更高版本;
  • CUDA 12.3 或更高版本,但为了获得最佳性能,DeepSeek 强烈推荐使用 12.8 或更高版本;
  • PyTorch 2.1 或更高版本;
  • CUTLASS 3.6 或更高版本(可通过 Git 子模块克隆)。

配置完成后,就是部署:

# Submodule must be cloned
git clone --recursive [email protected]:deepseek-ai/DeepGEMM.git
# Make symbolic links for third-party (CUTLASS and CuTe) include directories
python setup.py develop
# Test JIT compilation
python tests/test_jit.py
# Test all GEMM implements (normal, contiguous-grouped and masked-grouped)
python tests/test_core.py

然后是安装:

python setup.py install

最后在你的 Python 项目中导入 deep_gem,就可以使用了。

更多信息请参见 GitHub 开源库。

路透社:DeepSeek R2 大模型又提前了,5 月之前发布

就在 DeepSeek 紧锣密鼓地开源的同时,人们也在四处探寻该公司下一代大模型的信息。昨天晚上,路透社突然爆料说 DeepSeek 可能会在 5 月之前发布下一代 R2 模型,引发了关注。


据多位知情人士透露,DeepSeek 正在加速推出 R1 强推理大模型的后续版本。其中有两人表示,DeepSeek 原本计划在 5 月初发布 R2,但现在希望尽早发布。DeepSeek 希望新模型拥有更强大的代码生成能力,并能够推理除英语以外的语言。

可见在 Grok 3、Claude 3.7、Qwen 2.5-Max 等竞品面世之后,DeepSeek 又加快了技术演进的步伐。

值得一提的是,媒体也介绍了该公司的一些情况。DeepSeek 在北京开设的办公室距离清华、北大很近(步行可至)。据两名前员工称,梁文锋经常会与工程师们深入研究技术细节,并乐于与实习生、应届毕业生一起工作。他们还描述了通常在协作氛围中每天工作八小时的情况。

据三位了解 DeepSeek 薪酬情况的人士称,这幻方量化与 DeepSeek 都以薪酬丰厚而闻名。有人表示在幻方的高级数据科学家年薪 150 万元人民币并不罕见,而竞争对手的薪酬很少超过 80 万元。

幻方是 AI 交易的早期先驱,一位该公司高管早在 2020 年表示将「All in」人工智能,将公司 70% 的收入投资于人工智能研究。该公司在 2020 年和 2021 年斥资 12 亿元人民币建设了两个超级计算 AI 集群。第二个集群 Fire-Flyer II 由约一万块英伟达 A100 芯片组成,主要用于训练 AI 模型。

在 DeepSeek V3、R1 模型推出之后,全世界对于 AI 技术的期待已经进入了高点。科技公司都在消化 DeepSeek 提出的新技术,修正发展方向,消费者们则纷纷开始尝试各类生成式 AI 应用。

或许下一次 DeepSeek 的发布,会是 AI 行业的又一次关键时刻。

相关阅读:

  • 《》
  • 《》

参考内容:
https://www.reuters.com/technology/artificial-intelligence/deepseek-rushes-launch-new-ai-model-china-goes-all-2025-02-25/

© THE END 
转载请联系本公众号获得授权
投稿或寻求报道:[email protected]

我觉得更重要的是代码质量,而不是数量。DeepGEMM 应该是在算法和硬件理解上做了深度优化,才能用少量的代码达到高性能。这就像武侠小说里说的“以少胜多,贵精不贵多”。

追赶是肯定的,但也要看到差距。国外在大模型领域的研究和应用都比较成熟,国内还有很多需要学习和改进的地方。

目前DeepGEMM只支持Hopper,文章里也提到了。适配其他架构肯定需要修改代码,重新编译优化。不知道DeepSeek有没有这方面的计划。

DeepSeek 的开源和快速迭代确实展现了国内 AI 实力的提升。不过,要说到“快速追赶”,还需要看长期发展,包括社区的活跃度,以及实际应用落地的情况。

其他架构的GPU和Hopper的架构不同,指令集也不一样,直接移植肯定不行。如果要适配,可能需要对核心代码进行重写,工作量应该不小。

开源只是第一步,更重要的是后续的维护和社区的贡献。国内的开源生态还需要更多像 DeepSeek 这样的企业和开发者共同努力。

代码量和性能的关系确实不是线性的。DeepGEMM 的例子表明,高效的算法和精巧的设计可以以更少的代码实现更高的性能。很多时候,冗余的代码反而会降低性能。

可以关注DeepSeek的GitHub,看看有没有相关的issue或者讨论。说不定以后会支持其他架构,或者有社区开发者贡献适配代码。

肯定不是线性关系啊,代码行数少但每行代码背后可能隐藏着大量的优化工作,就像压缩文件一样,体积小了,但信息量没变甚至更大。