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