首頁 資訊 > 資訊 > 正文

死磕AI大模型網(wǎng)絡(luò),鵝廠出招了!

2023年,以ChatGPT為代表的AIGC大模型全面崛起,成為了整個(gè)社會(huì)關(guān)注的焦點(diǎn)。


(資料圖片僅供參考)

大模型表現(xiàn)出了強(qiáng)悍的自然語言理解能力,刷新了人們對(duì)AI的認(rèn)知,也掀起了新一輪的“算力軍備競(jìng)賽”。

大家都知道,AIGC大模型的入局門檻是很高的。玩AI的三大必備要素——算力、算法和數(shù)據(jù),每一個(gè)都意味著巨大的投入。

以算力為例。ChatGPT的技術(shù)底座,是基于微調(diào)后的GPT3.5大模型,參數(shù)量多達(dá)1750億個(gè)。為了完成這個(gè)大模型的訓(xùn)練,微軟專門建設(shè)了一個(gè)AI超算系統(tǒng),投入了1萬個(gè)V100 GPU,總算力消耗約3640 PF-days(即假如每秒計(jì)算一千萬億次,需要計(jì)算3640天)。

業(yè)內(nèi)頭部廠商近期推出的大模型,參數(shù)量規(guī)模更是達(dá)到萬億級(jí)別,需要的GPU更多,消耗的算力更大。

這些數(shù)量龐大的GPU,一定需要通過算力集群的方式,協(xié)同完成計(jì)算任務(wù)。這就意味著,需要一張超高性能、超強(qiáng)可靠的網(wǎng)絡(luò),才能把海量GPU聯(lián)接起來,形成超級(jí)計(jì)算集群。

那么,問題來了,這張網(wǎng)絡(luò),到底該如何搭建呢?

高性能網(wǎng)絡(luò)的挑戰(zhàn)

想要建設(shè)一張承載AIGC大模型的網(wǎng)絡(luò),需要考慮的因素非常多。

首先,是網(wǎng)絡(luò)規(guī)模。

剛才我們也提到,AI訓(xùn)練都是10000個(gè)GPU起步,也有的達(dá)到十萬級(jí)。從架構(gòu)上,目標(biāo)網(wǎng)絡(luò)就必須hold得住這么多的計(jì)算節(jié)點(diǎn)。而且,在節(jié)點(diǎn)增加的同時(shí),集群算力盡量線性提升,不能引入過高的通信開銷,損失算力。

其次,是網(wǎng)絡(luò)帶寬。

超高性能的GPU,加上千億、萬億參數(shù)的訓(xùn)練規(guī)模,使得計(jì)算節(jié)點(diǎn)之間的通信量,達(dá)到了百GB量級(jí)。再加上各種并行模式、加速框架的引入,節(jié)點(diǎn)之間的通道帶寬需求會(huì)更高。

傳統(tǒng)數(shù)據(jù)中心通用的100Gbps帶寬接入,根本滿足不了這個(gè)需求。我們的目標(biāo)網(wǎng)絡(luò),接入帶寬必須升級(jí)到800Gbps、1.6Tbps,甚至更高。

第三,流量調(diào)控。

傳統(tǒng)的網(wǎng)絡(luò)架構(gòu),在應(yīng)對(duì)AI大模型訓(xùn)練產(chǎn)生的數(shù)據(jù)流時(shí),存在缺陷。所以,目標(biāo)網(wǎng)絡(luò)需要在架構(gòu)上做文章,更好地控制數(shù)據(jù)流路徑,讓節(jié)點(diǎn)和通道的流量更均衡,避免發(fā)生擁塞。

第四,協(xié)議升級(jí)。

網(wǎng)絡(luò)協(xié)議是網(wǎng)絡(luò)工作的行為準(zhǔn)則。它的好壞,直接決定了網(wǎng)絡(luò)的性能、效率和延遲。

