想跑千億大模型?算力廠(chǎng)商放大招!CPU通用服務(wù)器成為新選擇
不用AI加速卡,只用4顆CPU
克雷西 發(fā)自 凹非寺
量子位 | 公眾號(hào) QbitAI
千億參數(shù)規(guī)模的大模型推理,服務(wù)器僅用4顆CPU就能實(shí)現(xiàn)!
在一臺(tái)CPU通用服務(wù)器上,浪潮信息成功跑通了102B大模型推理。
如果推廣開(kāi)來(lái),沒(méi)有專(zhuān)用芯片的傳統(tǒng)行業(yè),不必更換硬件,也能用上AI了。
△浪潮信息通用服務(wù)器NF8260G7成功運(yùn)行千億參數(shù)大模型
這套方案以極低的延時(shí),近乎實(shí)時(shí)地進(jìn)行推理運(yùn)算。
如此之大的模型,只靠CPU運(yùn)行,究竟是怎么實(shí)現(xiàn)的?
4顆CPU帶動(dòng)千億大模型?
用CPU在單臺(tái)通用服務(wù)器設(shè)備中運(yùn)行大模型推理,特別是千億參數(shù)的龐然大物,困難是可想而知的。
要想高效運(yùn)行千億參數(shù)大模型,計(jì)算、內(nèi)存、通信等硬件資源的需求量都非常巨大。
內(nèi)存方面,千億參數(shù)大約需要200~300GB的顯存空間才放得下。
除了內(nèi)存資源,千億參數(shù)大模型在運(yùn)行過(guò)程中,對(duì)數(shù)據(jù)計(jì)算、計(jì)算單元之間及計(jì)算單元與內(nèi)存之間通信的帶寬要求也非常高。
按照BF16的精度計(jì)算,要想使千億參數(shù)大模型的運(yùn)行時(shí)延小于100ms,內(nèi)存與計(jì)算單元之間的通信帶寬至少要在每秒2TB以上。
就算解決了這些硬件需求,軟件的優(yōu)化適配同樣是一個(gè)難題。
由于涉及到大量的并行運(yùn)算,現(xiàn)有的大模型普遍針對(duì)GPU加速集群而設(shè)計(jì),這就導(dǎo)致了CPU算力與大模型之間的匹配程度遠(yuǎn)不及GPU。
因?yàn)椴⑿泄ぷ鳝h(huán)境的缺乏,AI模型需要頻繁地在內(nèi)存和CPU之間搬運(yùn)算法權(quán)重,但通用服務(wù)器默認(rèn)模型權(quán)重只能傳輸給一個(gè)CPU的內(nèi)存。
要想進(jìn)一步搬運(yùn)到其他CPU,就需要該CPU作為中介,這就導(dǎo)致了CPU與內(nèi)存之間的帶寬利用率較低,進(jìn)一步加大了通信開(kāi)銷(xiāo)。
通用AI算力的新標(biāo)桿
盡管困難重重,但伴隨著大量的技術(shù)攻關(guān),這些困難也被相繼克服——
在2U四路的NF8260G7服務(wù)器上,浪潮信息成功運(yùn)行了千億參數(shù)的源2.0大模型。
運(yùn)行過(guò)程中,服務(wù)器僅使用了4顆英特爾6448H芯片,無(wú)需GPU或其他任何額外的AI加速卡。
可以說(shuō),浪潮信息這套通用服務(wù)器大模型運(yùn)行方案填補(bǔ)了業(yè)界空白,成為了通用AI算力的新標(biāo)桿。
框架和算法方面,該方案支持PyTorch、TensorFlow等主流AI框架和DeepSpeed等流行開(kāi)發(fā)工具,滿(mǎn)足多樣的生態(tài)需求。
在這種高效的千億大模型通用服務(wù)器運(yùn)行方案背后,無(wú)疑需要軟硬件系統(tǒng)的協(xié)同創(chuàng)新。
在配置方面,浪潮信息NF8260G7選用了英特爾至強(qiáng)6448H處理器,共有32顆核心,主頻為2.4GHz,L3緩存為60MB,基于32根32G的DDR5內(nèi)存,內(nèi)存容量1024GB,實(shí)測(cè)內(nèi)存讀帶寬995GB/s。
更重要的是,該芯片具有AMX(高級(jí)矩陣擴(kuò)展,類(lèi)似于GPU的Tensor core)AI加速功能,能夠更好地適配大模型的運(yùn)算特點(diǎn)。
同時(shí),為了解決帶寬利用率低的問(wèn)題,采用了“去中心化”的全鏈路UPI總線(xiàn)互連,允許任意兩個(gè)CPU之間直接進(jìn)行數(shù)據(jù)傳輸。
這樣的互聯(lián)方案減少了通信延遲,并將傳輸速率提高到了16GT/s(Giga Transfers per second)。
但僅靠硬件優(yōu)化還遠(yuǎn)遠(yuǎn)不夠。
為了提升源2.0-102B模型在NF8260G7服務(wù)器上的推理計(jì)算效率,服務(wù)器上的CPU需要像GPU一樣進(jìn)行張量并行計(jì)算。
為此,浪潮信息研發(fā)工程師將源2.0模型中的注意力層和前饋層的矩陣計(jì)算分別拆分到多個(gè)處理器,實(shí)現(xiàn)同時(shí)使用4顆CPU進(jìn)行計(jì)算加速。

