1、DataFunSummitDataFunSummit#20242024并行與分布計算全國重點實驗室非數據中心非數據中心GPUGPU上的大模型并上的大模型并行訓練行訓練并行與分布計算全國重點實驗室博士研究生 李笙維并行與分布計算全國重點實驗室01研究背景并行與分布計算全國重點實驗室 深度學習模型參數量呈爆炸式增長,對算力系統體系結構、系統軟件提出了新的要求 大規模并行與分布計算仍然是基礎模型訓練的主要手段,HPC與AI融合發展 大規模訓練的計算、通信、存儲開銷巨大,對并行模式和并行效率提出更高要求Fedus W,Zoph B,Shazeer N.Switch transformers:Scali
2、ng to trillion parameter models with simple and efficient sparsityJ.The Journal of Machine Learning Research,2022,23(1):5232-5270.并行訓練基本方法基礎模型參數量爆炸性增長一、研究背景:大模型并行訓練并行與分布計算全國重點實驗室 并行訓練基本方法主要分為數據并行,模型并行,混合并行等基本形式 數據并行(data parallelism,DP)是將訓練數據劃分到多個設備,多個設備之間按照一定規則定期同步模型參數實現并行訓練的一種方式 數據并行方式下每個設備計算時都會使用
3、有完整的模型參數 數據并行將數據切分為多份,不同份的數據由不同的設備進行處理優點-并行程序邏輯比較容易理解-單次迭代中模型訓練的數據總量增加,使得總的訓練時間減少缺點-為了保證收斂性,需要頻繁的梯度同步通信一、研究背景:并行訓練基本方法并行與分布計算全國重點實驗室 并行訓練基本方法主要分為數據并行,模型并行,混合并行等基本形式 模型并行(model parallelism,MP)訓練是指將智能模型劃分到多個計算單元的一種訓練方式 模型并行方式下每個設備上只有模型的一部分,張量并行、流水線并行均屬于模型并行 模型并行將數據切分為多份,每份數據需要所有設備進行處理優點-降低了模型訓練時對單卡的顯存
4、需求缺點-較大的通信開銷(常見于張量并行)-較低的設備利用率(常見于流水線并行)一、研究背景:并行訓練基本方法并行與分布計算全國重點實驗室 并行訓練基本方法主要分為數據并行,模型并行,混合并行等基本形式 張量并行(tensor parallelism,TP)張量并行是將深度學習模型中的參數切分到不同的設備上,每個設備只負責計算部分參數,從而實現并行計算。模型的參數分配到不同的設備上,每個設備只負責計算部分參數。Transformer中將嵌入層和多頭自注意力機制的部分參數切分到不同的設備上進行計算。一、研究背景:并行訓練基本方法Shoeybi M,Patwary M,Puri R,et al.M
5、egatron-lm:Training multi-billion parameter language models using model parallelismJ.arXiv preprint arXiv:1909.08053,2019.并行與分布計算全國重點實驗室 并行訓練基本方法主要分為數據并行,模型并行,混合并行等基本形式 流水線并行(pipeline parallelism,PP)將模型垂直分割成多個部分(稱為“流水級”),每個流水級部署在一個或多個GPU上,數據在GPU之間按流水線方式流動。需要對流水線的操作進行調度,確保數據在各流水級間順暢流動。因為數據依賴關系,設備計算會出
6、現空閑(idle),稱為流水線氣泡(bubble),影響整體硬件利用效率。一、研究背景:并行訓練基本方法Huang Y,Cheng Y,Bapna A,et al.Gpipe:Efficient training of giant neural networks using pipeline parallelismJ.Advances in neural information processing systems,2019,32.并行與分布計算全國重點實驗室 并行訓練基本方法主要分為數據并行,模型并行,混合并行等基本形式 混合并行(hybird parallelism)是指結合模型結構特點或
7、智能計算系統體系結構特點,利用多種并行訓練方法進行大規模深度學習模型的多維度并行訓練 混合并行方式下每個設備上只有模型的一部分 混合并行將數據切為多份,每份數據需要部分或全部設備進行處理優點-可以結合模型并行和數據并行的優點,實現高效的模型訓練-應對大模型訓練的主要方法缺點-難以找到性能優異的混合并行策略,使得混合并行的優勢無法發揮出來一、研究背景:并行訓練基本方法并行與分布計算全國重點實驗室 數據中心GPU(A100,H100.)是目前最常見的加速器:從算力性價比(單位價格能獲得的算力)的角度,數據中心GPU有較大的劣勢 然而僅從算力性價比的角度衡量并行訓練的性價比并不準確,例如A100 P
8、CIe和A100 SXM的算力性價比較為接近,然而通信帶寬差距巨大,在大模型的并行訓練中有較大的性能差距 數據中心GPU存在有價無市的問題 因此,研究非數據中心GPU上的大模型并行訓練更具重要意義GPU算力的性價比可以使用Ratio of the Computation performance and Cost(RCC)定義,單位為TFLOPS/$一、研究背景:大模型訓練加速器價格數據來源:https:/vast.ai/pricing并行與分布計算全國重點實驗室02研究進展并行與分布計算全國重點實驗室 圍繞非數據中心GPU上的大模型并行訓練問題,開展關鍵技術研究 高性價比的大模型訓練:大模型并
9、行訓練的性價比建模方法 高效率的并行訓練:通信計算調度:設計多維度通信調度方法,提高并行訓練的通信效率 設計通信計算重疊的聯合調度方法,提高并行訓練效率 顯存優化:設計流水線并行的異構內存交換方法,緩解顯存墻問題 高可編程性的并行訓練:解耦模型設計與并行訓練,加強多維并行訓練的可編程性二、研究進展小結并行與分布計算全國重點實驗室并行訓練下,訓練性價比可以使用單位價格能獲得的吞吐量:即單位數據量所需的通訊時間加計算時間乘上硬件價格的倒數1)計算時間可以簡化為單位數據量算力/硬件總算力2)通信時間需要根據并行訓練方法(DP,PP,TP)進行估算GPU算力性價比(TFLOPS/$)對比圖2.1 高性
10、價比的大模型訓練 大模型并行訓練的性價比建模方法從算力性價比角度4090GPU最高,然而4090無法使用NVLink進行帶寬提升,算力性價比次高的3090可以通過相對便宜的NVLink提高帶寬,據此搭建了3090NVLink集群3090NVLink并行訓練環境示意圖并行與分布計算全國重點實驗室在考慮了NVLink價格的基礎上,3090NVLink配置相對于全NVLink相連的A100-SXM配置及4090配置在大模型訓練中的性價比有明顯優勢該集群的建立僅供思路參考,3090仍有著內存不足(24G)等問題分析方法可以適用于更多種類硬件,同期工作也有在3080GPU上進行大模型訓練的嘗試3090-
11、NVLink的硬件價格估算方法2.1 高性價比的大模型訓練 大模型并行訓練的性價比建模方法并行訓練性價比對比Lai Z,Liu Y,Wang W,et al.Rethinking the Distributed DNN Training Cluster Design from the Cost-effectiveness ViewC/2023 IEEE HPCCTang,Zhenheng,et al.Fusionai:Decentralized training and deploying llms with massive consumer-level gpus.arXiv preprint
12、 arXiv:2309.01172(2023).并行與分布計算全國重點實驗室非數據中心GPU情況下,通常通信帶寬受限較為明顯通信調度技術是常見的降低通信開銷的方法,然而混合并行訓練的通信操作復雜,帶來兩個訓練效率問題:1)通信操作多樣,包括數據并行的AllReduce和流水線并行的P2P通信2)稀疏矩陣的通信開銷大,對通信調度帶來較大性能挑戰異步流水線并行數據并行的混合并行訓練中通信操作復雜通信調度方法不適用于稀疏通信2.2 高效率的并行訓練 通信計算調度:TriRace-面向混合并行訓練的多維度通訊調度方法并行與分布計算全國重點實驗室針對數據并行的AllReduce通信,根據異步流水線并行的
13、參數更新方法,最大化重疊計算操作針對流水線并行的P2P通信,將雙向通信解耦為兩個單向通信,盡可能減少關鍵路徑上的通信數量使用稀疏通信降低embedding的通信開銷,并將以embedding各行為單位進行細粒度調度稀疏通信調度方法P2P通信調度方法AllReduce通信調度方法2.2 高效率的并行訓練 通信計算調度:TriRace-面向混合并行訓練的多維度通訊調度方法并行與分布計算全國重點實驗室Li S,Lu K,Lai Z,et al.A Multidimensional Communication Scheduling Method for Hybrid Parallel DNN Trai
14、ningJ.IEEE Transactions on Parallel and Distributed Systems,2024.相比Pipedream-2BW、Fold3D等多個訓練方法,能夠取得至多1.45倍的訓練計算加速2.2 高效率的并行訓練 通信計算調度:TriRace-面向混合并行訓練的多維度通訊調度方法并行與分布計算全國重點實驗室 通信計算調度:Oases-面向張量并行的自動通信計算重疊方法Transformer模型的Hidden Size高速增長,張量并行成為大規模預訓練模型的必需技術;但是張量并行通信開銷大,影響訓練效率模型名發布年份模型大小LayersHidden Size
15、GPT-3/OPT2020/2022175B9612288MT-NLG2021530B10520480PaLM2022540B11818432BLOOM2022176B7014336LLaMA202365B808192Falcon202340B60819264.7%59.2%張量并行通信在帶寬受限的情況下訓練中占比較高Transformer預訓練模型的Hidden Size較大2.2 高效率的并行訓練并行與分布計算全國重點實驗室 通信計算調度:Oases-面向張量并行的自動通信計算重疊方法當前主流的張量并行通信計算重疊方法為將矩陣乘法和其通信分解為多個操作設計細粒度的通信計算調度方法,將數據在
16、batch維度切分為互不依賴的兩個子數據,他們的通信計算可以互相重疊2.2 高效率的并行訓練并行與分布計算全國重點實驗室 通信計算調度:Oases-面向張量并行的自動通信計算重疊方法在顯存受限的場景下,使用重計算計算技術非常必要設計去除通信冗余的重計算調度方法,應用重計算時,將通信結果作為重計算子圖的輸出可以在反向過程中減少通信開銷2.2 高效率的并行訓練重計算結束的位置為通信后時,可以省去該通信并行與分布計算全國重點實驗室 通信計算調度:Oases-面向張量并行的自動通信計算重疊方法Oases可以顯著加速張量并行訓練,相較Megatron-LM,Alpa,矩陣乘法內重疊(Wang)等方法,可
17、以取得至多1.95倍加速2.2 高效率的并行訓練Li S,Lai Z,Hao Y,et al.Automated Tensor Model Parallelism with Overlapped Communication for Efficient Foundation Model TrainingJ.arXiv preprint arXiv:2305.16121,2023.并行與分布計算全國重點實驗室 顯存優化:Mbapp-面向商品級GPU的流水線并行異構內存交換方法流水線并行通信量降低,適用于在商品級GPU上訓練大模型商品級GPU如3090的顯存容量較小,大模型的訓練要求顯存優化技術(e
18、.g.,顯存交換,swap)流水線并行的算法特點,導致流水級(設備)之間的顯存分布不均衡流水線并行適合通信資源貧乏的商品級深度學習服務器流水線并行的顯存消耗不均衡2.2 高效率的并行訓練并行與分布計算全國重點實驗室 顯存優化:Mbapp-面向商品級GPU的流水線并行異構內存交換方法GPU-GPU swap方法:將內存負載較重GPU的數據緩存到內存負載較輕GPU的空閑內存中,減少GPU-CPU交換操作,提高GPU內存利用率混合GPU-CPU swap方法:對于內存負載較重的GPU,將張量分塊,部分數據塊從本GPU卸載到CPU內存中,其余數據塊經相鄰GPU再卸載到CPU內存中,傳輸操作流水化,減少
19、傳輸開銷NVLinkQPIP2P交換NVLink混合GPU-CPU交換PCIePCIeGPUGPU工作窗口緩存窗口Mbapp工作流程2.2 高效率的并行訓練并行與分布計算全國重點實驗室 顯存優化:Mbapp-面向商品級GPU的流水線并行異構內存交換方法相較于內存交換方法torch-offload,訓練吞吐量可以提高3.04倍至4.59倍相較于流水線并行訓練方法,Mbapp能夠在部分流水級顯存開銷超出GPU容量時支持模型訓練Mbapp可以使各流水級(工作設備)的顯存消耗更加均衡2.2 高效率的并行訓練并行與分布計算全國重點實驗室 Merak-實現模型設計與并行訓練的解耦現有并行框架超大規模模型設
20、計與并行訓練綁定,大規模并行計算可編程性差 語言模型開源社區活躍,多樣的模型定義方式給并行訓練應用帶來較大挑戰 框架名稱開源數據并行流水并行張量并行微軟DeepSpeed是是否否英偉達Megatron-LM是是否否微軟Varuna是是是否亞馬遜SageMaker否是是否Merak是是是是并行訓練框架中自動應用并行訓練技術的情況2.3 高可編程性的并行訓練并行與分布計算全國重點實驗室 Merak-實現模型設計與并行訓練的解耦2.3 高可編程性的并行訓練單機腳本的計算圖定義方式繁多,分布式技術應用困難提出基于符號算子定義計算圖:符號算子不進行參數初始化,可以使用 torch.fx,快速獲得完整模型
21、計算圖提出一個計算圖劃分算法,將模型計算圖編譯成數個可以序列運行的子圖:分析圖節點的依賴關系,找到通信量較小的邊作為子圖劃分的邊界考慮模型訓練中常量可以在子圖間傳遞,子圖劃分更加準確子圖分配至工作設備后,進行參數初始化,進行成為分布式計算圖(3D并行模組)Automatic Model PartitionerDPTMPPMP 3D Parallel ModuleTMPPMP Tracing with proxied graph Sharded subgraph sequence模型劃分編譯的工作流程并行與分布計算全國重點實驗室 Merak-實現模型設計與并行訓練的解耦API接口簡明易用,在單機
22、訓練腳本的基礎上,僅需增加幾行代碼即可實現數據-流水線-張量并行混合的3D并行訓練Lai Z,Li S,Tang X,et al.Merak:An efficient distributed dnn training framework with automated 3d parallelism for giant foundation modelsJ.IEEE Transactions on Parallel and Distributed Systems,2023,34(5):1466-1478.2.3 高可編程性的并行訓練https:/ 圍繞非數據中心GPU上的大模型并行訓練問題,可以總
23、結為提高大模型的accessbility,讓更多研究者更便宜更快更方便地進行大模型訓練高性價比的大模型訓練高效率的并行訓練高可編程性的并行訓練三、研究總結Affordable,更多人能訓Efficient,訓的更快User-friendly,用起來更方便并行與分布計算全國重點實驗室大模型的持續迭代對大規模異構并行計算效率提出更高要求針對更多應用特點的大規模分布式訓練技術如何整合及通用化深度學習編譯器是提高并行訓練可編程性的重要技術方向通信帶寬進步落后于需求,通信優化是提高并行訓練效率的重要方向大規模分布式訓練技術需要更大規模更真實場景的測試與驗證三、研究展望DataFunSummitDataF
24、unSummit#20242024并行與分布計算全國重點實驗室謝 謝敬請批評指正!博士研究生博士研究生 李笙維李笙維 國防科技大學計算機學院國防科技大學計算機學院 18682152613,18682152613,PS:PS:實驗室長期招收有志于實驗室長期招收有志于MLSysMLSys相關相關的碩士博士研究生的碩士博士研究生 更多研究詳見導師主頁更多研究詳見導師主頁:https:/dblp.org/pid/143/4279.htmlhttps:/dblp.org/pid/143/4279.html并行與分布計算全國重點實驗室 設想:并行訓練框架自頂向下可分為6層Communication lib
25、raryComputation operatorIntermediate representationAccess train resourceAPIDistributed runtime engineDevice-specific operatorMemory managementComputation schedule Communication scheduleTensorFlowPyTorch.Access model IRtf.graphtorch.fx.GPUNPU.Training resource abstractionDevice topoProfiling.Parallel
26、 strategy generationCost modelTrain simulatorMPINCCL.Device assignJAXPaddlePaddle jax_to_hloFPGAgRPCIR convertIR structuredIR compiler訓練框架API層任務資源獲取層任務資源抽象層并行策略制訂層分布式計算引擎層計算通信實現層大規模并行訓練框架設想并行與分布計算全國重點實驗室 Merak并行訓練框架 目前基于PyTorch框架設計,帶來了并行策略制訂困難的問題,所以使用Megatron-LM的3D并行策略 針對社區模型(如transformers),延續數據并行框架
27、思路(如Horovod,torch-DDP),編程范式基于單機訓練腳本 目前主要工作位于任務資源獲取層以及提高各個基本并行方法訓練效率的分布式計算引擎層Communication libraryComputation operatorIntermediate representationAccess train resourceAPIDistributed runtime engineDevice-specific operatorMemory managementComputation schedule Communication scheduleTensorFlowPyTorch.Acce
28、ss model IRtf.graphtorch.fx.GPUNPU.Training resource abstractionDevice topoProfiling.Parallel strategy generationCost modelTrain simulatorMPINCCL.Device assignJAXPaddlePaddle jax_to_hloFPGAgRPCIR convertIR structuredIR compiler訓練框架API層任務資源獲取層任務資源抽象層并行策略制訂層分布式計算引擎層計算通信實現層大規模并行訓練框架設想并行與分布計算全國重點實驗室一、研究背景:大模型的發展動態 機器學習(深度學習)的范式正在悄然轉變,“大模型”成為各應用領域的知識庫、基礎模型(Foundation Models)學習方式的轉變:“數據+訓練-模型”,轉變為“基礎模型+任務數據+微調-任務模型”Bommasani R,Hudson D A,Adeli E,et al.On the opportunities and risks of foundation modelsJ.arXiv preprint arXiv:2108.07258,2021.