傳統(tǒng)數(shù)據(jù)中心的TCP/IP協(xié)議,早已已無法滿足高性能網(wǎng)絡(luò)的大帶寬、低時(shí)延需求。性能更強(qiáng)的IB(InfiniBand)協(xié)議、RDMA協(xié)議,已然成為主流。有實(shí)力的廠家,還會(huì)基于自家硬件設(shè)備,自研更高效的協(xié)議。

第五,運(yùn)維簡(jiǎn)化。

這就不用多說了。超大規(guī)模的網(wǎng)絡(luò),如果還是采用傳統(tǒng)運(yùn)維,不僅效率跟不上,還會(huì)導(dǎo)致更長(zhǎng)的故障恢復(fù)周期,損失算力,損失資金。

目前,行業(yè)里的“大模頭”們,都會(huì)根據(jù)自己技術(shù)和資金實(shí)力,選擇商用網(wǎng)絡(luò)組網(wǎng),或者自研網(wǎng)絡(luò)協(xié)議。

大家心里很清楚,想要贏得這場(chǎng)比賽,除了算力芯片足夠強(qiáng)之外,網(wǎng)絡(luò)的性能表現(xiàn)是至關(guān)重要的。網(wǎng)絡(luò)越強(qiáng),集群的算力提升就越大,完成模型訓(xùn)練的時(shí)間就越短,成本也就越低。

星脈網(wǎng)絡(luò),鵝廠的算力集群殺手锏

對(duì)于AI大模型這場(chǎng)熱潮,騰訊當(dāng)然不會(huì)缺席。他們推出了業(yè)界領(lǐng)先的高性能計(jì)算網(wǎng)絡(luò)架構(gòu)——星脈

騰訊深耕互聯(lián)網(wǎng)行業(yè)20多年,從QQ到微信,他們的超大規(guī)模業(yè)務(wù)承載能力,可以說是行業(yè)頂尖的。在網(wǎng)絡(luò)技術(shù)的理解和駕馭能力上,也是世界領(lǐng)先水平。而星脈,則是他們多年技術(shù)研究的精髓,是真正的殺手锏。

根據(jù)實(shí)測(cè),星脈實(shí)現(xiàn)了AI大模型通信性能的10倍提升、GPU利用率提升40%、通信時(shí)延降低40%。

基于全自研的網(wǎng)絡(luò)硬件平臺(tái),星脈可以實(shí)現(xiàn)網(wǎng)絡(luò)建設(shè)成本降低30%,模型訓(xùn)練成本節(jié)省30%~60%。

星脈網(wǎng)絡(luò)的算力效率,遠(yuǎn)高于業(yè)界主流值

接下來,我們不妨深入解讀一下,星脈到底采用了哪些黑科技。在前面所提到的幾項(xiàng)挑戰(zhàn)上,騰訊團(tuán)隊(duì)又是如何應(yīng)對(duì)的。

網(wǎng)絡(luò)規(guī)模

在組網(wǎng)架構(gòu)上,星脈網(wǎng)絡(luò)采用無阻塞胖樹(Fat-Tree)拓?fù)?,分為Block-Pod-Cluster三級(jí)。

星脈網(wǎng)絡(luò)的架構(gòu)

Block是最小單元,包括256個(gè)GPU。

Pod是典型集群規(guī)模,包括16~64個(gè)Block,也就是4096~16384個(gè)GPU。

多個(gè)Block可以組成Cluster。1個(gè)Cluster最大支持16個(gè)Pod,也就是65536~262144個(gè)GPU。

26萬個(gè)GPU,這個(gè)規(guī)模完全能夠滿足目前的訓(xùn)練需求。

網(wǎng)絡(luò)帶寬

騰訊星脈網(wǎng)絡(luò)為每個(gè)計(jì)算節(jié)點(diǎn)提供了3.2T的超高通信帶寬。

單個(gè)服務(wù)器(帶有8個(gè)GPU)就是一個(gè)計(jì)算節(jié)點(diǎn)。每個(gè)服務(wù)器有8塊RoCE網(wǎng)卡。每塊網(wǎng)卡的接口速率是400Gbps。

