今年,“能寫(xiě)代碼、能寫(xiě)論文”的ChatGPT可謂是火爆全球,AI技術(shù)應(yīng)用迎來(lái)了“iPhone時(shí)刻”。一時(shí)間國(guó)內(nèi)也涌現(xiàn)了眾多大模型,部分大模型也陸續(xù)開(kāi)始向公眾開(kāi)放;另一方面,全國(guó)各地也都在搶占人工智能的資源,紛紛投巨資建設(shè)人工智能算力中心,人工智能賽道可謂“百舸爭(zhēng)流”。
在這兩個(gè)現(xiàn)象的背后,筆者卻發(fā)現(xiàn)了不一樣的地方,各地新建動(dòng)輒幾百PB算力的智算中心,是以半精度(FP16)來(lái)作為計(jì)量標(biāo)準(zhǔn)的,甚至有些智算算力中心是通過(guò)NPU架構(gòu)芯片堆出來(lái)的算力。
但其實(shí)業(yè)界公認(rèn),NPU天生特點(diǎn)決定了其在AI應(yīng)用領(lǐng)域泛用性不足,因此NPU并不適合作為AI算力通用底座。
那我們就來(lái)聊一聊,為什么ChatGPT、自動(dòng)駕駛這些領(lǐng)域不適合廣泛采用NPU芯片?在正式開(kāi)聊之前,先說(shuō)明一下這里面的兩個(gè)關(guān)鍵詞:NPU和精度
(1)NPU和精度
在人工智能領(lǐng)域,AI芯片可以分為大概分為GPGPU、FPGA和ASIC。其中,GPGPU在人工智能的計(jì)算市場(chǎng)銷售額占比最大,據(jù)集微咨詢(JW Insights)統(tǒng)計(jì),AI類芯片在2022年352億美元的市場(chǎng)規(guī)模中,GPGPU占比接近60%,霸主地位穩(wěn)固。
我們知道 CPU遵循的是馮·諾依曼架構(gòu),核心是存儲(chǔ)程序/數(shù)據(jù)、串行順序執(zhí)行。CPU的架構(gòu)中需要大量的空間去放置存儲(chǔ)單元和控制單元,相比之下計(jì)算單元只占據(jù)了很小的一部分,所以CPU在進(jìn)行大規(guī)模并行計(jì)算方面受到限制,相對(duì)而言更擅長(zhǎng)于處理邏輯控制。
與CPU相比,而GPU芯片空間的80%以上都是計(jì)算單元,即GPU擁有更多的計(jì)算單元用于數(shù)據(jù)并行處理,比如實(shí)現(xiàn)人工智能的深度學(xué)習(xí)、比特幣挖礦等等。GPU其實(shí)也可以簡(jiǎn)單分為兩種,一種是主要搞圖形渲染的,也叫做GPU顯卡;另一種是主要搞計(jì)算的,叫做GPGPU,也叫通用GPU。GPGPU芯片采用統(tǒng)一渲染架構(gòu),計(jì)算通用性最強(qiáng),可以適用于多種算法,在很多算法前沿的領(lǐng)域,GPGPU是最佳選擇。
FPGA是一種半定制芯片,對(duì)芯片硬件層可以靈活編譯。但是缺點(diǎn)也比較明顯,當(dāng)處理的任務(wù)重復(fù)性不強(qiáng)、邏輯較為復(fù)雜時(shí),F(xiàn)PGA效率就會(huì)比較差。
ASIC是一種為專門(mén)目的而設(shè)計(jì)的芯片(全定制),根據(jù)特定算法定制的芯片架構(gòu),算力強(qiáng)大,但專業(yè)性強(qiáng)縮減了其通用性,算法一旦改變,計(jì)算能力會(huì)大幅下降,需要重新定制。我們知道的NPU、TPU就是這種架構(gòu),都屬于ASIC定制芯片。
芯片的算力和精度又有怎樣的聯(lián)系?
根據(jù)參與運(yùn)算數(shù)據(jù)精度的不同,可把算力分為雙精度算力(64位,F(xiàn)P64)、單精度算力(32位,F(xiàn)P32)、半精度算力(16位,F(xiàn)P16)及整型算力(INT8、INT4)。數(shù)字位數(shù)越高,意味著精度越高,能夠支持的運(yùn)算復(fù)雜程度就越高,適配的應(yīng)用場(chǎng)景也就越廣。
舉個(gè)例子,在科學(xué)計(jì)算、工程計(jì)算等領(lǐng)域,比如藥物設(shè)計(jì)、新材料、航空航天、基因工程,天氣預(yù)報(bào)等,都是需要處理的數(shù)字范圍大而且需要精確計(jì)算的科學(xué)計(jì)算,需要雙精度算力(FP64)的支持;在AI大模型、自動(dòng)駕駛、深度學(xué)習(xí)等領(lǐng)域,一般需要單精度算力(FP32)的支持,實(shí)現(xiàn)人工智能模型的訓(xùn)練;而像數(shù)字孿生、人臉識(shí)別等利用訓(xùn)練完畢的模型進(jìn)行推理的業(yè)務(wù),適用于半精度算力(FP16)或者整型算力(INT8、INT4)。
GPGPU芯片一般會(huì)布局大量的雙精度和單精度的計(jì)算區(qū)域,從NVIDIA旗艦產(chǎn)品白皮書(shū)中可以看出,其對(duì)FP64雙精度浮點(diǎn)計(jì)算的布局占25%,對(duì)FP64/FP32高精度區(qū)域的布局占整個(gè)芯片的約一半左右。
圖 NVIDIA高精度GPGPU架構(gòu)圖
而NPU芯片主要用于加速神經(jīng)網(wǎng)絡(luò)的運(yùn)算,解決傳統(tǒng)芯片在神經(jīng)網(wǎng)絡(luò)運(yùn)算時(shí)效率低下的問(wèn)題。NPU芯片包括乘加、激活函數(shù)、二維數(shù)據(jù)運(yùn)算、解壓縮等模塊。它的優(yōu)勢(shì)是大部分時(shí)間集中在低精度的算法,新的數(shù)據(jù)流架構(gòu)或內(nèi)存計(jì)算能力。NPU芯片的算力一般以半精度算力(FP16)和整型算力(INT8、INT4)為主,擅長(zhǎng)處理視頻、圖像類的海量多媒體數(shù)據(jù),不涉及高精度算力應(yīng)用的領(lǐng)域。
圖 華為NPU計(jì)算單元圖
綜上所述,GPGPU可以支持從低精度到高精度所有類型的運(yùn)算,而NPU僅能支持低精度運(yùn)算,這就決定了兩者可適用的場(chǎng)景存在差距。
在此情況下,某些NPU廠商混淆視聽(tīng),只說(shuō)自己是“算力最強(qiáng)的AI處理器”,卻沒(méi)有說(shuō)清楚計(jì)算精度這一前提條件,是一種不負(fù)責(zé)的行為。
(2)GPGPU和NPU技術(shù)路線對(duì)比
說(shuō)了這么多,我們發(fā)現(xiàn)GPGPU和NPU屬于兩個(gè)不同應(yīng)用領(lǐng)域的芯片,GPGPU的算力精度涵蓋較廣,應(yīng)用的領(lǐng)域也更廣泛,整個(gè)產(chǎn)業(yè)的生態(tài)相對(duì)完整,但是芯片設(shè)計(jì)相對(duì)比較復(fù)雜,前一陣美國(guó)限制向中國(guó)出口的AI芯片也是高端的GPGPU芯片。
而NPU芯片主要是覆蓋低精度,應(yīng)用領(lǐng)域比較受限,特別是很多NVIDIA的業(yè)務(wù)如果遷移到NPU環(huán)境下,需要大量的遷移適配工作,而且模型在遷移后也會(huì)遇到各種各樣的算法、引擎識(shí)別精度下降的問(wèn)題。
對(duì)比內(nèi)容 | GPGPU | NPU |
算力精度 | 雙精度、單精度、半精度、整形 | 半精度、整形 |
應(yīng)用場(chǎng)景 | 高性能計(jì)算、AI大模型、自動(dòng)駕駛、深度學(xué)習(xí) | 機(jī)器學(xué)習(xí)、人工智能推理 |
遷移工作量 | 基于GPGPU的通用模型需修改少量代碼,自研算子、模型2-3天完成環(huán)境搭建和測(cè)試,時(shí)間周期較短 | 架構(gòu)差異大,適配工作量較大,周期不可評(píng)估 |
產(chǎn)業(yè)生態(tài) | 支持算法廠商眾多,產(chǎn)業(yè)生態(tài)優(yōu)勢(shì)大 | 多數(shù)算法廠商對(duì)NPU路線芯片適配積極性一般 |
表 :GPGPU和NPU技術(shù)路線對(duì)比
NPU更符合“術(shù)業(yè)有專攻”,在AI應(yīng)用推理環(huán)節(jié),量身定制的NPU其實(shí)也有這效率和能耗的優(yōu)勢(shì);但要是強(qiáng)行廣泛應(yīng)用于科學(xué)計(jì)算、模型訓(xùn)練等領(lǐng)域,NPU只能表示“臣妾做不到啊”。
(3)ChatGPT背后的算力面紗
當(dāng)我們了解了GPGPU和NPU技術(shù)路線之后,我們?cè)賮?lái)揭開(kāi)ChatGPT背后的算力面紗。
ChatGPT的開(kāi)發(fā)邏輯,是近些年逐步替代了RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))和 CNN(卷積神經(jīng)網(wǎng)絡(luò)) 的Transformer架構(gòu)語(yǔ)言模型。相較于RNN,Transformer引入了自我注意力(Self-attention)機(jī)制,結(jié)合算法優(yōu)化可以實(shí)現(xiàn)并行運(yùn)算,大量節(jié)約訓(xùn)練時(shí)間??梢钥闯?,Transformer作為人工智能算法的進(jìn)化是計(jì)算機(jī)軟件層面的一個(gè)發(fā)展。
因此,為了支撐這種算法的不斷進(jìn)化,需要一整套通用算力系統(tǒng)。通俗而言,ChatGPT算法是在不斷優(yōu)化進(jìn)步的,結(jié)合算法定制NPU很難滿足大模型迭代發(fā)展需求。
也就是說(shuō),想要誕生ChatGPT這樣的革命性成果,需要構(gòu)建的是由高精度GPGPU+ CPU的通用異構(gòu)計(jì)算體系,讓各種嘗試和各種創(chuàng)新在通用體系上自由生長(zhǎng)。
而事實(shí)上,ChatGPT以及國(guó)內(nèi)眾多的大模型,如紫東太初大模型、文心一言、日日新SenseNova大模型等等,也都是在這種由高精度GPGPU組成的異構(gòu)計(jì)算體系中誕生的。
我國(guó)超大規(guī)模預(yù)訓(xùn)練模型的發(fā)展如火如荼,算力需求持續(xù)攀升,人工智能計(jì)算中心的建設(shè)保持快速增長(zhǎng),各地都在加速建設(shè)人工智能計(jì)算中心,甚至很多算力中心的規(guī)劃已經(jīng)超過(guò)了1000P,看樣子應(yīng)該能滿足各地幾年內(nèi)的所有人工智能算力需求,但這些算力中心的AI芯片大部分都是NPU架構(gòu),目前真正應(yīng)用起來(lái)的地方智算中心的寥寥無(wú)幾,實(shí)際使用率也低得可憐。
另一方面,各個(gè)大模型的廠商、自動(dòng)駕駛廠商和都在瘋狂搶購(gòu)高端的GPGPU卡,甚至不惜高價(jià)囤積高端GPGPU卡。
在這兩個(gè)亂象的背后,我們需要去反思:現(xiàn)階段我們是否需要建設(shè)如此大量的、空置的NPU算力中心?我們的算力中心是否應(yīng)該以幾百PB的FP16值作為評(píng)價(jià)標(biāo)準(zhǔn)?
編輯:黃飛
?
評(píng)論
查看更多