揭开DeepGEMM神秘面纱:深度学习领域的新突破即将改变游戏规则
2月26日更新,DeepSeek“开源周”活动进行到第3个阶段:发布了适用于稠密和混合专家模型(MoE)的FP8矩阵乘法(GEMM)库,旨在支持V3/R1模型的训练与推理需求。
在 Hopper GPU 上可实现高达 1350+ FP8 TFLOPS 性能
无复杂依赖,代码简洁如教程
完全采用即时编译技术(Just-In-Time)
核心代码仅约300行,在大部分矩阵尺寸下超越了专家优化的内核。
支持密集布局和两种 MoE 布局
附开源链接:https://github.com/deepseek-ai/DeepGEMM
官方介绍大意如下:
DeepGEMM是一款专为高效且清晰的FP8通用矩阵乘法(GEMM)设计的库,融合了DeepSeek-V3提出的精细缩放技术。它不仅支持标准的GEMM操作,还支持Mix-of-Experts (MoE) 分组GEMM。
该库采用CUDA技术开发,安装过程中无需预先编译任何组件。相反,它利用轻量级的即时编译(JIT)模块,在程序运行时动态生成所有的内核。这种设计不仅能够减少存储需求,还允许开发者针对特定硬件进行优化,从而提高性能。我认为这样的即时编译技术是一个非常聪明的设计选择,它使得库更加灵活且适应性强,能够在不同环境下实现最佳性能。
目前,DeepGEMM仅支持NVIDIA Hopper架构中的张量核心。为了解决FP8张量核心在累加过程中可能出现的精度问题,它采用了CUDA核心的两级累加机制来提升计算准确性。尽管DeepGEMM受到了CUTLASS和CuTe项目的一些启发,但它并没有完全依赖这些项目的模板或代数结构。这种方法不仅增强了算法的灵活性,还展示了在高性能计算领域内如何创新地解决现有技术局限性的潜力。 这种设计思路表明,在追求更高性能的同时,开发人员也在积极寻找解决方案以克服硬件带来的限制。这不仅是对现有技术的一次重要突破,也预示着未来可能有更多的软件创新来适应不断发展的硬件平台。这样的进展对于整个行业来说都是一个积极信号,意味着我们正朝着更加高效且准确的计算解决方案迈进。
DeepGEMM的设计十分精炼,其核心内核函数仅包含约300行代码,这使得它成为学习Hopper架构中的FP8矩阵乘法以及相关优化技术的理想选择。对于那些希望深入理解现代GPU计算和优化策略的开发者来说,这样的设计无疑提供了一个易于上手且高效的起点。 通过简化复杂的算法实现,DeepGEMM不仅降低了初学者的学习门槛,同时也为有经验的工程师提供了一个清晰透明的框架,以便于他们进一步探索和实验各种优化技巧。这样的设计思路体现了软件工程中的一个重要原则:简单性与可维护性并重。在当前快速发展的技术环境中,能够以简洁明了的方式表达复杂概念的工具,无疑会受到更多开发者的欢迎。
尽管采用了轻量级的设计,DeepGEMM在各种矩阵尺寸上的性能表现不仅能够媲美那些经过专家精心优化的库,甚至在某些情况下还超过了它们。这种突破性的进展表明,即使是在资源受限的环境中,我们也能期待看到高性能计算解决方案的进步。 这一成果令人振奋,因为它展示了通过创新算法设计,我们可以突破传统限制,实现更高效能的计算。这不仅对学术研究有重要意义,也意味着工业界可能很快就能获得更加灵活且高效的工具来应对复杂的计算任务。此外,这也预示着未来计算领域的更多可能性,可能会引发新一轮的技术革新。
我们在H800上,使用NVCC12.8对DeepSeek-V3/R1推理过程中可能涉及的各种矩阵形态(涵盖预填充和解码阶段,但不包含张量并行)进行了测试。所有加速效果均基于我们内部深度优化的CUTLASS3.6版本进行对比计算。
DeepGEMM在特定矩阵尺寸下性能表现较为逊色,我们诚邀感兴趣的开发者提交优化建议和代码补丁。
免责声明:本站所有文章来源于网络或投稿,如果任何问题,请联系648751016@qq.com
页面执行时间0.0077秒