Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon 在DeepSeek-V3中使用FP8进行GEMM操作有什么好处


在DeepSeek-V3中使用FP8进行GEMM操作有什么好处


在DeepSeek-V3中使用FP8(8位浮点)作为一般矩阵乘法(GEMM)操作提供了一些重要好处,主要是在计算效率和内存节省方面。这是详细的优势:

1。计算效率:FP8操作与传统的FP16或FP32操作相比,计算速度大幅提高。具体而言,NVIDIA的张量芯可以以FP16速度进行FP8 GEMM操作,这加速了大型模型的整体训练过程,例如DeepSeek-V3 [3] [4]。

2。节省内存:与BF16相比,使用FP8将内存要求减少了一半,从而可以在相同的硬件约束中对更大和更深的模型进行培训。这对于需要大量内存资源的模型,使得可以开发更复杂的模型而无需其他硬件[3] [6]。

3。有效的通信:在分布式培训环境中,FP8减少了GPU之间数据传输所需的带宽,从而提高了同步效率并降低了通信开销。这对于通常依赖分布式计算设置的大规模AI模型至关重要[3]。

4。细颗粒量化:DeepSeek-V3采用细粒的量化策略来应对FP8有限的动态范围所带来的挑战。这涉及将元素分组到较小的瓷砖或块中并独立缩放它们,这有助于更好地处理异常值并保持数值稳定性[1] [2]。

5。累积精度的提高:减轻张量核心位的位宽度积累引起的错误,DeepSeek-V3在累积过程中以特定的间隔促进了FP32寄存器的部分结果。这提高了FP8 GEMM操作的精度,确保了FP8的益处在没有损害精度的情况下实现[1]。

6。统一的E4M3格式:与使用混合FP8格式的以前的方法不同,DeepSeek-V3普遍采用E4M3格式。这是通过其细粒度量化策略来促进的,该策略有效地在分组元素之间共享指数位,简化框架并提高准确性[1]。

7。在线量化:该模型在训练过程中对每个激活图或重量块动态计算缩放因子,从而消除了延迟量化方法的需求。通过适应实时数据特征,这简化了框架并提高了准确性[1]。

8。优化的库支持:DeepGemm的开发是一个优化的FP8 GEMM库,进一步提高了DeepSeek-V3中FP8操作的效率。 DeepGemm支持密集和MOE架构,以确保对大规模AI模型至关重要的有效矩阵计算[4] [7]。它利用时间(JIT)汇编和细粒度缩放来维持计算效率,同时最大程度地减少精度损失[4] [5]。

引用:
[1] https://community.aws/content/2rjj1wkztsfywvfsiibhwxeqmf1/four-unique-takeaweays-from-deepseek-v3?lang=en
[2] https://machinelearningatscale.substack.com/p/deepseek-v3-model
[3] https://fireworks.ai/blog/deepseek-model-architecture
[4] https://blog.aitoolhouse.com/deepseek-ai-releases-deepgemm-an-optimized-fp8-gemm-library-for-dense-dense-and-moe-compoart/
[5] https://www.reddit.com/r/localllama/comments/1iybcnl/deepseek_realse_3th_bomb_bomb_deepgemm_a_a_a_library_for/
[6] https://arxiv.org/html/2503.09975v1
[7] https://digialps.com/deepseek-ai-drops-deepgemm-an-fp8-gemm-library-that-that-that-that-powers-v3 and-r1-r1-ai-models/
[8] https://arxiv.org/pdf/2412.19437.pdf
[9] https://www.aibase.com/news/15722