電子發(fā)燒友網(wǎng)報道(文/梁浩斌)去年年底,多家大廠爆出開發(fā)數(shù)據(jù)中心ASIC芯片的消息,包括傳聞蘋果與博通合作開發(fā)面向AI推理的ASIC,亞馬遜也在年底公布了其AIASIC的應(yīng)用實例,展示出ASIC的應(yīng)用性價比遠超GPU,加上博通財報AI業(yè)務(wù)同比大增220%,掀起了AI推理端的ASIC熱潮。
那么ASIC跟傳統(tǒng)的GPU有哪些區(qū)別,開發(fā)上又有哪些流程上的不同?
ASIC和GPU
通用GPU在設(shè)計之初就為了適配更多使用場景,在AI應(yīng)用上,GPU支持訓(xùn)練、推理、通用計算等全流程,以英偉達GPU為例,通過CUDA生態(tài),英偉達GPU能夠快速適配新的算法,比如從Transformer到CNN的遷移,只需要修改30%左右的代碼。
相比通用GPU,ASIC是專為滿足特定應(yīng)用而設(shè)計的芯片,針對特定應(yīng)用的特定算法進行硬件級別的優(yōu)化,尤其在AI應(yīng)用中,比如運行矩陣乘法、張量計算等任務(wù),能夠相比GPU效率更高。
比如谷歌TPU就是一款A(yù)SIC,采用脈動陣列設(shè)計,通過固化數(shù)據(jù)流水線減少內(nèi)存訪問次數(shù),能效比達GPU的3.2倍。
相比之下GPU使用通用計算單元處理多種任務(wù),為了滿足不同類型的計算需求,必然需要存在計算冗余。
GPU由于架構(gòu)的特性,一般會在AI計算中保留圖形渲染、視頻編解碼等功能模塊,但在AI計算中這些模塊大部分處于閑置狀態(tài)。有研究指出,英偉達H100GPU上有大約15%的晶體管是未在AI計算過程中被使用的。
同時,在計算流程上,GPU在處理AI計算任務(wù)時是需要通過CUDA軟件棧進行任務(wù)調(diào)度,比如矩陣乘法的運行時需要經(jīng)過內(nèi)存加載、指令分發(fā)、TensorCore計算、結(jié)果回寫等多個步驟。
而在ASIC上,可以通過硬件級的流水線固化數(shù)據(jù)流,能夠減少計算流程步驟,提高運算效率。在減少計算流程的同時,ASIC對內(nèi)存訪問模式的優(yōu)化,還能有助于降低內(nèi)存控制器的功耗。
AI計算中,低精度是以損失部分準確率為代價,通過量化壓縮數(shù)據(jù)來提高推理速度。目前AI推理中INT8/FP16的精度,GPU一般支持FP32/FP64等高精度計算,在混合精度訓(xùn)練中,GPU還需要額外的顯存來轉(zhuǎn)換成低精度結(jié)果,同樣的芯片,在運行高精度和低精度的算力也不同。
盡管精度的選擇本質(zhì)上是準確性和效率的取舍,但AI推理等應(yīng)用中,對精度的需求并不需要極致的接近100%,但仍能保持較高的水準。ASIC一般直接支持低精度計算,在AI計算時的效率能夠相比GPU大幅提高,但保持一定的準確率。比如有數(shù)據(jù)顯示,TikTok的推薦算法系統(tǒng)采用INT8精度,但依然保持了接近99%的推薦準確率。
所以,ASIC相比GPU,在硬件架構(gòu)上可以針對專有應(yīng)用進行特定優(yōu)化,提高計算效率和降低功耗。在成本方面,ASIC在規(guī)模量產(chǎn)的情況下可以降至GPU的三分之一,但前期開發(fā)成本仍不能忽視。
可能大家也發(fā)現(xiàn),目前定制開發(fā)高算力ASIC的廠商,無一例外是云計算大廠,本身公司業(yè)務(wù)就有極大規(guī)模的算力需求。ASIC定制費用,主要是開發(fā)過程中的一次性工程費用,也被業(yè)內(nèi)稱為NRE(Non-RecurringEngineering)。顧名思義,NRE費用只需要支出一次,后續(xù)規(guī)模生產(chǎn)中不需要再增加這部分費用。
NRE費用中,包含芯片設(shè)計的成本,比如研發(fā)人員薪酬、EDA工具授權(quán)費等,這與芯片使用的制程工藝、芯片本身的復(fù)雜程度相關(guān);然后是版圖設(shè)計成本,其實這里的概念跟芯片設(shè)計的成本類似,主要是涉及芯片的物理布局設(shè)計,需要特定的研發(fā)人員和軟件支持;再是IP授權(quán)費用,一般是一些通用的IP,比如CPUIP、內(nèi)存控制器、接口IP等。
以定制一款采用5nm制程的ASIC為例,NRE費用可以高達1億至2億美元。然而一旦能夠大規(guī)模出貨,NRE費用就可以很大程度上被攤薄。
此前有業(yè)內(nèi)人士分析,中等復(fù)雜程度的ASIC盈虧平衡點在10萬片左右,這對于很多廠商來說已經(jīng)是遙不可及。
ASIC開發(fā)流程
在開發(fā)ASIC時,最關(guān)鍵的是以算法架構(gòu)為主導(dǎo),圍繞這一方面去進行其他工作。
首先是進行需求定義,要明確ASIC的目標場景是什么,比如推理還是訓(xùn)練?端側(cè)還是云端?用到CNN還是Transformer?在AI領(lǐng)域,定制ASIC的往往是云計算大廠,這些廠商一般會有頂尖的架構(gòu)師去進行充分考慮,未來可能的應(yīng)用、效率、成本、技術(shù)可行性等都會包含在內(nèi),同時平衡性能、成本、功耗等關(guān)鍵指標。當然也有一些芯片廠商推出針對某些應(yīng)用場景的ASIC產(chǎn)品。那么在前期產(chǎn)品定義就十分關(guān)鍵,有時候還需要開發(fā)針對應(yīng)用場景的算法配合自己的芯片產(chǎn)品使用。
接下來是最關(guān)鍵的算法和架構(gòu)優(yōu)化,需要對行業(yè)發(fā)展趨勢有足夠認知,選擇適合的算法進行優(yōu)化,保證算法與硬件架構(gòu)適配,通過仿真測試驗證。
然后設(shè)計ASIC的整體架構(gòu),比如功能模塊的劃分和模塊之間的互連,以及接口等IP的使用。
在前端設(shè)計中,使用VHDL或Verilog等硬件描述語言對設(shè)計進行編碼,然后將編碼轉(zhuǎn)換為門級網(wǎng)表,對其進行優(yōu)化滿足芯片面積和性能要求。
進入后端設(shè)計后,需要將門級網(wǎng)表映射到具體的芯片物理結(jié)構(gòu)上,進行布局和布線。
完成模塊布局和布線后,就可以開始進行FPGA驗證,測試ASIC設(shè)計的功能是否滿足需求。隨后完成流片、測試后就可以投入大規(guī)模生產(chǎn)。
總的來說,ASIC的開發(fā)中,硬件和軟件的協(xié)同是其成功的關(guān)鍵,在擁有強大的芯片性能同時,還要筑建完整的軟件生態(tài),吸引更多用戶使用。
當然,在ASIC量產(chǎn)進入市場后,軟件棧開發(fā)也是相當重要的,需要編譯器將TensorFlow和PyTorch等機器學(xué)習(xí)模型映射到硬件指令上,在生態(tài)上也需要支持更多主流的框架,以盡可能滿足更多使用需求。
-
asic
+關(guān)注
關(guān)注
34文章
1237瀏覽量
121610 -
AI
+關(guān)注
關(guān)注
87文章
33239瀏覽量
273515 -
芯片開發(fā)
+關(guān)注
關(guān)注
0文章
12瀏覽量
2544
發(fā)布評論請先 登錄
相關(guān)推薦
AI推理的存儲,看好SRAM?

首創(chuàng)開源架構(gòu),天璣AI開發(fā)套件讓端側(cè)AI模型接入得心應(yīng)手
NVIDIA 推出開放推理 AI 模型系列,助力開發(fā)者和企業(yè)構(gòu)建代理式 AI 平臺

【AI開發(fā)板】正點原子K230D BOX開發(fā)板來了!一款性能強悍且小巧便攜的AI開發(fā)板!
Qwen大模型助力開發(fā)低成本AI推理方案
生成式AI推理技術(shù)、市場與未來

新品| LLM630 Compute Kit,AI 大語言模型推理開發(fā)平臺

Neuchips展示大模型推理ASIC芯片
ASIC爆火!大廠AI訓(xùn)練推理拋棄GPU;博通的護城河有多深?
FPGA和ASIC在大模型推理加速中的應(yīng)用

NVIDIA助力麗蟾科技打造AI訓(xùn)練與推理加速解決方案

AMD助力HyperAccel開發(fā)全新AI推理服務(wù)器

是否能將libwebsokets移植到ESP8266上利用libwebsokets進行網(wǎng)絡(luò)應(yīng)用開發(fā)?
如何基于OrangePi?AIpro開發(fā)AI推理應(yīng)用

評論