2023年,以ChatGPT為代表的AIGC大模型全面崛起,成為了整個社會關(guān)注的焦點。
大模型表現(xiàn)出了強悍的自然語言理解能力,刷新了人們對AI的認(rèn)知,也掀起了新一輪的“算力軍備競賽”。
大家都知道,AIGC大模型的入局門檻是很高的。玩AI的三大必備要素——算力、算法和數(shù)據(jù),每一個都意味著巨大的投入。
以算力為例。ChatGPT的技術(shù)底座,是基于微調(diào)后的GPT3.5大模型,參數(shù)量多達1750億個。為了完成這個大模型的訓(xùn)練,微軟專門建設(shè)了一個AI超算系統(tǒng),投入了1萬個V100 GPU,總算力消耗約3640 PF-days(即假如每秒計算一千萬億次,需要計算3640天)。
業(yè)內(nèi)頭部廠商近期推出的大模型,參數(shù)量規(guī)模更是達到萬億級別,需要的GPU更多,消耗的算力更大。
這些數(shù)量龐大的GPU,一定需要通過算力集群的方式,協(xié)同完成計算任務(wù)。這就意味著,需要一張超高性能、超強可靠的網(wǎng)絡(luò),才能把海量GPU聯(lián)接起來,形成超級計算集群。
那么,問題來了,這張網(wǎng)絡(luò),到底該如何搭建呢?
█ 高性能網(wǎng)絡(luò)的挑戰(zhàn)
想要建設(shè)一張承載AIGC大模型的網(wǎng)絡(luò),需要考慮的因素非常多。
首先,是網(wǎng)絡(luò)規(guī)模。
剛才我們也提到,AI訓(xùn)練都是10000個GPU起步,也有的達到十萬級。從架構(gòu)上,目標(biāo)網(wǎng)絡(luò)就必須hold得住這么多的計算節(jié)點。而且,在節(jié)點增加的同時,集群算力盡量線性提升,不能引入過高的通信開銷,損失算力。
其次,是網(wǎng)絡(luò)帶寬。
超高性能的GPU,加上千億、萬億參數(shù)的訓(xùn)練規(guī)模,使得計算節(jié)點之間的通信量,達到了百GB量級。再加上各種并行模式、加速框架的引入,節(jié)點之間的通道帶寬需求會更高。
傳統(tǒng)數(shù)據(jù)中心通用的100Gbps帶寬接入,根本滿足不了這個需求。我們的目標(biāo)網(wǎng)絡(luò),接入帶寬必須升級到800Gbps、1.6Tbps,甚至更高。
第三,流量調(diào)控。
傳統(tǒng)的網(wǎng)絡(luò)架構(gòu),在應(yīng)對AI大模型訓(xùn)練產(chǎn)生的數(shù)據(jù)流時,存在缺陷。所以,目標(biāo)網(wǎng)絡(luò)需要在架構(gòu)上做文章,更好地控制數(shù)據(jù)流路徑,讓節(jié)點和通道的流量更均衡,避免發(fā)生擁塞。
第四,協(xié)議升級。
網(wǎng)絡(luò)協(xié)議是網(wǎng)絡(luò)工作的行為準(zhǔn)則。它的好壞,直接決定了網(wǎng)絡(luò)的性能、效率和延遲。
傳統(tǒng)數(shù)據(jù)中心的TCP/IP協(xié)議,早已已無法滿足高性能網(wǎng)絡(luò)的大帶寬、低時延需求。性能更強的IB(InfiniBand)協(xié)議、RDMA協(xié)議,已然成為主流。有實力的廠家,還會基于自家硬件設(shè)備,自研更高效的協(xié)議。
第五,運維簡化。
這就不用多說了。超大規(guī)模的網(wǎng)絡(luò),如果還是采用傳統(tǒng)運維,不僅效率跟不上,還會導(dǎo)致更長的故障恢復(fù)周期,損失算力,損失資金。
目前,行業(yè)里的“大模頭”們,都會根據(jù)自己技術(shù)和資金實力,選擇商用網(wǎng)絡(luò)組網(wǎng),或者自研網(wǎng)絡(luò)協(xié)議。
大家心里很清楚,想要贏得這場比賽,除了算力芯片足夠強之外,網(wǎng)絡(luò)的性能表現(xiàn)是至關(guān)重要的。網(wǎng)絡(luò)越強,集群的算力提升就越大,完成模型訓(xùn)練的時間就越短,成本也就越低。
█?星脈網(wǎng)絡(luò),鵝廠的算力集群殺手锏
對于AI大模型這場熱潮,騰訊當(dāng)然不會缺席。他們推出了業(yè)界領(lǐng)先的高性能計算網(wǎng)絡(luò)架構(gòu)——星脈。
騰訊深耕互聯(lián)網(wǎng)行業(yè)20多年,從QQ到微信,他們的超大規(guī)模業(yè)務(wù)承載能力,可以說是行業(yè)頂尖的。在網(wǎng)絡(luò)技術(shù)的理解和駕馭能力上,也是世界領(lǐng)先水平。而星脈,則是他們多年技術(shù)研究的精髓,是真正的殺手锏。
根據(jù)實測,星脈實現(xiàn)了AI大模型通信性能的10倍提升、GPU利用率提升40%、通信時延降低40%。
基于全自研的網(wǎng)絡(luò)硬件平臺,星脈可以實現(xiàn)網(wǎng)絡(luò)建設(shè)成本降低30%,模型訓(xùn)練成本節(jié)省30%~60%。
星脈網(wǎng)絡(luò)的算力效率,遠高于業(yè)界主流值
接下來,我們不妨深入解讀一下,星脈到底采用了哪些黑科技。在前面所提到的幾項挑戰(zhàn)上,騰訊團隊又是如何應(yīng)對的。
網(wǎng)絡(luò)規(guī)模
在組網(wǎng)架構(gòu)上,星脈網(wǎng)絡(luò)采用無阻塞胖樹(Fat-Tree)拓?fù)?,分為Block-Pod-Cluster三級。
星脈網(wǎng)絡(luò)的架構(gòu)
Block是最小單元,包括256個GPU。
Pod是典型集群規(guī)模,包括16~64個Block,也就是4096~16384個GPU。
多個Block可以組成Cluster。1個Cluster最大支持16個Pod,也就是65536~262144個GPU。
26萬個GPU,這個規(guī)模完全能夠滿足目前的訓(xùn)練需求。
網(wǎng)絡(luò)帶寬
騰訊星脈網(wǎng)絡(luò)為每個計算節(jié)點提供了3.2T的超高通信帶寬。
單個服務(wù)器(帶有8個GPU)就是一個計算節(jié)點。每個服務(wù)器有8塊RoCE網(wǎng)卡。每塊網(wǎng)卡的接口速率是400Gbps。
RoCE,是RDMA over Converged Ethernet(基于聚合以太網(wǎng)的RDMA)。RDMA(遠程直接GPU通信訪問)我們以前介紹過很多次。它允許計算節(jié)點之間直接通過內(nèi)存進行數(shù)據(jù)傳輸,無需操作系統(tǒng)內(nèi)核和CPU的參與,能夠大幅減小CPU負(fù)荷,降低延遲,提高吞吐量。
大帶寬帶來的優(yōu)勢是非常顯著的。對于AllReduce和All-to-All這兩種典型通信模式,在不同集群規(guī)模下,1.6Tbps超帶寬都會帶來10倍以上的通信性能提升(相比100Gbps帶寬)。
以AllReduce模式、64 GPU規(guī)模為例,采用1.6Tbps超帶寬網(wǎng)絡(luò),將使得AllReduce的耗時大幅縮短14倍,通信占比從35%減少到3.7%,最終使得單次迭代的訓(xùn)練耗時減少32%。從集群算力的角度來看,相當(dāng)于用同樣的計算資源,系統(tǒng)算力卻提升48%。
流量調(diào)控
為了提升集群的通信效率,星脈網(wǎng)絡(luò)對通信流量路徑進行了優(yōu)化,引入了“多軌道流量聚合架構(gòu)”。
該架構(gòu)將不同服務(wù)器上位于相同位置的網(wǎng)卡,都?xì)w屬于同一個ToR switch(機柜頂部的匯聚交換機)。整個計算網(wǎng)絡(luò)平面,從物理上被劃分為8個獨立并行的軌道平面。
在工作時,GPU之間的數(shù)據(jù),可以用多個軌道并行傳輸加速。并且,大部分流量,都聚合在軌道平面內(nèi)傳輸(只經(jīng)過一級 ToR switch)。只有小部分流量,會跨軌道平面?zhèn)鬏敚ㄐ枰?jīng)過二級 switch)。這大幅減輕了網(wǎng)絡(luò)壓力。
星脈網(wǎng)絡(luò)還采用了“異構(gòu)網(wǎng)絡(luò)自適應(yīng)通信技術(shù)”。
在集群中,GPU之間的通信包括機間網(wǎng)絡(luò)(網(wǎng)卡+交換機)與機內(nèi)網(wǎng)絡(luò)( NVLink/NVSwitch 網(wǎng)絡(luò)、PCIe 總線網(wǎng)絡(luò))。
星脈網(wǎng)絡(luò)將機間、機內(nèi)兩種網(wǎng)絡(luò)同時利用起來,實現(xiàn)了異構(gòu)網(wǎng)絡(luò)之間的聯(lián)合通信優(yōu)化。
例如,在All-to-All通信模式時,每個GPU都會和其它服務(wù)器的不同GPU通信。
基于異構(gòu)網(wǎng)絡(luò)自適應(yīng)通信技術(shù),不同服務(wù)器上相同位置的GPU,在同一軌道平面,仍然走機間網(wǎng)絡(luò)通信。
但是,要去往不同位置的GPU(比如host1上的GPU1,需要向其它host上的GPU8 送數(shù)據(jù)),則先通過機內(nèi)網(wǎng)絡(luò),轉(zhuǎn)發(fā)到host1上的GPU8上,然后通過機間網(wǎng)絡(luò),來完成通信。
這樣一來,機間網(wǎng)絡(luò)的流量,大部分都聚合在軌道內(nèi)傳輸(只經(jīng)過一級 ToR switch)。機間網(wǎng)絡(luò)的流量大幅減少,沖擊概率也明顯下降,從而提供了整網(wǎng)性能。
根據(jù)實測,異構(gòu)網(wǎng)絡(luò)通信在大規(guī)模All-to-All場景下,對中小數(shù)據(jù)包的傳輸性能提升在30%左右。
協(xié)議升級
星脈網(wǎng)絡(luò)采用的“自研端網(wǎng)協(xié)同協(xié)議TiTa”,可以提供更高的網(wǎng)絡(luò)通信性能,非常適合大規(guī)模參數(shù)模型訓(xùn)練。
TiTa協(xié)議內(nèi)嵌擁塞控制算法,可以實時監(jiān)控網(wǎng)絡(luò)狀態(tài)并進行通信優(yōu)化。它就好比是一個智能交通管理系統(tǒng),可以讓網(wǎng)絡(luò)上的數(shù)據(jù)傳輸更加通暢。
TiTa協(xié)議的處理方式
面對定制設(shè)計的高性能組網(wǎng)架構(gòu),業(yè)界開源的GPU集合通信庫(例如NCCL)并不能將網(wǎng)絡(luò)的通信性能發(fā)揮到極致。為此,騰訊推出了“高性能集合通信庫TCCL(Tencent Collective Communication Library)”。
TCCL就像一個智能導(dǎo)航系統(tǒng)。它在網(wǎng)卡設(shè)備管理、全局網(wǎng)絡(luò)路由、拓?fù)涓兄H和性調(diào)度、網(wǎng)絡(luò)故障自動告警等方面進行了深度定制,對網(wǎng)絡(luò)了如指掌,讓流量路徑更加合理。
例如,從GPU A到GPU B,原來需要經(jīng)過9個路口。有了TCCL導(dǎo)航之后,只需要走4個路口,提升了效率。
根據(jù)實測,在AllReduce/AllGather/ReduceScatter等常用通信模式下,TCCL能給星脈網(wǎng)絡(luò)帶來40%左右的通信性能提升。
部署和運維簡化
算力集群網(wǎng)絡(luò)越龐大,它的部署和維護難度也就越大。
了提升星脈網(wǎng)絡(luò)的可靠性,騰訊自研了一套全棧網(wǎng)絡(luò)運營系統(tǒng),實現(xiàn)了“端網(wǎng)部署一體化”、“一鍵故障定位”、“業(yè)務(wù)無感秒級網(wǎng)絡(luò)自愈”,對網(wǎng)絡(luò)進行全方位保駕護航。
先看看“端網(wǎng)部署一體化”。
部署一直都是高性能網(wǎng)絡(luò)的痛點。在星脈網(wǎng)絡(luò)之前,根據(jù)統(tǒng)計,90%的高性能網(wǎng)絡(luò)故障問題,是因為配置錯誤導(dǎo)致。原因很簡單,網(wǎng)卡的配置套餐太多(取決于架構(gòu)版本、業(yè)務(wù)類型和網(wǎng)卡類型),人為操作很難保證不出錯。
騰訊的解決方法,是將配置過程自動化。
他們通過API的方式,實現(xiàn)單臺/多臺交換機的并行部署能力。
在正式部署前,系統(tǒng)會自動對基礎(chǔ)網(wǎng)絡(luò)環(huán)境進行校驗,看看上級交換機的配置是否合理等。
然后,識別外部因素,自動選擇配置模板。
配置完成后,為了保證交付質(zhì)量,運營平臺還會進行自動化驗收,包括一系列的性能和可靠性測試。
所有工作完成后,系統(tǒng)才會進入交付狀態(tài)。
根據(jù)數(shù)據(jù)統(tǒng)計,基于端網(wǎng)一體部署能力,大模型訓(xùn)練系統(tǒng)的整體部署時間從19天縮減到4.5天,并保證了基礎(chǔ)配置100%準(zhǔn)確。
再看看運維階段的“一鍵故障定位”。
星脈網(wǎng)絡(luò)具有端網(wǎng)高度協(xié)同的特點,增加了端側(cè)的運營能力。運營平臺通過數(shù)據(jù)采集模塊,獲取端側(cè)服務(wù)器和網(wǎng)絡(luò)側(cè)交換機的數(shù)據(jù),聯(lián)動網(wǎng)管拓?fù)湫畔?,可以做到快速診斷與自動化檢查。
一鍵故障定位,可以快速定界問題方向,精準(zhǔn)推送到對應(yīng)團隊的運營人員(網(wǎng)絡(luò)or業(yè)務(wù)),減少溝通成本,劃分責(zé)任界限。而且,它還有利于快速定位問題根因,并給出解決方案。
最后,是“業(yè)務(wù)無感秒級網(wǎng)絡(luò)自愈”。
在網(wǎng)絡(luò)運行的過程中,故障是無法避免的。
為了將故障自愈時間縮短到極致,騰訊推出了秒級故障自愈產(chǎn)品——“HASH DODGING”。
這是一種基于Hash偏移算法的網(wǎng)絡(luò)相對路徑控制方法。即,終端僅需修改數(shù)據(jù)包頭特定字段(如IP頭TOS字段)的值,即可使得修改后的包傳輸路徑與修改前路徑無公共節(jié)點。
在網(wǎng)絡(luò)數(shù)據(jù)平面發(fā)生故障(如靜默丟包、路由黑洞)時,該方案可以幫助TCP快速繞過故障點,不會產(chǎn)生對標(biāo)準(zhǔn)拓?fù)浼疤囟ㄔ炊丝谔柕囊蕾嚒?/p>
單路徑傳輸協(xié)議下,使用本方案,實現(xiàn)確定性換路
█ 結(jié)語
以上,就是對騰訊星脈高性能計算網(wǎng)絡(luò)的關(guān)鍵技術(shù)分析。
這些關(guān)鍵技術(shù),揭示了高性能網(wǎng)絡(luò)的發(fā)展思路和演進方向。隨著AI大模型的深入發(fā)展,人類對AI算力的需求會不斷增加。
日前,騰訊云發(fā)布的新一代HCC高性能計算集群,正是基于星脈高性能網(wǎng)絡(luò)打造,算力性能較前代提升3倍,為AI大模型訓(xùn)練構(gòu)筑可靠的高性能網(wǎng)絡(luò)底座。
未來已來,這場圍繞算力和連接力的角逐已經(jīng)開始。更多的精彩還在后面,讓我們拭目以待吧!