想要玩邊緣智慧(Edge Artificial Intelligence, Edge AI)前我們首先要先認(rèn)識(shí)什么是類(lèi)神經(jīng)網(wǎng)絡(luò)(Neural Network, NN)、深度學(xué)習(xí)(Deep Learning, DL)及為什么需要使用AI芯片,而AI芯片又有那些常見(jiàn)分類(lèi)及未來(lái)可能發(fā)展方向。接下來(lái)就逐一為大家介紹不同類(lèi)型的AI芯片用途及優(yōu)缺點(diǎn)。
1. 什么是神經(jīng)網(wǎng)絡(luò)?
人工智能自1950年發(fā)展至今已經(jīng)過(guò)多次起伏,從最簡(jiǎn)單的「符號(hào)邏輯」開(kāi)始,歷經(jīng)「專(zhuān)家系統(tǒng)」、「機(jī)器學(xué)習(xí)」、「數(shù)據(jù)采礦」等多個(gè)時(shí)期。直到2012年Alex Krizhevsky和其導(dǎo)師Geoffrey Hinton推出基于類(lèi)神經(jīng)網(wǎng)絡(luò)擴(kuò)展出來(lái)的「卷積神經(jīng)網(wǎng)絡(luò)」(Convolutional Neural Network, CNN) 「AlexNet」,以超出第二名10%正確率的優(yōu)異成績(jī)贏得ImageNet大賽后,「深度學(xué)習(xí)」(DeepLearning, DL) 架構(gòu)正式開(kāi)啟新一波的AI浪朝。
此后持續(xù)衍生出各種不同的網(wǎng)絡(luò)架構(gòu),如能處理像聲音、文章、感測(cè)信號(hào)這類(lèi)和時(shí)間相關(guān)的「循環(huán)神經(jīng)網(wǎng)絡(luò)」(Recurrent Neural Network, RNN) ,或者能自動(dòng)生成影像、風(fēng)格轉(zhuǎn)移(StyleTransfer)的「生成對(duì)抗網(wǎng)絡(luò)」(Generative Adversarial Network, GAN) 等一系列網(wǎng)絡(luò)架構(gòu)。
這些網(wǎng)絡(luò)(或稱(chēng)模型)都有一個(gè)特色,就是有大量的神經(jīng)元(Neural)、神經(jīng)連結(jié)權(quán)重(Weights)、層數(shù)(Layers)及復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)(Network Architecture)。而其中最主要的運(yùn)算方式就是矩陣(Matrix)計(jì)算,若再拆解成更小元素,即為 y = a * x + b ,又可稱(chēng)為「乘積累加運(yùn)算」(Multiply–accumulate, MAC) 。
一個(gè)小型模型少則數(shù)千個(gè)神經(jīng)元、數(shù)萬(wàn)個(gè)權(quán)重值,多則可能數(shù)十萬(wàn)個(gè)神經(jīng)元、數(shù)十億個(gè)權(quán)重值。以常見(jiàn)手寫(xiě)數(shù)字(0-9)辨識(shí)小型CNN模型LeNet5為例(如Fig.1所示),它約有6萬(wàn)多個(gè)權(quán)重,當(dāng)模型推論(Inference)一次得到答案時(shí),約需經(jīng)過(guò)42萬(wàn)多次MAC運(yùn)算。而像大型的VGG16模型則有1.38億個(gè)權(quán)重,推論一次則約有150多億次MAC計(jì)算。
一般來(lái)說(shuō)模型的初始權(quán)重值通常都不太理想,所以根據(jù)推論后得到的答案,必須再反向修正所有權(quán)重值,使其更接近正確答案。但通常一次是很難到位的,所以要反復(fù)修正直到難以再調(diào)整出更接近正確答案為止,而這個(gè)過(guò)程就稱(chēng)為「模型訓(xùn)練」(Model Training) 。
通常這樣修正的次數(shù)會(huì)隨著數(shù)據(jù)集(Dataset)的大小、權(quán)重的數(shù)量及網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜度,可能少則要幾千次,多則要幾萬(wàn)次、甚至更多次數(shù)才能收斂到滿(mǎn)意的結(jié)果。由此得知訓(xùn)練模型所需的計(jì)算量有多么巨量了。
Fig. 1 手寫(xiě)數(shù)字辨識(shí)LeNet-5卷積神經(jīng)網(wǎng)絡(luò)模型及卷積、矩陣乘法示意圖。
2. AI芯片類(lèi)型
為了解決如此龐大且性質(zhì)單一的計(jì)算量,于是就有了硬件加速計(jì)算的需求,通常會(huì)將此類(lèi)硬件稱(chēng)呼為「AI芯片」(AI Chip) 或者「深度學(xué)習(xí)加速器」(Deep Learning Accelerator, DLA) 或者稱(chēng)為 「神經(jīng)網(wǎng)絡(luò)處理單元」(NeuralNetwork Processing Unit, NPU) 。
在AI芯片領(lǐng)域中主要分為訓(xùn)練用及推論用。前者重點(diǎn)在效能,所以功耗及成本就不太計(jì)較。而后者會(huì)依不同應(yīng)用場(chǎng)合會(huì)有高效能、高推論精度、低功耗、低內(nèi)存空間、低成本等不同需求。尤其在Edge AI上更強(qiáng)調(diào)低功耗、低記體體空間及低成本需求,而效能表現(xiàn)通常就只能遷就不同硬件表現(xiàn)。
近幾年手機(jī)成長(zhǎng)迅速,有很多芯片為了整體表現(xiàn),因此整合了很多功能在同一顆芯片上稱(chēng)為SoC (System on Chip),包含CPU, DSP, GPU, NPU及像影音編譯碼的功能等。而FPGA的開(kāi)發(fā)板也有反過(guò)來(lái)不過(guò)全部都自己設(shè)計(jì),而把常用的CPU, DSP, AISC等整合進(jìn)來(lái),讓使用者能更專(zhuān)心開(kāi)發(fā)自己所需的特殊功能,包含AI等應(yīng)用。
2.1 中央處理單元(CPU)
不論是像Arduino、小型IoT裝置使用的單芯片(Micro-controller / Micro Controll Unit, MCU),如STM,Microchip, ESP32, Pi Pico, Arm Cortex-M, RISC-V等,或者是像樹(shù)莓派、手機(jī)使用的微處理器(MicroProcessing Unit, MPU),如Arm Cortex-A系列、Qualcomm Snapdragon系列等,甚至是桌機(jī)、筆電常用的主芯片,如Intel, AMD x86系列等,都會(huì)有負(fù)責(zé)運(yùn)算的中央處理單元(Central Processing Unit, CPU)。
CPU可運(yùn)行各種形式的AI模型,不限矩陣運(yùn)算類(lèi)型,彈性極高,但一次只能執(zhí)行一道運(yùn)算指令,如一個(gè)乘法或一個(gè)加法或一個(gè)乘加指令,效能極低。若搭配單指令流多數(shù)據(jù)流(Single Instruction Multiple Data, SIMD)指令集,如INTEL的AVX、ARM的NEON、RISC-V的P擴(kuò)充指令集,則可將32/64/128/256/512bit拆分成8/16/32 bit的運(yùn)算,如此便能提高4~64倍的運(yùn)算效能。另外亦可透過(guò)提高工作頻率頻率(MHz)或增加核心數(shù)來(lái)增加指令周期。
2.2 數(shù)字信號(hào)處理器(DSP)
在MCU / MPU尚未有MAC及SIMD指令集前,當(dāng)遇到需要對(duì)數(shù)字聲音或影像進(jìn)行時(shí)間域轉(zhuǎn)頻率域計(jì)算如快速傅立葉變換(Fast Fourier Transform, FFT),常會(huì)遇到大量定點(diǎn)數(shù)或浮點(diǎn)數(shù)的的矩陣計(jì)算,此時(shí)就需要專(zhuān)用數(shù)字信號(hào)處理器(Digital Signal Processor, DSP)來(lái)加速計(jì)算。
此類(lèi)處理器在AI專(zhuān)用芯片未出現(xiàn)前,亦有很多被拿來(lái)當(dāng)成浮點(diǎn)數(shù)矩陣加速計(jì)算使用,如Qualcomm Hexagon, Tensilica Xtensa, Arc EM9D等系列。它在開(kāi)發(fā)上彈性頗高,價(jià)格居中,但僅適用于矩陣計(jì)算類(lèi)的應(yīng)用,在MCU / MPU開(kāi)始加入MAC、SIMD指令集及GPU技術(shù)大量普及后,逐漸被取代,目前大多只有少數(shù)獨(dú)立存在,大多依附于中大型微處理器中,或者整合至小型MCU芯片中代替NPU的工作。
2.3 圖形處理器(GPU)
圖形處理器(Graphics Processing Unit, GPU)是用于處理計(jì)算機(jī)上數(shù)字繪圖用的專(zhuān)用芯片,而其中最主要的功能就是在處理矩陣運(yùn)算,因此它能將CPU一次只能處理一個(gè)MAC的計(jì)算變成一次處理數(shù)百到數(shù)萬(wàn)個(gè)MAC來(lái)加速運(yùn)算,同時(shí)可以分散CPU的計(jì)算負(fù)荷。早期有些科學(xué)家發(fā)現(xiàn)其特性,因此開(kāi)發(fā)出GPGPU (General Purpose computing on Graphics Processing Units)函式庫(kù)來(lái)加速科學(xué)運(yùn)算。
2012年AlexNet透過(guò)GPU來(lái)加速訓(xùn)練深度學(xué)習(xí)模型,從此開(kāi)啟GPU即為AI芯片代名詞的時(shí)代。目前主流GPU供貨商包括Nvidia (GeForce, Quadro, Tesla, Tegra系列) , Intel (內(nèi)顯HD, Iris及外顯Arc系列), Arm(Mali系列)等。
由于GPU原本是用于計(jì)算機(jī)繪圖,有大量電路、處理時(shí)間、耗能是用來(lái)處理繪圖程序,因此后續(xù)許多AI芯片的設(shè)計(jì)理念就是保留計(jì)算部份而去除繪圖處理部份,來(lái)提升芯片面積的有效率。目前使用GPU開(kāi)發(fā)的彈性尚佳,但不適用于非大量矩陣計(jì)算的模型及算法。
另外為了容納更高的計(jì)算平行度,一次能處理更多的乘加運(yùn)算,因此芯片的制程也隨之越來(lái)越小(從數(shù)百nm到數(shù)nm)、晶體數(shù)量和芯片單價(jià)也越來(lái)越高,較適合大模型訓(xùn)練及高速推論用。
2.4 現(xiàn)場(chǎng)可程序化邏輯門(mén)陣列(FPGA)
一般開(kāi)發(fā)如影像分類(lèi)、聲音辨識(shí)、對(duì)象偵測(cè)、影像分割等AI專(zhuān)用型應(yīng)用甚至是MCU / MPU等通用型應(yīng)用芯片前,為確保投入像臺(tái)積電等晶圓代工廠生產(chǎn)前沒(méi)有電路及計(jì)算功能的問(wèn)題,通常除了會(huì)使用軟件進(jìn)行仿真分析外,亦會(huì)使用FPGA (Field Programmable Gate Array)來(lái)進(jìn)行硬件驗(yàn)證。常見(jiàn)的供貨商有Xilinx(已被AMD收購(gòu))、Altera(已被Intel收購(gòu))、Lattice等。
FPGA除了可以驗(yàn)證IC的功能外,另外由于其超高彈性,所以可以排列組合出超過(guò)CPU / DSP / GPU 功能的應(yīng)用,且可以用最精簡(jiǎn)的電路來(lái)設(shè)計(jì),以達(dá)到最低功耗、最高執(zhí)行效能。但此類(lèi)型的開(kāi)發(fā)非常困難,需要非常專(zhuān)業(yè)的工程師才有辦法設(shè)計(jì),且需配合相當(dāng)多的硅智財(cái)(Semiconductor intellectual property core,簡(jiǎn)稱(chēng)IP),因此大型FPGA的單價(jià)及開(kāi)發(fā)成本是非常高的。
當(dāng)使用FPGA驗(yàn)證后,就可以將特殊應(yīng)用集成電路(Application Specific Integrated Circuit, ASIC)送到晶圓廠及封裝廠加工了。完成后的芯片就可獨(dú)立運(yùn)作,優(yōu)點(diǎn)是可大量生產(chǎn)讓單價(jià)大幅降低,能滿(mǎn)足市場(chǎng)需求,同時(shí)擁有極高的執(zhí)行效能和最低的功耗。但缺點(diǎn)是沒(méi)有任何修改彈性,萬(wàn)一設(shè)計(jì)功能有瑕疵時(shí)就有可能需要全部報(bào)廢。因此當(dāng)沒(méi)有明確市場(chǎng)及需求量時(shí),通常會(huì)使用如CPU或GPU或CPU+NPU等通用型解決方案來(lái)取代。
2.6 神經(jīng)網(wǎng)絡(luò)處理器(NPU, DLA)
「神經(jīng)網(wǎng)絡(luò)處理單元」 (Neural Network Processing Unit, NPU) 或稱(chēng)「深度學(xué)習(xí)加速器」(Deep Learning Accelerator, DLA) 是專(zhuān)門(mén)用于處理深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)運(yùn)算的特殊應(yīng)用集成電路(ASIC)。它較接近GPU的用法,所以可以一次處理很多的乘加運(yùn)算(MAC)。但因?yàn)橹回?fù)責(zé)乘加計(jì)算,無(wú)法處理大量數(shù)據(jù)搬移及邏輯性計(jì)算,所以通常必須搭配CPU使用。
大多數(shù)的AI芯片都是屬于這一類(lèi)型,使用上較有彈性,可適合各式新模型的變化。不過(guò)由于NPU的軟硬接口規(guī)格無(wú)法統(tǒng)一,因此在開(kāi)發(fā)上能支持的AI框架(如TensorFlow, TensorFolw Lite, TensoFlow Lite for Micro, PyTorch等)或IDE(如JupyterNotebook, Arduino, OpenMV, 各廠商MCU專(zhuān)屬I(mǎi)DE等)就有很大不同,選用前需考慮自身工程能力。
另外根據(jù)不同應(yīng)用,小型NPU主要用于推論,可以放到MCU / MPU 或手機(jī)中,如Intel (Movidius) Myriad, Arm Ethos U55, Google Coral等,大型NPU則可以放到桌機(jī)、云端服務(wù)器中,如Nvidia GTX / Tesla / A100, Google TPU等。
Fig. 2 不同類(lèi)型AI芯片主要差異。
3. AI芯片最新趨勢(shì)
目前AI應(yīng)用越來(lái)越強(qiáng)大,模型權(quán)重?cái)?shù)量已從數(shù)萬(wàn)個(gè)(如LeNet-5)激增到近一千多億個(gè)(如GPT3),傳統(tǒng)NPU、TPU及FPGA的速度已不夠快,功耗也大的驚人,因此近來(lái)開(kāi)始有廠商在開(kāi)發(fā)新的解決方案,企圖以更接近人腦運(yùn)行方式或者減少在計(jì)算時(shí)權(quán)重大量搬移問(wèn)題,甚至使用光子進(jìn)行計(jì)算來(lái)進(jìn)行改善。以下就簡(jiǎn)單介紹幾種常見(jiàn)方案,如Fig. 3所示。
(1) 可重構(gòu)型(Coarse GrainReconfigurable Architecture, CGRA):
可依不同需求以軟件重構(gòu)位寬度、MAC算子結(jié)構(gòu)、矩陣計(jì)算結(jié)構(gòu)、混合精度計(jì)算等。主要代表廠商如下:
?耐能(Kneron)
?Wave Computing
?清微智能
?云天勵(lì)飛
?燧原科技
(2) 類(lèi)腦芯片(Neuromophic神經(jīng)型態(tài)):
主要模擬人類(lèi)大腦神經(jīng)脈沖計(jì)算方式。有以下幾種方式及代表廠商:
?數(shù)位式:IBM TrueNorth, Intel Loihi, SpiNNaker
?模擬式:Neurogrid, BrainScales, ROLLS
?新材料式:Memristor
(3) 內(nèi)存內(nèi)記算(Compute inMemory, CIM)(也稱(chēng)為存算一體、存內(nèi)計(jì)算):
主要將內(nèi)存和計(jì)算單元整合在一起,減少計(jì)算時(shí)海量存儲(chǔ)器搬移浪費(fèi)的時(shí)間。主要括下列幾種技術(shù):
?靜態(tài)(晶體管式)隨機(jī)存取內(nèi)存SRAM (揮發(fā)性?xún)?nèi)存)
?磁阻式隨機(jī)存取內(nèi)存MRAM (非揮發(fā)性?xún)?nèi)存)
?可變電阻式隨機(jī)存取內(nèi)存RRAM (非揮發(fā)性?xún)?nèi)存)
(4) 光子芯片:
主要以光子代替電子,以提升指令周期。代表廠商包括:
?Lightmatter
?曦智(Lightelligence)
小結(jié)
歷經(jīng)近十多年的發(fā)展,AI加速芯片不論是在云端服務(wù)器所需要的大型模型訓(xùn)練或是模型高速推論,或者邊緣裝置所需小而美、高性?xún)r(jià)比的推論單元,都已有長(zhǎng)足的進(jìn)步。相信隨著半導(dǎo)體技術(shù)的提升,未來(lái)Edge AI能運(yùn)行的模型大小、復(fù)雜度及所需的功耗都能有更棒的表現(xiàn),能適用的AI應(yīng)用也會(huì)更加寬廣。
審核編輯:湯梓紅
-
處理器
+關(guān)注
關(guān)注
68文章
19851瀏覽量
234131 -
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4812瀏覽量
103196 -
人工智能
+關(guān)注
關(guān)注
1805文章
48898瀏覽量
247841 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8499瀏覽量
134314 -
AI芯片
+關(guān)注
關(guān)注
17文章
1978瀏覽量
35780
原文標(biāo)題:AI芯片發(fā)展歷史及最新趨勢(shì)
文章出處:【微信號(hào):易心Microbit編程,微信公眾號(hào):易心Microbit編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
2012電源管理新趨勢(shì)
虛擬科技云時(shí)代 發(fā)展新趨勢(shì)
D類(lèi)放大器的發(fā)展新趨勢(shì)介紹
AI發(fā)展對(duì)芯片技術(shù)有什么影響?
清華出品:最易懂的AI芯片報(bào)告!人才技術(shù)趨勢(shì)都在這里 精選資料分享
新型工業(yè)化的三個(gè)新趨勢(shì)(人民觀察)
什么是嵌入式技術(shù)和物聯(lián)網(wǎng)發(fā)展新趨勢(shì)
人造電子皮膚——電子工業(yè)發(fā)展的新趨勢(shì)
芯片是什么?由芯片到AI智能芯片的進(jìn)化歷史
智能制造領(lǐng)域發(fā)展的新趨勢(shì)
淺析模塊電源發(fā)展新趨勢(shì)
AI芯片的誕生和發(fā)展背景 AI芯片發(fā)展的技術(shù)方向 AI芯片的發(fā)展趨勢(shì)
WLAN 的歷史和發(fā)展趨勢(shì)

評(píng)論