智東西(公眾號(hào):zhidxcom)
作者 | 徐豫
編輯 | 漠影
智東西9月13日消息,百度系統(tǒng)架構(gòu)師、百度智能云AI計(jì)算部負(fù)責(zé)人王雁鵬向媒體解讀了大模型時(shí)代的算力成本。為了有效降低AI萬卡集群的算力開支,他提出搭載RDMA網(wǎng)絡(luò)、自動(dòng)并行策略、保證訓(xùn)練穩(wěn)定性、動(dòng)態(tài)分配算力、多芯異構(gòu)混訓(xùn),共五個(gè)方面的解決方案。
過去互聯(lián)網(wǎng)時(shí)代,服務(wù)器每臺(tái)數(shù)萬元,各大廠商光是采購成本就要花費(fèi)幾個(gè)億。高昂的支出促使互聯(lián)網(wǎng)大廠自研服務(wù)器,百度也是其中一員,該公司自2011年起涉足計(jì)算基礎(chǔ)設(shè)施建設(shè)。
然而,伴隨深度學(xué)習(xí)的發(fā)展,GPU集群來到萬卡規(guī)模,大模型時(shí)代的算力成本已經(jīng)遠(yuǎn)高于人力成本。王雁鵬稱,當(dāng)下浪費(fèi)僅僅1%的算力,也是很大的一筆花銷,算力之貴也體現(xiàn)出計(jì)算基礎(chǔ)設(shè)施的重要性。
近期,不少業(yè)內(nèi)人士認(rèn)為,“兼容CUDA是AI芯片的決勝點(diǎn)”,但王雁鵬并不認(rèn)可這個(gè)觀點(diǎn)。他解釋道,不少模型兼容CUDA后,只留住了1/3的性能,失去了原有的競(jìng)爭(zhēng)力。英偉達(dá)是基于CUDA構(gòu)建了一個(gè)加速庫生態(tài),王雁鵬則認(rèn)為,其中生態(tài)庫的壁壘才是真正的難點(diǎn)。
一、當(dāng)前的模型訓(xùn)練普遍吃掉了超5成算力
來到AI大模型時(shí)代,算力的復(fù)雜性已從硬件轉(zhuǎn)移到了軟件上,這也導(dǎo)致各大AI開發(fā)者利用算力的難度指數(shù)級(jí)上升。據(jù)百度系統(tǒng)架構(gòu)師、百度智能云AI計(jì)算部負(fù)責(zé)人王雁鵬了解,現(xiàn)階段的模型訓(xùn)練普遍浪費(fèi)了超5成的算力。
最初的CPU通用計(jì)算時(shí)代,硬件和軟件之間高度協(xié)同,假設(shè)CPU的性能提升了一倍,那么使用該CPU的軟件,其性能也會(huì)相應(yīng)地翻一番。
后續(xù)來到GPU數(shù)值加速計(jì)算時(shí)代,芯片架構(gòu)更簡(jiǎn)單,以專注于提供最大的算力。開發(fā)者們通常利用GPU突出的算力優(yōu)勢(shì),構(gòu)建一系列復(fù)雜的加速庫和框架,有針對(duì)性地適配不同應(yīng)用場(chǎng)景。
目前,我們已處于AI大集群超算時(shí)代。單一的芯片已經(jīng)不足以獨(dú)立解決問題,因此需要大規(guī)模的芯片協(xié)同解決一個(gè)問題,GPU集群規(guī)模甚至達(dá)到10萬卡。
在王雁鵬看來,上述計(jì)算范式的變遷決定了計(jì)算體系機(jī)構(gòu)的技術(shù)發(fā)展,而這種結(jié)構(gòu)上的變化,又催生了云計(jì)算的技術(shù)和產(chǎn)品格局。“云計(jì)算可以看作一種售賣AI基礎(chǔ)設(shè)施的形式”,他說道。
打個(gè)比方,現(xiàn)在可能只有一塊GPU,但其算力分給了100個(gè)人用;或者說一個(gè)訓(xùn)練任務(wù)被切分到十萬張卡里運(yùn)算,這背后需要充足的存儲(chǔ)資源來支撐。
▲有效算力的5大參考指標(biāo)
如何在大模型時(shí)代發(fā)揮出AI大集群的有效算力,王彥鵬給出了一個(gè)計(jì)算模型訓(xùn)練過程中有效算力的公式,即有效算力相當(dāng)于能耗有效率(PUE)、單卡算力有效率(MFU)、并行擴(kuò)展有效率、有效訓(xùn)練時(shí)間、資源利用這5項(xiàng)數(shù)據(jù)的乘積。
二、從五大維度釋放萬卡集群的GPU算力
為了解決大模型時(shí)代算力利用率低的難點(diǎn),王彥鵬從有效算力公式中的五大方面入手,提出了5個(gè)有助于釋放算力潛能的GPU設(shè)計(jì)理念。
1、為萬卡AI場(chǎng)景設(shè)計(jì)的RDMA網(wǎng)絡(luò)適配AI集群
傳統(tǒng)的IB網(wǎng)絡(luò)是為HPC設(shè)計(jì)的,并不適用于AI集群。這主要是因?yàn)閮烧叩脑O(shè)計(jì)理念優(yōu)先級(jí)存在沖突,HPC是延遲優(yōu)先,AI則是吞吐優(yōu)先。
據(jù)王彥鵬透露,百度長(zhǎng)期基于RDMA網(wǎng)絡(luò)構(gòu)建萬卡級(jí)別以上的AI集群,以減少內(nèi)存帶寬瓶頸。從數(shù)據(jù)結(jié)果來看,應(yīng)用RDMA網(wǎng)絡(luò)后AI集群的帶寬有效率從60%提升至95%,模型性能則增強(qiáng)了5%到10%。
2、自動(dòng)并行策略是AI集群最重要的演進(jìn)范式
百度的自動(dòng)并行策略搜索有兩個(gè)核心策略。
一方面,百度采取了“邊計(jì)算邊通信”的方式,節(jié)省數(shù)據(jù)搬運(yùn)所花費(fèi)的時(shí)間,減少算力和能源損耗。
另一方面,顯存優(yōu)化的切分策略將運(yùn)算中斷所浪費(fèi)的時(shí)間,控制在幾分鐘內(nèi)。
▲百度通過RDMA網(wǎng)絡(luò)支撐AI萬卡集群的訓(xùn)練
得益于此,百度旗下的模型性能不僅能達(dá)到開源模型的130%,也比人工調(diào)優(yōu)的模型效果好。
3、保證穩(wěn)定不間斷的任務(wù)運(yùn)行是一個(gè)系統(tǒng)工程
王彥鵬多次強(qiáng)調(diào)了穩(wěn)定性在AI訓(xùn)練中起到的重要作用。AI訓(xùn)練的計(jì)算任務(wù)是同步進(jìn)行的,如果中途出現(xiàn)故障,萬卡的故障定位是一個(gè)非常困難且不可控的事情。
同時(shí),考慮到萬卡規(guī)模的AI集群中斷頻率較高,通常是牽一發(fā)而動(dòng)全身。王彥鵬提出,“無效訓(xùn)練時(shí)間=故障次數(shù)*故障恢復(fù)時(shí)間+寫檢查點(diǎn)的時(shí)間”。因此,一旦某個(gè)點(diǎn)位出現(xiàn)故障,其影響可能被擴(kuò)大了十萬倍。
▲可以通過3個(gè)公式綜合判斷AI集群的訓(xùn)練效率
據(jù)王彥鵬介紹,百度通過Hang檢測(cè)、慢節(jié)點(diǎn)檢測(cè)、秒級(jí)捕捉檢查點(diǎn)、分鐘級(jí)任務(wù)恢復(fù)等方式,來定位和修復(fù)出現(xiàn)故障的單張芯片。目前,百度文心一言大模型的有效訓(xùn)練時(shí)長(zhǎng)比例超99%。
4、訓(xùn)練一體提升資源利用率
目前,主流模型訓(xùn)練存在以下4個(gè)劣勢(shì)。
首先在線推理或計(jì)算任務(wù)當(dāng)中,系統(tǒng)在峰值負(fù)載時(shí)的性能是平均負(fù)載時(shí)的3倍。這意味著系統(tǒng)在設(shè)計(jì)時(shí)預(yù)留了較多的算力以應(yīng)對(duì)峰值。但AI集群的波峰和波谷其實(shí)較為明顯,這也造成非峰值時(shí)資源的大量浪費(fèi),后續(xù)在設(shè)計(jì)上還可以進(jìn)一步優(yōu)化。
其次,大量微調(diào)模型存在冷熱分布不均的情況。此外,其實(shí)有很多計(jì)算任務(wù)可以通過離線推理實(shí)現(xiàn),但仍占用了一定的算力資源。最后,從單卡計(jì)算轉(zhuǎn)向萬卡計(jì)算時(shí)代,訓(xùn)練任務(wù)分布廣、數(shù)量大。
對(duì)于上述問題,王雁鵬認(rèn)為,總的來說是要實(shí)現(xiàn)算力流量和資源的動(dòng)態(tài)分配,以便跑通不同規(guī)模的層級(jí)。百度的百舸異構(gòu)計(jì)算平臺(tái)(AIHC)運(yùn)用單機(jī)多推理實(shí)力混合布局、彈性層級(jí)隊(duì)列、訓(xùn)練任務(wù)彈性伸縮機(jī)制三種模式后,公司內(nèi)部和客戶的資源利用率都從50%提升到了90%。
5、多芯混訓(xùn)是解決算力卡脖子的關(guān)鍵技術(shù)
據(jù)王雁鵬介紹,目前市面上的芯片規(guī)格、版本、存量和算力水平都參差不齊。他提出,可以用一套兼容的框架將各式各樣的芯片組合起來,形成一個(gè)強(qiáng)大的算力集群。
有共同的“大腦”后,AI開發(fā)者可以通過該集群統(tǒng)一調(diào)動(dòng)所有芯片的算力,從而提高效率、節(jié)省開支。
百度在異構(gòu)并行切分策略下,搭建了跨芯溝通庫,并采用了Accelerator抽象設(shè)計(jì)方法,從而實(shí)現(xiàn)千卡性能損失僅3%,以及萬卡性能損失僅5%。
不過,王雁鵬也談道,多芯的異構(gòu)混訓(xùn)雖然理論上可行,但實(shí)際推廣起來,還有諸多技術(shù)難點(diǎn)亟待解決。
結(jié)語:突破3個(gè)核心技術(shù),為十萬卡集群做準(zhǔn)備
目前,美國AI大模型獨(dú)角獸OpenAI和xAI的模型訓(xùn)練規(guī)模已卷到10萬卡級(jí)別,百度也將加入這場(chǎng)圍繞AI集群算力的競(jìng)爭(zhēng),算力應(yīng)用場(chǎng)景則聚焦于大語言模型和自動(dòng)駕駛技術(shù)。
王雁鵬向媒體透露,后續(xù)百度將持續(xù)在3個(gè)核心技術(shù)上尋求芯片設(shè)計(jì)架構(gòu)的突破。
首先是實(shí)現(xiàn)更高效的拓?fù)浜蛽砣刂,該公司希望將無阻塞RDMA域擴(kuò)大10倍。
除此之外,百度計(jì)劃將跨地域的RDMA網(wǎng)絡(luò)范圍擴(kuò)大至方圓30km內(nèi)。
王雁鵬稱,現(xiàn)階段百度的萬卡集群平均4個(gè)小時(shí)會(huì)中斷1次,如果擴(kuò)展到10萬卡集群,可能20分鐘左右就會(huì)出現(xiàn)一次中斷。現(xiàn)階段,其模型比較穩(wěn)定的恢復(fù)時(shí)間介于10到20分鐘之間,未來致力于達(dá)到分鐘級(jí)別。