RoCE,是RDMA over Converged Ethernet(基于聚合以太網(wǎng)的RDMA)。RDMA(遠(yuǎn)程直接GPU通信訪問)我們以前介紹過很多次。它允許計(jì)算節(jié)點(diǎn)之間直接通過內(nèi)存進(jìn)行數(shù)據(jù)傳輸,無需操作系統(tǒng)內(nèi)核和CPU的參與,能夠大幅減小CPU負(fù)荷,降低延遲,提高吞吐量。

大帶寬帶來的優(yōu)勢(shì)是非常顯著的。對(duì)于AllReduce和All-to-All這兩種典型通信模式,在不同集群規(guī)模下,1.6Tbps超帶寬都會(huì)帶來10倍以上的通信性能提升(相比100Gbps帶寬)。

以AllReduce模式、64 GPU規(guī)模為例,采用1.6Tbps超帶寬網(wǎng)絡(luò),將使得AllReduce的耗時(shí)大幅縮短14倍,通信占比從35%減少到3.7%,最終使得單次迭代的訓(xùn)練耗時(shí)減少32%。從集群算力的角度來看,相當(dāng)于用同樣的計(jì)算資源,系統(tǒng)算力卻提升48%。

流量調(diào)控

為了提升集群的通信效率,星脈網(wǎng)絡(luò)對(duì)通信流量路徑進(jìn)行了優(yōu)化,引入了“多軌道流量聚合架構(gòu)”。

該架構(gòu)將不同服務(wù)器上位于相同位置的網(wǎng)卡,都?xì)w屬于同一個(gè)ToR switch(機(jī)柜頂部的匯聚交換機(jī))。整個(gè)計(jì)算網(wǎng)絡(luò)平面,從物理上被劃分為8個(gè)獨(dú)立并行的軌道平面。

在工作時(shí),GPU之間的數(shù)據(jù),可以用多個(gè)軌道并行傳輸加速。并且,大部分流量,都聚合在軌道平面內(nèi)傳輸(只經(jīng)過一級(jí) ToR switch)。只有小部分流量,會(huì)跨軌道平面?zhèn)鬏敚ㄐ枰?jīng)過二級(jí) switch)。這大幅減輕了網(wǎng)絡(luò)壓力。

星脈網(wǎng)絡(luò)還采用了“異構(gòu)網(wǎng)絡(luò)自適應(yīng)通信技術(shù)”。

在集群中,GPU之間的通信包括機(jī)間網(wǎng)絡(luò)(網(wǎng)卡+交換機(jī))與機(jī)內(nèi)網(wǎng)絡(luò)( NVLink/NVSwitch 網(wǎng)絡(luò)、PCIe 總線網(wǎng)絡(luò))。

星脈網(wǎng)絡(luò)將機(jī)間、機(jī)內(nèi)兩種網(wǎng)絡(luò)同時(shí)利用起來,實(shí)現(xiàn)了異構(gòu)網(wǎng)絡(luò)之間的聯(lián)合通信優(yōu)化。

例如,在All-to-All通信模式時(shí),每個(gè)GPU都會(huì)和其它服務(wù)器的不同GPU通信。

基于異構(gòu)網(wǎng)絡(luò)自適應(yīng)通信技術(shù),不同服務(wù)器上相同位置的GPU,在同一軌道平面,仍然走機(jī)間網(wǎng)絡(luò)通信。

但是,要去往不同位置的GPU(比如host1上的GPU1,需要向其它host上的GPU8 送數(shù)據(jù)),則先通過機(jī)內(nèi)網(wǎng)絡(luò),轉(zhuǎn)發(fā)到host1上的GPU8上,然后通過機(jī)間網(wǎng)絡(luò),來完成通信。

這樣一來,機(jī)間網(wǎng)絡(luò)的流量,大部分都聚合在軌道內(nèi)傳輸(只經(jīng)過一級(jí) ToR switch)。機(jī)間網(wǎng)絡(luò)的流量大幅減少,沖擊概率也明顯下降,從而提供了整網(wǎng)性能。

