導讀 AIGC新一代網絡解決方案:組網DDC技術 By Brian2023年是AI人工智能技術全面崛起的一年,以ChatGPT、GPT-4、Ernie Bot等大型AIGC模型爲代表,它們集文字寫作、代碼...
AIGC新一代網絡解決方案:組網DDC技術
By Brian
2023年是AI人工智能技術全面崛起的一年,以ChatGPT、GPT-4、Ernie Bot等大型AIGC模型爲代表,它們集文字寫作、代碼开發、詩歌創作等多種功能於一體,展示了優秀的內容生產能力,給人以深刻的震撼。作爲一名IT專業人士,AIGC大模型背後的通信技術也應該引起深思。沒有好的網絡,就無從談及大模型的訓練。構建大規模訓練模型集群,不僅需要GPU服務器、網卡等基礎組件,而且網絡建設問題也亟待解決。什么樣的強大網絡在支撐AIGC的運行?AI浪潮的全面到來,將給傳統網絡帶來怎樣的革命性變化?
前面提到的AIGC大模型之所以如此強大,不僅是因爲其背後有大量的數據支撐,還因爲算法在不斷進化和升級。更重要的是,人類計算能力的規模已經發展到一定程度。強大的算力基礎設施可以充分支撐AIGC的計算需求。在訓練大型模型時,由於模型的大小通常會超過單個GPU的內存和計算能力,因此需要多個GPU來分擔負載。在大模型訓練過程中,GPU負載分擔有三種方式,即張量並行、管道並行、數據並行。
數據並行性:
數據並行是一種簡單且直接的並行化技術,其中在多個處理器(如GPU)上復制模型的完整副本。每個處理器或GPU都會獲得整個模型的副本,並獨立地對不同的數據子集執行前向和後向傳播。在每個訓練步驟之後,來自所有處理器的模型權重更新需要合並或同步,這通常通過某種形式的集體通信操作來完成,例如all-reduce。數據並行性允許模型在更大的數據集上進行訓練,因爲數據被分成多個小批次,每個批次在不同的處理器上處理。
想象一個大型圖書館,需要對其中的所有書籍進行分類。數據並行就像僱用多個圖書管理員,每個圖書管理員負責對一部分圖書進行分類。在模型訓練的情況下,每個GPU都會獲得整個模型的副本,但只處理整個數據集的一部分。當所有GPU完成各自的任務後,它們交換信息以同步更新模型權重。
張量並行性:
當模型太大而無法容納單個處理器的內存時,通常使用張量並行性。在這種並行化策略中,模型的不同部分,例如神經網絡層中的不同張量或參數組,被分配給不同的處理器。這意味着每個處理器只負責計算模型的一部分。爲了完成整個模型的前向和後向傳播,處理器必須頻繁地交換中間結果,這可能會導致較高的通信开銷。張量並行性需要處理器之間的高速連接,以最大限度地減少這些交換的延遲。
假設數據並行是多個圖書館員,每個圖書館員處理一部分書籍。在這種情況下,張量並行就像每個圖書館員負責分類工作的一部分步驟。在模型訓練中,每個GPU負責模型中的一部分計算,例如一個GPU負責模型前半層的計算,另一個GPU負責模型後半層的計算。這樣,模型的每一層都可以跨多個GPU進行計算。
管道並行性:
管道並行是一種並行化策略,其將模型的不同層或部分分配給不同的處理器,並以管道方式執行計算。在管道並行中,輸入數據被分成多個微批次,每個微批次依次通過模型的每一層。當一個微批次完成第一層的計算後,其立即傳遞到下一層,同時第一層开始處理下一個微批次。這種方式可以減少處理器的空闲時間,但需要仔細管理管道,以避免產生太大的停頓,其中某些處理器可能會因爲等待相關計算結果而暫停其工作。
管道並行就像工廠裝配线上的工人,每個工人執行特定的任務,然後將半成品傳遞給下一個工人。在模型訓練中,模型被分成幾個部分,每個部分在不同的GPU上順序執行。當一個GPU完成其部分計算時,其將中間結果傳遞給下一個GPU以繼續計算。
在實際部署中,網絡的設計必須考慮這些並行策略的帶寬和延遲要求,以保證模型訓練的效率和效果。有時,這三種並行策略結合起來可以進一步優化訓練過程。例如,大型模型可以使用多個GPU上的數據並行性來處理不同的數據子集,同時使用每個GPU內的張量並行性來處理模型的不同部分。
我們再來看看大模型訓練對AI算力的需求。隨着大模型的不斷升級,模型訓練的算力需求也隨之增加,每三個月翻一番。GPT-3模型(1750億參數,45TB訓練語料,消耗3640PFlops/s-Days算力)ChatGPT3,使用128台A100服務器,總共1024張A100卡進行訓練,因此單個服務器節點需要4個100G網絡渠道;而ChatGPT4、ChatGPT5等大型模型,對網絡的要求會更高。
AIGC發展到現在,訓練的模型參數從1000億飆升到10萬億。要完成如此大規模的訓練,底層支撐的GPU數量也達到了萬卡的規模。
那么問題來了,影響GPU利用率最大的因素是什么?
答案是網絡。
作爲擁有數萬個GPU的計算集群,與存儲集群的數據交互需要巨大的帶寬。此外,GPU在執行訓練計算時並不是獨立的,而是使用混合並行。GPU之間有大量的數據交換,這也需要巨大的帶寬。
如果網絡不強大,數據傳輸速度慢,GPU需要等待數據,利用率降低。利用率的下降會增加訓練時間、成本,用戶體驗也會變差。
業界做了一個模型來計算網絡帶寬吞吐量、通信延遲和GPU利用率之間的關系,如下圖所示:
帶寬吞吐量和GPU利用率/動態延遲和GPU利用率
從這可以看到,網絡吞吐量越強,GPU利用率越高;通信動態延遲越大,GPU利用率越低。
什么樣的網絡可以支持AIGC的運行?
爲了應對AI集群計算對網絡的高要求,業界提出了多種解決方案。在傳統策略中,常見有三種技術:Infiniband、RDMA和幀交換機。
Infiniband網絡
對於熟悉數據通信的專業人士來說,Infiniband網絡並不陌生。它被譽爲構建高性能網絡的最佳方式,確保極高的帶寬、無擁塞、低延遲。ChatGPT和GPT-4使用的網絡是Infiniband網絡。但該技術的缺點是價格昂貴,成本是傳統以太網組網的數倍。另外,該技術相對封閉,行業內只有一家成熟的供應商,限制了用戶的選擇。
RDMA網絡
RDMA,即遠程直接內存訪問,是一種新型的通信機制。在RDMA方案中,數據可以直接與網卡通信,繞過CPU和復雜的操作系統,不僅大大提高了吞吐量,而且保證了更低的延遲。
此前,RDMA主要承載在InfiniBand網絡上。現在,已逐步移植到以太網上。目前主流的組網方案是基於RoCE v2協議構建支持RDMA的網絡。然而,該方案中的PFC和ECN技術雖然是爲了避免鏈路擁塞而產生的,但在頻繁觸發時可能會導致發送方暫停或變慢,從而影響通信帶寬。
幀交換機
一些互聯網企業曾希望使用幀交換機來滿足高性能網絡的需求。但該方案存在可擴展性不足、設備功耗高、故障域大等挑战,僅適合小規模AI計算集群部署。
新一代AIGC網絡:DDC技術
鑑於傳統方案的種種局限性,一種新的解決方案——DDC(分布式機箱)應運而生。DDC“拆解”了傳統幀交換機,增強其可擴展性,並根據AI集群規模靈活設計網絡規模。通過這種創新方式,DDC克服了傳統方案的局限性,爲AI計算提供了更加高效、靈活的網絡架構。
從規模和帶寬吞吐量來看,DDC完全滿足大規模AI模型訓練的網絡需求。然而網絡運行不僅僅是這兩方面,還需要在時延、負載均衡、管理效率等方面進行優化。爲此,DDC採取以下技術策略:
- VOQ+基於Cell的轉發機制,有效對抗丟包
當網絡遇到突發流量時,可能會導致接收方處理緩慢,導致擁塞、丟包。DDC採用的VOQ+Cell-based轉發機制可以很好地解決這個問題。具體流程如下:
發送方收到數據包後,首先將數據包分類並存儲到VOQ中。在發送數據包之前,NCP首先會發送Credit消息來確認接收方是否有足夠的緩衝區空間。只有當接收方確認自己有處理能力時,數據包才會被切片成Cell並動態負載均衡到Fabric節點。如果接收方暫時無法處理,數據包會暫時存儲在發送方的VOQ中,不會直接轉發。這種機制充分利用了緩存,可以大大減少甚至避免丟包,從而提高整體通信穩定性,減少延遲,提高帶寬利用率和業務吞吐效率。
- PFC單跳部署,徹底避免死鎖
PFC技術用於RDMA無損網絡中的流量控制,可以爲以太網鏈路創建多個虛擬通道,並爲每個通道設置優先級。然而,PFC也存在死鎖問題。
在DDC網絡中,由於所有NCP和NCF被視爲整體設備,因此不存在多級切換,從而完全避免了PFC的死鎖問題。
PFC工作機制示意圖
40*200G
- 分布式操作系統,增強可靠性
在DDC架構中,管理功能由NCC集中控制,但這可能會帶來單點故障的風險。爲了避免這個問題,DDC採用分布式操作系統,允許每個NCP和NCF獨立管理,並具有獨立的控制平面和管理平面。這不僅大大提高了系統的可靠性,而且更易於部署。
總結
DDC通過其獨特的技術策略,滿足了大規模AI模型訓練的網絡需求,同時也在諸多細節上進行了優化,保證了網絡在各種復雜條件下都能穩定高效地運行。
標題:AIGC新一代網絡解決方案:組網DDC技術
地址:https://www.utechfun.com/post/306179.html