張量并行對(duì)模型參數(shù)的切分粒度較細(xì),要求CPU在每次張量計(jì)算后進(jìn)行數(shù)據(jù)同步,增加了對(duì)CPU間通信帶寬的需求。
不過(guò),UPI總線(xiàn)互聯(lián)的通信方案,剛好能夠滿(mǎn)足CPU間通信要求。
同時(shí),對(duì)于千億參數(shù)大模型的張量并行計(jì)算,4顆CPU與內(nèi)存之間海量的通信需求達(dá)到2TB/s,遠(yuǎn)高于CPU的內(nèi)存通信帶寬。
為降低千億參數(shù)對(duì)CPU和內(nèi)存的通信帶寬門(mén)檻,浪潮信息對(duì)源2.0-102B模型采用了NF4量化技術(shù)。
NF4(4位NormalFloat)是一種分位數(shù)量化方法,通過(guò)確保量化區(qū)間內(nèi)輸入張量的值數(shù)量相等,來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的最優(yōu)量化。
特別地,NF4量化非常適合近似正態(tài)分布的數(shù)據(jù),這與大模型的權(quán)重分布方式十分契合,所以通過(guò)NF4量化,可以獲得比傳統(tǒng)的INT4或FP4量化更高的精度。
△INT4數(shù)據(jù)類(lèi)型與NF4數(shù)據(jù)類(lèi)型對(duì)比
但NF4量化也帶來(lái)了新的問(wèn)題——NF4量化后,會(huì)產(chǎn)生大量的scale參數(shù)。
假如按照64個(gè)參數(shù)作為一個(gè)量化塊計(jì)算,對(duì)于一個(gè)千億參數(shù)的大模型,僅存儲(chǔ)scale參數(shù)就需要額外的6GB內(nèi)存。
為了減少內(nèi)存占用,浪潮信息還通過(guò)嵌套量化將這些scale參數(shù)量化到FP8精度,顯著減少了所需的存儲(chǔ)空間。
通過(guò)NF4量化和嵌套量化,模型的每個(gè)權(quán)重僅占用1/2字節(jié)空間,Yuan2.0大模型占用內(nèi)存容量縮小到原來(lái)的1/4。
有AI芯片,為什么還要用CPU推理?
浪潮信息的這套解決方案,的確讓千億大模型在通用服務(wù)器上的運(yùn)行成為了可能。
但我們?nèi)匀幌雴?wèn),明明有很好的AI加速芯片,為什么還要執(zhí)著于研究CPU推理呢?
首先一點(diǎn),是擁有更低的部署和推理成本——
從傳統(tǒng)行業(yè)用戶(hù)需求看,通用服務(wù)器的成本優(yōu)勢(shì)顯著,較AI服務(wù)器成本可降低80%。
這樣的成本節(jié)約不僅僅包括設(shè)備的購(gòu)置部署,還包括與行業(yè)用戶(hù)現(xiàn)有系統(tǒng)的融合。
采用通用服務(wù)器,意味著大模型服務(wù)可以更容易地與已有的企業(yè)IT系統(tǒng)進(jìn)行合并,免去了部署AI服務(wù)器帶來(lái)的遷移適配工作。
當(dāng)然在技術(shù)層面,CPU方案的一些優(yōu)勢(shì)也是AI加速卡無(wú)法比擬的。
內(nèi)存方面,通用服務(wù)器的內(nèi)存容量遠(yuǎn)大于現(xiàn)在GPU芯片能夠提供的顯存容量。
比如在一臺(tái)雙路服務(wù)器上,可以很輕松地把內(nèi)存做到1TB,像NF8260G7這種四路服務(wù)器還能做到更大。
所以。對(duì)于一個(gè)千億甚至數(shù)千億的大模型,采用通用服務(wù)器進(jìn)行部署,可以說(shuō)在內(nèi)存上完全“不受限”,完全能夠放得進(jìn)去。
相比之下,以GPU為代表的AI芯片雖然算力強(qiáng)勁,但內(nèi)存就顯得捉襟見(jiàn)肘了。
AI大模型的運(yùn)行不僅需要大內(nèi)存,更需要高速的CPU和內(nèi)存通信帶寬。而基于先進(jìn)的量化技術(shù),浪潮信息的研發(fā)工程師在不影響模型精度的情況下對(duì)模型進(jìn)行量化“瘦身”,大大降低了千億參數(shù)對(duì)CPU和內(nèi)存的通信帶寬門(mén)檻。
同時(shí),為了滿(mǎn)足模型需求,需要多顆芯片協(xié)同工作。這就涉及到了通用服務(wù)器芯片間的通信效率。
目前一些高端AI芯片也有高速帶寬(比如NV Link),但由于成本較高,這樣的方案往往在一些比較高端的芯片或者說(shuō)高端的服務(wù)器上才會(huì)采用。
而且,這樣的算力目前更多地被用于模型訓(xùn)練,用做推理在經(jīng)濟(jì)上并不劃算。
在通用服務(wù)器當(dāng)中,CPU和CPU之間擁有高速互聯(lián)通信的鏈路,通過(guò)并行計(jì)算環(huán)境的優(yōu)化,無(wú)論是在帶寬還是在延遲上,完全可以滿(mǎn)足千億參數(shù)大模型運(yùn)行過(guò)程中多計(jì)算核心通信的需求。
此外,隨著新一代CPU開(kāi)始加入AI加速指令集(如AMX),CPU的AI算力性能也在快速提升。
以浪潮信息現(xiàn)在采用的6448H為例,這樣的一個(gè)四路服務(wù)器的算力也到430TOPS(INT8)或215TFLOPS(BF16),完美滿(mǎn)足運(yùn)行AI大模型推理的算力需求。
通用算力正在發(fā)生“智”變
站在更高的層次上看,基于NF8260G7的通用服務(wù)器大模型推理方案,也是浪潮信息戰(zhàn)略中的重要一環(huán)。
包括AI技術(shù)在內(nèi),科技進(jìn)步的最終目的是“落入凡間”,賦能千行百業(yè)。
與此同時(shí),AI正在從專(zhuān)門(mén)的計(jì)算領(lǐng)域擴(kuò)展到所有的計(jì)算場(chǎng)景,逐步形成“一切計(jì)算皆AI”的格局。
AI計(jì)算從以云端、服務(wù)器為主開(kāi)始向手機(jī)、PC等各類(lèi)端側(cè)設(shè)備蔓延開(kāi)來(lái)。
CPU、GPU、NPU等各種PU,也都被用于了AI計(jì)算。
在這樣的趨勢(shì)下,傳統(tǒng)上認(rèn)為非典型的AI算力也在發(fā)生“智”變,向著智能算力演變。
具體到以CPU為核心的通用算力,能否運(yùn)行千億參數(shù)大模型,是衡量其能否支撐千行百業(yè)智能涌現(xiàn)的關(guān)鍵。
浪潮信息此次的推出的新方案,填補(bǔ)了行業(yè)中千億大模型通用服務(wù)器運(yùn)行方案的空白,將作為一種更經(jīng)濟(jì)的千億大模型部署方案,成為企業(yè)擁有AI的新起點(diǎn)。
未來(lái),浪潮信息將繼續(xù)堅(jiān)持在算力、算法和數(shù)據(jù)三要素上的全面發(fā)力,實(shí)現(xiàn)更多的系統(tǒng)突破,讓AI更深入地走進(jìn)各行各業(yè)。