根據(jù)實(shí)測(cè),異構(gòu)網(wǎng)絡(luò)通信在大規(guī)模All-to-All場(chǎng)景下,對(duì)中小數(shù)據(jù)包的傳輸性能提升在30%左右。

協(xié)議升級(jí)

星脈網(wǎng)絡(luò)采用的“自研端網(wǎng)協(xié)同協(xié)議TiTa”,可以提供更高的網(wǎng)絡(luò)通信性能,非常適合大規(guī)模參數(shù)模型訓(xùn)練。

TiTa協(xié)議內(nèi)嵌擁塞控制算法,可以實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)狀態(tài)并進(jìn)行通信優(yōu)化。它就好比是一個(gè)智能交通管理系統(tǒng),可以讓網(wǎng)絡(luò)上的數(shù)據(jù)傳輸更加通暢。

TiTa協(xié)議的處理方式

面對(duì)定制設(shè)計(jì)的高性能組網(wǎng)架構(gòu),業(yè)界開源的GPU集合通信庫(kù)(例如NCCL)并不能將網(wǎng)絡(luò)的通信性能發(fā)揮到極致。為此,騰訊推出了“高性能集合通信庫(kù)TCCL(Tencent Collective Communication Library)”。

TCCL就像一個(gè)智能導(dǎo)航系統(tǒng)。它在網(wǎng)卡設(shè)備管理、全局網(wǎng)絡(luò)路由、拓?fù)涓兄H和性調(diào)度、網(wǎng)絡(luò)故障自動(dòng)告警等方面進(jìn)行了深度定制,對(duì)網(wǎng)絡(luò)了如指掌,讓流量路徑更加合理。

例如,從GPU A到GPU B,原來需要經(jīng)過9個(gè)路口。有了TCCL導(dǎo)航之后,只需要走4個(gè)路口,提升了效率。

根據(jù)實(shí)測(cè),在AllReduce/AllGather/ReduceScatter等常用通信模式下,TCCL能給星脈網(wǎng)絡(luò)帶來40%左右的通信性能提升。

部署和運(yùn)維簡(jiǎn)化

算力集群網(wǎng)絡(luò)越龐大,它的部署和維護(hù)難度也就越大。

了提升星脈網(wǎng)絡(luò)的可靠性,騰訊自研了一套全棧網(wǎng)絡(luò)運(yùn)營(yíng)系統(tǒng),實(shí)現(xiàn)了“端網(wǎng)部署一體化”、“一鍵故障定位”“業(yè)務(wù)無感秒級(jí)網(wǎng)絡(luò)自愈”,對(duì)網(wǎng)絡(luò)進(jìn)行全方位保駕護(hù)航。

先看看“端網(wǎng)部署一體化”。

部署一直都是高性能網(wǎng)絡(luò)的痛點(diǎn)。在星脈網(wǎng)絡(luò)之前,根據(jù)統(tǒng)計(jì),90%的高性能網(wǎng)絡(luò)故障問題,是因?yàn)榕渲缅e(cuò)誤導(dǎo)致。原因很簡(jiǎn)單,網(wǎng)卡的配置套餐太多(取決于架構(gòu)版本、業(yè)務(wù)類型和網(wǎng)卡類型),人為操作很難保證不出錯(cuò)。

騰訊的解決方法,是將配置過程自動(dòng)化。

他們通過API的方式,實(shí)現(xiàn)單臺(tái)/多臺(tái)交換機(jī)的并行部署能力。

在正式部署前,系統(tǒng)會(huì)自動(dòng)對(duì)基礎(chǔ)網(wǎng)絡(luò)環(huán)境進(jìn)行校驗(yàn),看看上級(jí)交換機(jī)的配置是否合理等。

然后,識(shí)別外部因素,自動(dòng)選擇配置模板。

