從Transformer問世至2023年ChatGPT爆火到2024年Sora吸睛,人們逐漸意識到隨著模型參數規模增加,模型的效果越來越好,且兩者之間符合Scalinglaw規律,且當模型的參數規模超過數百億后,AI大模型的語言理解能力、邏輯推理能力以及問題分析能力迅速提升。同時,隨著模型參數規模與性能提升后,AI大模型訓練對于網絡的需求相比于傳統模型也隨之產生變化。
為滿足大規模訓練集群高效的分布式計算,AI大模型訓練流程中通常會包含數據并行、流水線并行及張量并行等多種并行計算模式,不同并行模式下均需要多個計算設備間進行集合通信操作。另外,訓練過程中通常采用同步模式,需多機多卡間完成集合通信操作后才可進行訓練的下一輪迭代或計算。
因此,在AI大模型的大規模訓練集群中,如何設計高效的集群組網方案,滿足低時延、高吞吐的機間通信,從而降低多機多卡間數據同步的通信耗時,提升GPU有效計算時間占比(GPU計算時間/整體訓練時間),對于AI分布式訓練集群的效率提升至關重要。以下將從規模、帶寬、時延、穩定性及網絡部署角度分析AI大模型對于網絡的需求。
1
超大規模組網需求
AI 應用計算量呈幾何級數增長,算法模型向巨量化發展,人工智能模型參數在過去十年增長了十萬倍,當前AI超大模型的參數目前已經達到了千億~萬億的級別。訓練這樣的模型,毫無疑問需要超高算力。此外,超大模型對于顯存的需求也很高。以1T參數模型為例,使用16bit精度存儲,首先需要消耗2TB的存儲空間。
除此之外,在訓練過程中,前向計算產生的激活值、反向計算產生的梯度、參數更新需要的優化器狀態等中間變量均需要存儲,且中間變量在單次迭代中也會不斷增加。一個使用Adam優化器的訓練過程,峰值會產生7倍于模型參數量的中間變量。如此高的顯存消耗,意味著需要幾十上百個GPU才能完整存儲一個模型的訓練過程。
可是,僅僅有了大量GPU,仍然無法訓練出有效的大模型。合適的并行方式才是提升訓練效率的關鍵。目前超大模型主要有三種并行方式:數據并行、流水線并行、張量并行。在千億~萬億級別的大模型訓練時,以上三種并行都會存在。訓練超大模型需要數千GPU組成的集群。表面上看,這和云數據中心當前已經達到數萬服務器的互聯規模相比,還處于下風。但實際上,幾千節點的GPU互聯,比數萬服務器的互聯更具有挑戰,因為網絡能力和計算能力需要高度匹配。
云數據中心使用CPU計算,網絡需求一般在10Gbps~100Gbps,并且使用傳統TCP/IP傳輸層協議。但AI超大模型訓練使用GPU訓練,算力比CPU高好幾個數量級,互聯網絡需求在100Gbps~400Gbps,此外使用了RDMA協議來減少傳輸時延,提升網絡吞吐。
具體來說,數千GPU的高性能組網,在網絡規模上有以下問題需要考慮
·大規模RDMA網絡遇到的問題,例如鏈路頭阻、PFC死鎖風暴
·網絡性能優化,包括更高效的擁塞控制、負載均衡技術
·網卡連接性能問題,單主機受到硬件性能限制,如何構建數千RDMA的QP連接
·網絡拓撲選擇,是傳統Fat Tree結構更好,還是可以參考高性能計算的Torus,Dragonfly等組網
2
超高帶寬需求
在AI大模型訓練場景下,機內與機外的集合通信操作將產生大量的通信數據量。從機內GPU通信角度看,以千億參數規模的AI模型為例,模型并行產生的AllReduce集合通信數據量將達到百GB級別,因此機內GPU間的通信帶寬及方式對于流完成時間十分重要。服務器內GPU應支持高速互聯協議,且其進一步避免了GPU通信過程中依靠CPU內存緩存數據的多次拷貝操作。
從機間GPU通信角度看,流水線并行、數據并行及張量并行模式需要不同的通信操作,部分集合通信數據將達到百GB級別,且復雜的集合通信模式將在同一時刻產生多對一與一對多的通信。因此機間GPU的高速互聯對于網絡的單端口帶寬、節點間的可用鏈路數量及網絡總帶寬提出了高要求。另外,GPU與網卡間通常通過PCIe總線互聯,PCIe總線的通信帶寬決定網卡單端口帶寬能否完全發揮。以PCIe3.0總線(16lane對應單向16GB/秒帶寬)為例,當機間通信配備200Gbps的單端口帶寬時,機間的網絡性能將無法完全被使用。
3
超低時延及抖動需求
在數據通信傳輸過程中產生的網絡時延由靜態時延和動態時延兩個部分構成。靜態時延包含數據串行時延、設備轉發時延和光電傳輸時延,靜態時延由轉發芯片的能力和傳輸的距離決定,當網絡拓撲與通信數據量確定時,此部分時延通常為固定值,而真正對網絡性能影響比較大的是動態時延。動態時延包含了交換機內部排隊時延和丟包重傳時延,通常由網絡擁塞和丟包引起。
以1750億參數規模的GPT-3模型訓練為例,從理論估算模型分析,當動態時延從10us提升至1000us時,GPU有效計算時間占比將降低接近10%,當網絡丟包率為千分之一時,GPU 有效計算時間占比將下降13%,當網絡丟包率達到1%時,GPU有效計算時間占比將低于5%。如何降低計算通信時延、提升網絡吞吐是AI大模型智算中心能夠充分釋放算力的核心問題。
除時延外,網絡變化因素引入的時延抖動也對訓練效率產生影響。訓練過程中計算節點的集合通信過程一般可以拆解成多個節點間并行執行P2P通信,例如N個節點間Ring AllReduce 集合通信包含2*(N-1)次的數據通信子流程,每個子流程中所有節點均完成P2P通信(并行執行)才可結束這個子流程。當網絡出現波動時,某兩個節點間的P2P的流完成時間(FCT)將明顯變長。因網絡抖動引入的P2P通信時間變化可理解為木桶效率的最弱一環,將會導致其所屬的子流程的完成時間也隨之變長。因此,網絡抖動導致集合通信的效率變低,從而影響到AI大模型的訓練效率。
4
超高穩定性需求
Transformer 誕生以后,開啟了大模型快速演進的序章。過去5年時間,模型從61M,增長到540B,翻了近1萬倍!集群算力決定了AI模型訓練速度的快慢,單塊V100訓練GTP-3 需要335年,10000張V100的集群,集群系統完美線性擴展需要12天左右時間。
網絡系統的可用性是作為基礎來決定整個集群的計算穩定性。一方面,網絡故障域大,集群中一個網絡節點的故障可能會影響數十個甚至更多的計算節點的連通性,降低系統算力的完整性;另一方面,網絡性能波動影響大,網絡作為集群共享資源相較于單個計算節點不容易被隔離,性能波動會導致所有計算資源的利用率都受影響。因此在AI大模型訓練任務周期中,維持網絡的穩定高效是極其重要的目標,對網絡運維帶來了新的挑戰。
在訓練任務期間一旦發生故障,可能需要容錯替換或者彈性擴縮容的方式來處理故障節點。一旦參與計算的節點位置發生了變化,導致當前的通信模式或許就不是最優的,需要通過作業重新排布和調度,以此來提升整體訓練的效率。另外,一些網絡故障(例如靜默丟包)的發生是不可被預期的,一旦發生不僅會導致集合通信效率降低,同時還會引發通信庫超時,造成訓練業務長時間卡死,很大程度上影響訓練效率。因此需要通過獲取細粒度的業務流吞吐、丟包等信息,可避障自愈的耗時控制在秒級別內。
5
網絡自動化部署需求
智能無損網絡的構建往往基于RDMA協議及擁塞控制機制,但與之相伴隨的是一系列復雜多樣化的配置。其中任一個參數配置錯誤都可能會影響到業務的性能,還有可能會引出些許不符合預期的問題。據統計,超過90%的高性能網絡故障是由配置錯誤導致的問題,出現這一問題的主要原因是網卡配置參數多,其中參數量取決于架構版本、業務類型和網卡類型。由于AI大模型訓練中集群規模大,進一步增大配置的復雜度。因此,高效或自動化部署配置能夠有效的提升大模型集群系統的可靠性和效率。自動化部署配置需要能夠做到多臺并行部署配置的能力,自動選擇擁塞控制機制相關參數以及根據網卡類型和業務類型選擇相關配置。
同樣的,在復雜的架構和配置條件下,在業務運行過程中可快速準確地故障定位,能夠有效保障整體業務效率。自動化的故障檢測一方面可以快速定界問題,精準推送問題至管理人員,另一方面可以減少問題定位成本,快速定位問題根因并給出解決方案。
芯啟源不但在各大開源社區持續貢獻,參與和引領行業發展,在國內率先支持RDMA、GPU Direct等技術,成為旁路CPU和主機內存的最佳AI/HPC解決方案。每個GPU可配置一個DPU進行高速互聯,解決傳輸瓶頸。進一步地,芯啟源下一代DPU采用Chiplet方式進行GPU和DPU的互聯將帶來更高靈活性。
芯啟源DPU從芯片、硬件到軟件都實現了國產自主可控,并率先在國內取得大量商業訂單,其中在一些運營商的省級規模部署場景實現了上線超兩年、且穩定運行無任何異常。從傳統業務場景到AI/HPC場景,芯啟源DPU均提供可靠穩定的解決方案,幫助客戶實現業務平滑升級和AI/HPC等新業務的快速部署。
DPU是AIGC大模型算力網絡的關鍵設施,芯啟源作為國產DPU的領跑者,將持續推進“人工智能+”行動,賦能中國千行百業的數智化革新,助力新質生產力。
本文轉載自微信公眾號“牛逼的IT”,小編略作修改
審核編輯:劉清
-
PFC
+關注
關注
47文章
933瀏覽量
105262 -
數據通信
+關注
關注
2文章
420瀏覽量
33634 -
RDMA
+關注
關注
0文章
72瀏覽量
8884 -
GPU芯片
+關注
關注
1文章
303瀏覽量
5739 -
AI大模型
+關注
關注
0文章
274瀏覽量
200
原文標題:芯啟源DPU | 解決AIGC大模型對網絡的5大需求
文章出處:【微信號:corigine,微信公眾號:芯啟源】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論