在所有人追求更大規模集群的時候, Deepseek這樣的工作只有一個詞評價: Respect!
原標題:談談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技術產品。