配置完成后,為了保證交付質(zhì)量,運(yùn)營(yíng)平臺(tái)還會(huì)進(jìn)行自動(dòng)化驗(yàn)收,包括一系列的性能和可靠性測(cè)試。

所有工作完成后,系統(tǒng)才會(huì)進(jìn)入交付狀態(tài)。

根據(jù)數(shù)據(jù)統(tǒng)計(jì),基于端網(wǎng)一體部署能力,大模型訓(xùn)練系統(tǒng)的整體部署時(shí)間從19天縮減到4.5天,并保證了基礎(chǔ)配置100%準(zhǔn)確。

再看看運(yùn)維階段的“一鍵故障定位”。

星脈網(wǎng)絡(luò)具有端網(wǎng)高度協(xié)同的特點(diǎn),增加了端側(cè)的運(yùn)營(yíng)能力。運(yùn)營(yíng)平臺(tái)通過數(shù)據(jù)采集模塊,獲取端側(cè)服務(wù)器和網(wǎng)絡(luò)側(cè)交換機(jī)的數(shù)據(jù),聯(lián)動(dòng)網(wǎng)管拓?fù)湫畔?,可以做到快速診斷與自動(dòng)化檢查。

一鍵故障定位,可以快速定界問題方向,精準(zhǔn)推送到對(duì)應(yīng)團(tuán)隊(duì)的運(yùn)營(yíng)人員(網(wǎng)絡(luò)or業(yè)務(wù)),減少溝通成本,劃分責(zé)任界限。而且,它還有利于快速定位問題根因,并給出解決方案。

最后,是“業(yè)務(wù)無感秒級(jí)網(wǎng)絡(luò)自愈”。

在網(wǎng)絡(luò)運(yùn)行的過程中,故障是無法避免的。

為了將故障自愈時(shí)間縮短到極致,騰訊推出了秒級(jí)故障自愈產(chǎn)品——“HASH DODGING”。

這是一種基于Hash偏移算法的網(wǎng)絡(luò)相對(duì)路徑控制方法。即,終端僅需修改數(shù)據(jù)包頭特定字段(如IP頭TOS字段)的值,即可使得修改后的包傳輸路徑與修改前路徑無公共節(jié)點(diǎn)。

在網(wǎng)絡(luò)數(shù)據(jù)平面發(fā)生故障(如靜默丟包、路由黑洞)時(shí),該方案可以幫助TCP快速繞過故障點(diǎn),不會(huì)產(chǎn)生對(duì)標(biāo)準(zhǔn)拓?fù)浼疤囟ㄔ炊丝谔?hào)的依賴。

單路徑傳輸協(xié)議下,使用本方案,實(shí)現(xiàn)確定性換路

結(jié)語

以上,就是對(duì)騰訊星脈高性能計(jì)算網(wǎng)絡(luò)的關(guān)鍵技術(shù)分析。

這些關(guān)鍵技術(shù),揭示了高性能網(wǎng)絡(luò)的發(fā)展思路和演進(jìn)方向。隨著AI大模型的深入發(fā)展,人類對(duì)AI算力的需求會(huì)不斷增加。

日前,騰訊云發(fā)布的新一代HCC高性能計(jì)算集群,正是基于星脈高性能網(wǎng)絡(luò)打造,算力性能較前代提升3倍,為AI大模型訓(xùn)練構(gòu)筑可靠的高性能網(wǎng)絡(luò)底座。

未來已來,這場(chǎng)圍繞算力和連接力的角逐已經(jīng)開始。更多的精彩還在后面,讓我們拭目以待吧!

關(guān)鍵詞:

最近更新

關(guān)于本站 管理團(tuán)隊(duì) 版權(quán)申明 網(wǎng)站地圖 聯(lián)系合作 招聘信息

Copyright © 2005-2023 創(chuàng)投網(wǎng) - www.mallikadua.com All rights reserved
聯(lián)系我們:39 60 29 14 2@qq.com
皖I(lǐng)CP備2022009963號(hào)-3