在 DeepSeek 开源周 的第三天,DeepSeek 团队为大家带来了一个重磅开源项目——DeepGEMM。作为一款专为 DeepSeek-V3/R1 模型训练和推理设计的高效 FP8 矩阵运算库,DeepGEMM 不仅在性能上表现卓越,还在设计上保持了简洁与高效的平衡,为大规模 AI 模型的计算提供了强大支持。今天,我们将详细解读这一开源项目,探索它背后的技术创新与应用价值。
DeepSeek DeepGEMM
DeepGEMM 是一个针对 FP8 通用矩阵乘法(GEMM) 进行高度优化的开源库,特别适用于 DeepSeek-V3/R1 等大规模深度学习模型的训练与推理。随着人工智能模型参数的不断增长,尤其是 MoE(混合专家) 架构的广泛应用,矩阵计算的效率和精度成为了模型性能的关键因素。DeepGEMM 通过支持 FP8 精度计算,大幅提升了运算效率,并显著降低了显存占用和能耗,为大规模模型的推理和训练提供了有效的解决方案。
特点:
⚡ Hopper GPU 上最高可达 1350+ FP8 TFLOPS
✅没有过多的依赖,像教程一样简洁
✅完全即时编译
✅核心逻辑约为 300 行 - 但在大多数矩阵大小上均优于专家调优的内核
✅支持密集布局和两种 MoE 布局
整个库的核心内核函数只有约300行代码!
这让它成为学习Hopper FP8矩阵乘法和优化技术的绝佳资源。
设计轻量,性能却不含糊!
主要特点与技术亮点
1. 高性能计算
DeepGEMM 在 NVIDIA Hopper GPU 上能够实现高达 1350+ FP8 TFLOPS 的计算性能。这一性能对于大规模语言模型(如 DeepSeek-V3)在训练和推理过程中至关重要,能够显著提升计算速度,并有效降低训练时间。
2. 简洁高效的设计
DeepGEMM 的核心代码仅有约 300 行,这一设计使得它非常易于理解和维护。它采用了 即时编译(JIT) 技术,在运行时根据矩阵的大小动态生成优化后的内核。这样做的好处是,它可以适应多种矩阵形状和计算需求,而不需要提前进行繁琐的编译工作。
3. FP8 精度的优势
相比传统的 FP16 或 FP32 精度,FP8 可以大幅减少显存的占用和能耗。对于大规模模型,特别是参数量达到 数百亿 或 千亿 的模型,FP8 精度不仅能保证模型的计算性能,还能在显存和计算资源的利用上提供显著的优化。通过减少约 50% 的显存需求,DeepGEMM 能够有效支持大规模 AI 模型的推理和训练,降低了硬件资源的压力。
4. MoE 架构优化
DeepGEMM 专为 MoE(混合专家) 架构进行了优化。在 MoE 模型中,每次只激活部分专家网络,DeepGEMM 能够确保这一过程的低延迟和高吞吐量。并且,它支持 NVLink 和 RDMA 高效通信,能够实现计算和通信的重叠,从而提升了分布式训练的效率。对于大规模模型,尤其是 DeepSeek-V3 这样的模型,DeepGEMM 提供了高效的计算支持。
5. 核心内核函数的优化
DeepGEMM 避免了过多复杂的模板和代数依赖,采用了轻量级的设计方法,使得核心内核函数仅有约 300 行代码。这种简洁的设计,使得开发者更容易理解并进行进一步的优化,同时也确保了高效的运行性能。
6. 完全 JIT 设计
DeepGEMM 完全采用 即时编译(JIT) 技术,所有内核都在运行时根据矩阵形状、块大小和流水线阶段自动生成和优化。相比传统的编译方法,JIT 设计更加灵活,能够根据实际计算需求调整内核,提高计算效率并减少内存占用。
性能表现
DeepGEMM 在 Hopper GPU 上的表现极为优异,特别是在 DeepSeek-V3 和 R1 等大型 MoE 模型的推理过程中,能够显著提高计算速度和吞吐量。以下是 DeepGEMM 在不同矩阵形状下的性能数据,与传统的专家调优内核相比,DeepGEMM 提供了更高的性能表现。
DeepGEMM 在各种矩阵大小上表现优异,尤其在 DeepSeek-V3/R1 的预填充和解码阶段(无张量并行)。
OpenCSG 社区开源加速计划
作为OpenCSG社区的一部分,我们一直致力于为开发者提供优质的开源资源。此次DeepSeek的DeepEP项目已同步到OpenCSG社区,欢迎大家访问并使用该项目。
DeepGEMM项目原始GitHub地址:
https://github.com/deepseek-ai/DeepGEMM
OpenCSG社区同步的DeepGEMM项目地址:
https://opencsg.com/codes/deepseek-ai/DeepGEMM
如果您遇到网络问题无法快速访问GitHub,可以通过我们的服务轻松同步该项目,确保不受网络限制影响。
OpenCSG为您提供了DeepSeek R1和V3系列模型的万兆网络高速下载服务,帮助您快速获取所需模型,避免因文件过大造成下载困难。
DeepSeek R1下载:
https://opencsg.com/models/DeepseekAI/DeepSeek-R1
DeepSeek V3下载:
https://opencsg.com/models/deepseek-ai/DeepSeek-V3
同时,我们还提供了各种蒸馏版、量化版,您可以访问我们的awesome DeepSeek合集来找到最适合的模型版本。
awesome-deepseek-r1-collection:
https://opencsg.com/collections/85/
awesome-deepseek-v3-collection:
https://opencsg.com/collections/86/
awesome-deepseek-Janus-collection:
https://opencsg.com/collections/87/
开源狂欢 继续期待
DeepGEMM 不仅仅是一个高效的计算库,它是 DeepSeek 对开源社区的又一次诚意回馈。作为一款专为 FP8 矩阵乘法 设计的开源库,DeepGEMM 已在 DeepSeek-V3 和 R1 等超大规模模型的训练与推理中经过了严苛的生产级考验,表现出色,性能和质量完全不容小觑!
长期以来,AI 社区面临着高效矩阵运算的巨大挑战,尤其是在处理大规模模型和复杂计算时,传统的 FP16 或 FP32 精度往往无法满足需求。而 DeepGEMM 的横空出世,为这些难题提供了完美的解决方案。它通过支持 FP8 精度计算,不仅显著提升了计算效率,还大幅降低了显存和能耗,为大规模 MoE 架构 的训练和推理提供了强有力的技术支持。
更为重要的是,随着 DeepGEMM 的开源,社区和企业用户能够迅速搭载这一强大的计算库,推动 DeepSeek-V3 和 R1 等大型模型的广泛应用,进一步加速 AI 技术在各个领域的普及和落地。
未来,DeepGEMM 的广泛使用有望引领更多创新,推动 AI 技术的 民主化,为更多开发者和企业提供高效、低成本的解决方案。
OpenAI 社区与您同行 🤝
OpenAI 社区 将继续关注并为您带来 DeepSeek 的最新开源成果,让我们共同期待更多激动人心的技术创新!