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