2023年,是AI人工智能技術全面爆紅的一年。
以ChatGPT、GPT-4、文心一言為代表的AIGC大模型,集文本撰寫、代碼開發、詩詞創作等功能于一體,展現出了超強的內容生產能力,帶給人們極大震撼。
作為一個通信老司機,除了AIGC大模型本身之外,小棗君更加關注的,是模型背后的通信技術。到底是一張怎樣的強大網絡,在支持著AIGC的運轉?此外,AI浪潮的全面來襲,將對傳統網絡帶來怎樣的變革?
█ AIGC,到底需要多大的算力?
眾所周知,數據、算法和算力,是人工智能發展的三大基本要素。
前面提到的幾個AIGC大模型,之所以那么厲害,不僅是因為它們背后有海量的數據投喂,也因為算法在不斷進化升級。更重要的是,人類的算力規模,已經發展到了一定程度。強大的算力基礎設施,完全能夠支撐AIGC的計算需求。
AIGC發展到現在,訓練模型參數從千億級飆升到了萬億級。為了完成這么大規模的訓練,底層支撐的GPU數量,也達到了萬卡級別規模。
以ChatGPT為例,他們使用了微軟的超算基礎設施進行訓練,據說動用了10000塊V100 GPU,組成了一個高帶寬集群。一次訓練,需要消耗算力約3640 PF-days(即每秒1千萬億次計算,運行3640天)。
一塊V100的FP32算力,是0.014 PFLOPS(算力單位,等于每秒1千萬億次的浮點運算)。一萬塊V100,那就是140 PFLOPS。
也就是說,如果GPU的利用率是100%,那么,完成一次訓練,就要3640÷140=26(天)。
GPU的利用率是不可能達到100%,如果按33%算(OpenAI提供的假設利用率),那就是26再翻三倍,等于78天。
可以看出,GPU的算力、GPU的利用率,對大模型的訓練有很大影響。
那么問題來了,影響GPU利用率的最大因素,是什么呢?
答案是:網絡。
一萬甚至幾萬塊的GPU,作為計算集群,與存儲集群進行數據交互,需要極大的帶寬。此外,GPU集群進行訓練計算時,都不是獨立的,而是混合并行。GPU之間,有大量的數據交換,也需要極大的帶寬。
如果網絡不給力,數據傳輸慢,GPU就要等待數據,導致利用率下降。利用率下降,訓練時間就會增加,成本也會增加,用戶體驗會變差。
業界曾經做過一個模型,計算出網絡帶寬吞吐能力、通信時延與GPU利用率之間的關系,如下圖所示:
大家可以看到,網絡吞吐能力越強,GPU利用率越高;通信動態時延越大,GPU利用率越低。
一句話,沒有好網絡,別玩大模型。
█ 怎樣的網絡,才能支撐AIGC的運行?
為了應對AI集群計算對網絡的調整,業界也是想了不少辦法的。
傳統的應對策略,主要是三種:Infiniband、RDMA、框式交換機。我們分別來簡單了解一下。
Infiniband組網
Infiniband(直譯為“無限帶寬”技術,縮寫為IB)組網,搞數據通信的童鞋應該不會陌生。
這是目前組建高性能網絡的最佳途徑,帶寬極高,可以實現無擁塞和低時延。ChatGPT、GPT-4所使用的,據說就是Infiniband組網。
如果說Infiniband組網有什么缺點的話,那就是一個字——貴。相比傳統以太網的組網,Infiniband組網的成本會貴好幾倍。這項技術比較封閉,業內目前成熟的供應商只有1家,用戶沒什么選擇權。
- RDMA網絡
RDMA的全稱是Remote Direct Memory Access(遠程直接數據存取)。它是一種新型的通信機制。在RDMA方案里,應用程序的數據,不再經過CPU和復雜的操作系統,而是直接和網卡通信,不僅大幅提升了吞吐能力,也降低了時延。
RDMA最早提出時,是承載在InfiniBand網絡中的。現在,RDMA逐漸移植到了以太網上。
目前,高性能網絡的主流組網方案,是基于RoCE v2(RDMA over Converged Ethe.NET,基于融合以太網的RDMA)協議來組建支持RDMA的網絡。
這種方案有兩個重要的搭配技術,分別是PFC(Priority Flow Control,基于優先級的流量控制)和ECN(Explicit Congestion Notification,顯式擁塞通知)。它們是為了避免鏈路中的擁塞而產生的技術,但是,頻繁被觸發,反而會導致發送端暫停發送,或降速發送,進而拉低通信帶寬。(下文還會提到它們)
- 框式交換機
國外有部分互聯網公司,寄希望于利用采用框式交換機(DNX芯片+VOQ技術),來滿足構建高性能網絡的需求。
DNX:broadcom(博通)的一個芯片系列
VOQ:Virtual Output Queue,虛擬輸出隊列
這種方案看似可行,但也面臨以下幾個挑戰。
首先,框式交換機的擴展能力一般。機框大小限制了最大端口數,如想做更大規模的集群,需要橫向擴展多個機框。
其次,框式交換機的設備功耗大。機框內線卡芯片、Fabric芯片、風扇等數量眾多,單設備的功耗超過2萬瓦,有的甚至3萬多瓦,對機柜供電能力要求太高。
第三,框式交換機的單設備端口數量多,故障域大。
基于以上原因,框式交換機設備只適合小規模部署AI計算集群。
█ 到底什么是DDC
前面說的都是傳統方案。既然這些傳統方案不行,那當然就要想新辦法。
于是,一種名叫DDC的全新解決方案,閃亮登場了。
DDC,全名叫做Distributed Disaggregated Chassis(分布式分散式機箱)。
它是前面框式交換機的“分拆版”。框式交換機的擴展能力不足,那么,我們干脆把它給拆開,將一個設備變成多個設備,不就OK了?
框式設備,一般分為交換網板(背板)和業務線卡(板卡)兩部分,相互之間用連接器連接。
DDC方案,將交換網板變成了NCF設備,將業務線卡變成了NCP設備。連接器,則變成了光纖。框式設備的管理功能,在DDC架構中,也變成了NCC。
NCF:Network Cloud Fabric(網絡云管理控制平面)
NCP:Network Cloud Packet Processing(網絡云數據包處理)
NCC:Network Cloud Controller(網絡云控制器)
DDC從集中式變成分布式之后,擴展能力大大增強了。它可以根據AI集群的大小,靈活設計組網規模。
我們來舉兩個例子(單POD組網和多POD組網)。
單POD組網中,采用96臺NCP作為接入,其中NCP下行共18個400G接口,負責連接AI計算集群的網卡。上行共40個200G接口,最大可以連接40臺NCF,NCF提供96個200G接口,該規模上下行帶寬為超速比1.1:1。整個POD可支撐1728個400G網絡接口,按照一臺服務器配8塊GPU來計算,可支撐216臺AI計算服務器。
單POD組網
多級POD組網,規模可以變得更大。
在多級POD組網中,NCF設備要犧牲一半的SerDes,用于連接第二級的NCF。所以,此時單POD采用48臺NCP作為接入,下行共18個400G接口。
多POD組網
單個POD內,可以支撐864個400G接口(48×18)。通過橫向增加POD(8個),實現規模擴容,整體最大可支撐6912個400G網絡端口(864×8)。
NCP上行40個200G,接POD內40臺NCF。POD內NCF采用48個200G接口,48個200G接口分為12個一組上行到第二級的NCF。第二級NCF采用40個平面(Plane),每個平面4臺NCF-P,分別對應在POD內的40臺NCF。
整個網絡的POD內實現了1.1:1的超速比(北向帶寬大于南向帶寬),而在POD和二級NCF之間實現了1:1的收斂比(南向帶寬/北向帶寬)。
█ DDC的技術特點
站在規模和帶寬吞吐的角度,DDC已經可以滿足AI大模型訓練對于網絡的需求。
然而,網絡的運作過程是復雜的,DDC還需要在時延對抗、負載均衡性、管理效率等方面有所提升。
- 基于VOQ+Cell的轉發機制,對抗丟包
網絡在工作的過程中,可能會出現突發流量,造成接收端來不及處理,引起擁塞和丟包。
為了應對這種情況,DDC采取了基于VOQ+Cell的轉發機制。
發送端從網絡接收到數據包之后,會分類到VOQ(虛擬輸出隊列)中存儲。
在發送數據包前,NCP會先發送Credit報文,確定接收端是否有足夠的緩存空間處理這些報文。
如果接收端OK,則將數據包分片成Cells(數據包的小切片),并且動態負載均衡到中間的Fabric節點(NCF)。
如果接收端暫時沒能力處理報文,報文會在發送端的VOQ中暫存,并不會直接轉發到接收端。
在接收端,這些Cells會進行重組和存儲,進而轉發到網絡中。
切片后的Cells,將采用輪詢的機制發送。它能夠充分利用到每一條上行鏈路,確保所有上行鏈路的傳輸數據量近似相等。
輪詢機制
這樣的機制,充分利用了緩存,可以大幅度減少丟包,甚至不會產生丟包情況。數據重傳減少了,整體通信時延更穩定更低,從而可以提高帶寬利用率,進而提升業務吞吐效率。
- PFC單跳部署,避免死鎖
前面我們提到,RDMA無損網絡中引入了PFC(基于優先級的流量控制)技術,進行流量控制。
簡單來說,PFC就是在一條以太網鏈路上創建 8 個虛擬通道,并為每條虛擬通道指定相應優先級,允許單獨暫停和重啟其中任意一條虛擬通道,同時允許其它虛擬通道的流量無中斷通過。
PFC可以實現基于隊列的流量控制,但是,它也存在一個問題,那就是死鎖。
所謂死鎖,就是多個交換機之間,因為環路等原因,同時出現了擁塞(各自端口緩存消耗超過了閾值),又都在等待對方釋放資源,從而導致的“僵持狀態”(所有交換機的數據流永久堵塞)。
DDC的組網下,就不存在PFC的死鎖問題。因為,站在整個網絡的角度,所有NCP和NCF可以看成一臺設備。對于AI服務器來說,整個DDC,就是一個交換機,不存在多級交換機。所以,就不存在死鎖。
另外,根據DDC的數據轉發機制,可在接口處部署ECN(顯式擁塞通知)。
ECN機制下,網絡設備一旦檢測到RoCE v2流量出現了擁塞(內部的Credit和緩存機制無法支撐突發流量),就會向服務器端發送CNP(Congestion Notification Packets,擁塞通知報文),要求降速。
- 分布式OS,提升可靠性
最后再看看管理控制平面。
前面我們提到,在DDC架構中,框式設備的管理功能變成了NCC(網絡云控制器)。NCC非常重要,如果采用單點式的方式,萬一出現問題,就會導致整網故障。
為了避免出現這樣的問題,DDC可以取消NCC的集中控制面,構建分布式OS(操作系統)。
基于分布式OS,可以基于SDN運維控制器,通過標準接口(Netconf、GRPC等)配置管理設備。這樣的話,每臺NCP和NCF獨立管理,有獨立的控制面和管理面,大大提升了系統的可靠性,也更加便于部署。
█ DDC的商用進展
綜上所述,相對傳統組網,DDC在組網規模、擴展能力、可靠性、成本、部署速度方面,擁有顯著優勢。它是網絡技術升級的產物,提供了一種顛覆原有網絡架構的思路,可以實現網絡硬件的解耦、網絡架構的統一、轉發容量的擴展。
業界曾經使用OpenMPI測試套件進行過框式設備和傳統組網設備的對比模擬測試。測試結論是:在All-to-All場景下,相較于傳統組網,框式設備的帶寬利用率提升了約20%(對應GPU利用率提升8%左右)。
正是因為DDC的顯著能力優勢,現在這項技術已經成為行業的重點發展方向。例如銳捷網絡,他們就率先推出了兩款可交付的DDC產品,分別是400G NCP交換機——RG-S6930-18QC40F1,以及200G NCF交換機——RG-X56-96F1。
RG-S6930-18QC40F1交換機的高度為2U,提供18個400G的面板口,40個200G的Fabric內聯口,4個風扇和2個電源。
RG-X56-96F1交換機的高度為4U,提供96個200G的Fabric內聯口,8個風扇和4個電源。
據悉,銳捷網絡還會繼續研發、推出400G端口形態的產品。
█ 最后的話
AIGC的崛起,已經掀起了互聯網行業的新一輪技術革命。
我們可以看到,越來越多的企業,正在加入這個賽道,參與角逐。這意味著,網絡基礎設施的升級,迫在眉睫。
DDC的出現,將大幅提升網絡基礎設施的能力,不僅可以有效應對AI革命對網絡基礎設施提出的挑戰,更將助力整個社會的數字化轉型,加速人類數智時代的全面到來。?