谈谈DeepSeek-v3在算力约束下的出色工作


在所有人追求更大规模集群的时候, Deepseek这样的工作只有一个词评价: Respect!

谈谈DeepSeek-v3在算力约束下的出色工作

原标题:谈谈DeepSeek-v3在算力约束下的出色工作
文章来源:智猩猩GenAI
内容字数:13634字

DeepSeek-v3: 高效能大模型训练推理的突破

本文分析了DeepSeek-v3 (DSv3) 671B参数大型语言模型,它仅使用2048块H800 GPU就超越了Meta使用16384块H100训练的Llama 3 405B模型,展现了在模型训练和推理方面的显著效率提升。文章重点关注其架构创新、并行策略以及对未来硬件设计的建议

1. DeepSeek-v3 模型概述

1.1 模型结构:DSv3采用MLA和DeepSeekMoE架构,Hidden Dim为7168,attention heads为128,模型层数为61层。MoE层包含一个共享专家和256个路由专家,每个Token激活8个专家,并确保Token仅被路由到4个节点。 创新之处在于引入了Auxiliary-Loss-Free Load Balancing和Multi-Token Prediction (MTP),MTP模块通过预测额外的Token来提高数据使用效率,类似于CPU分支预测器,提升了模型的推理能力。

1.2 训练并行策略:DSv3使用自研的HAI-LLM框架,采用PP=16,EP=64的并行策略,并结合ZeRO-1 Offload和内存优化,巧妙地避开了对NVLink带宽的依赖。 DualPipe算法实现了计算和通信的重叠,减少了PP中的“气泡”,显著提升了效率。针对跨节点All-to-All通信也进行了细致优化。

1.3 并行推理策略:DSv3采用PD分离策略,在Attention计算部分使用TP4+SP结合DP8,在MoE层使用EP=32,并通过Redundant Experts策略来平衡负载。为了隐藏A2A和TP的通信开销,它同时处理两个microbatch,并对dispatch/MoE/Combine Kernel进行融合。解码阶段最小部署规模为40个节点320张卡,采用TP4+SP配合DP80,MoE部分采用EP320,并通过IBGDA进一步降低延迟。

2. DeepSeek-v3 训练中使用的并行技术

2.1 DualPipe:通过将forward/backward chunk配对,并将其分为四个组件(Attention,A2A dispatch,MLP和A2A combine)进行重叠计算和通信,从而隐藏了A2A和PP通信开销。

2.2 高效的跨节点A2A通信:利用IB和NVLink的带宽差异,通过IB传输到目标节点上相同Rank的GPU,再通过NVLink转发到目标GPU,并通过动态调整通信块大小和PTX指令优化来减少L2缓存干扰。

2.3 内存优化:采用Activation重计算、CPU异步更新模型参数等策略,并把模型浅层和Embedding层与最后一层放在同一个PP Rank中。

2.4 FP8训练:采用Tile/Block-based细粒度量化训练策略和混合精度训练,在保证精度的前提下大幅提升训练速度。通过提高累加精度、细粒度量化以及低精度存储和通信等方法,有效降低内存消耗和通信带宽。

3. 对硬件设计的建议

3.1 网络硬件:建议开发对通信和集合通信Offload的专用网络处理器和协处理器,并统一ScaleOut和ScaleUp网络接口,简化应用程序编程。

3.2 计算部件:建议提高TensorCore的Accumulator精度,支持Tile/Block based量化,并支持Online量化,避免数据移动;建议加入warp level的转换指令,促进NormLayer和FP8转换融合,或采用近内存计算方法;建议支持Transpose GEMM操作,减少内存访问。

总而言之,DeepSeek-v3在模型架构、训练和推理并行策略以及FP8训练等方面取得了显著突破,为大型语言模型的高效训练和部署提供了新的思路,同时也对未来硬件设计提出了宝贵的建议。


联系作者

文章来源:智猩猩GenAI
作者微信:
作者简介:智猩猩旗下公众号之一,深入关注大模型与AI智能体,及时搜罗生成式AI技术产品。

版权声明:atcat 发表于 2024-12-31 18:02:48。
转载请注明:谈谈DeepSeek-v3在算力约束下的出色工作 | 86AIGC导航

暂无评论

暂无评论...