【中國(guó)安防展覽網(wǎng) 企業(yè)關(guān)注】基礎(chǔ)層、算法層與應(yīng)用層是人工智能產(chǎn)業(yè)鏈的三個(gè)組成部分。人工智能(AI)正在作為基礎(chǔ)技術(shù),改變不同的行業(yè),并具有極其廣闊的應(yīng)用市場(chǎng)??紤]到深度學(xué)習(xí)等AI算法開(kāi)源的發(fā)展趨勢(shì),基礎(chǔ)層的數(shù)據(jù)與芯片將在未來(lái)競(jìng)爭(zhēng)中占據(jù)越來(lái)越重要的地位。作為人工智能發(fā)展支柱的AI芯片(特指專門(mén)針對(duì)AI算法做了特定設(shè)計(jì)的芯片)更是人工智能行業(yè)的核心競(jìng)爭(zhēng)力。
基于深度神經(jīng)網(wǎng)絡(luò)(DNN)在各個(gè)應(yīng)用中表現(xiàn)出的巨大優(yōu)勢(shì),本文的AI于深度學(xué)習(xí)。下文將從AI計(jì)算與AI芯片出發(fā),分析不同種類AI芯片間的區(qū)別,探索應(yīng)用于終端推斷(Edge Inference,EI)的AI芯片,即AI-EI芯片,并給出AI-EI芯片硬件架構(gòu)特性,討論多家AI-EI芯片公司,后給出AI-EI芯片發(fā)展趨勢(shì)及投資邏輯。
一、AI計(jì)算及AI芯片
近幾年,深度神經(jīng)網(wǎng)絡(luò)(DNN)在圖像識(shí)別、自然語(yǔ)言處理等方向上取得了的成功,并推動(dòng)相關(guān)行業(yè)的快速發(fā)展。但是,這些應(yīng)用中使用的深度神經(jīng)網(wǎng)絡(luò)的參數(shù)量巨大,模型訓(xùn)練(training)與推斷(inference)都需要大量的計(jì)算,傳統(tǒng)計(jì)算芯片的算力無(wú)法滿足DNN計(jì)算需求。具有高算力的AI芯片能夠滿足AI行業(yè)計(jì)算需求并得到了快速發(fā)展。
2016年AI芯片市場(chǎng)規(guī)模為23.88億美元,有機(jī)構(gòu)預(yù)計(jì)到2020年AI芯片市場(chǎng)規(guī)模將達(dá)到146.16億美元(終端AI芯片的市場(chǎng)規(guī)模),發(fā)展空間巨大。另外,各國(guó)紛紛把AI芯片定為自己的戰(zhàn)略發(fā)展方向。
與傳統(tǒng)CPU不同的是,AI芯片具有大量的計(jì)算單元,能夠適合大規(guī)模并行計(jì)算的需求?;谕ㄓ眯耘c計(jì)算性能的不同,可以把AI芯片分為GPU、FPGA、ASIC三大類。深度神經(jīng)網(wǎng)絡(luò)的基本運(yùn)算單元是“乘-加”(MAC)操作。每次MAC中存儲(chǔ)器讀寫(xiě)操作如圖1所示。
在AI應(yīng)用中,CPU與AI芯片的計(jì)算能力是由芯片所具備的MAC能力及如何發(fā)揮芯片的MAC能力兩個(gè)因素決定。
CPU是通用芯片,CPU的大部分面積都被控制單元與緩存單元所占,只有少量的計(jì)算單元。另外,CPU的指令執(zhí)行過(guò)程包括取指令、指令譯碼與指令執(zhí)行三部分。只有在指令執(zhí)行的時(shí)候,計(jì)算單元才能發(fā)揮作用。因而,CPU在發(fā)揮芯片的MAC能力方面亦比較一般。為了提高指令執(zhí)行效率,CPU采用指令流水處理方式。GPU有大量的計(jì)算單元,適合大規(guī)模并行計(jì)算。但是,GPU也是通用芯片,其指令執(zhí)行過(guò)程也由取指令、指令譯碼與指令執(zhí)行三部分組成。該特征是制約GPU計(jì)算能力的主要原因之一。FPGA,即,現(xiàn)場(chǎng)可編程邏輯門(mén)陣列,是一種更接近I/O的高性能、低功耗芯片。FPGA是算法即電路,軟硬合一的芯片?;谟布枋稣Z(yǔ)言,可以把算法邏輯直接編譯為晶體管電路組合。由于FPGA的硬件電路是由算法定制的,其不需要取指令與指令譯碼過(guò)程,因而,F(xiàn)PGA能夠充分發(fā)揮芯片的計(jì)算能力。另外,F(xiàn)PGA可以重復(fù)編程,因而具備一定的靈活性。ASIC,即,專用集成電路。類似于FPGA,ASIC采用的也是算法即電路的邏輯,亦不需要取指令與指令執(zhí)行過(guò)程。另外,ASIC是為了特定的需求而專門(mén)定制的芯片,因而,能夠大程度發(fā)揮芯片的計(jì)算能力。但是,不同于FPGA的可重復(fù)編程,ASIC的設(shè)計(jì)制造一旦完成,就無(wú)法再改變,其靈活性較差。
在評(píng)價(jià)一個(gè)芯片架構(gòu)性好壞時(shí),有多種指標(biāo)可供參考。其中,能耗與峰值計(jì)算能力(芯片結(jié)構(gòu)中每秒計(jì)算操作數(shù)的總和,用OPS表示)是兩個(gè)重要的衡量指標(biāo)。不同指標(biāo)間會(huì)相互制衡,一個(gè)指標(biāo)的增高可能是以犧牲其它指標(biāo)為代價(jià)而獲取的。因而,常采用歸一化的指標(biāo)單位能耗算力(OPS/W),即,能效,來(lái)衡量芯片計(jì)算性能。實(shí)質(zhì)上看,上述的四種芯片是通用性與能效trade-off的結(jié)果。能效方面,ASIC>FPGA>GPU>CPU。通用性則反之。
對(duì)于AI芯片,從市場(chǎng)格局來(lái)看,NVIDIA是GPU行業(yè)的。對(duì)于FPGA,XILINX、ALTERA(現(xiàn)并入INTEL)、LATTICE、MICROSEMI四家占據(jù)99%的市場(chǎng)份額。其中,XILINX、ALTERA兩家占據(jù)90%的市場(chǎng)份額。另外,F(xiàn)PGA四大巨頭擁有6000多項(xiàng)行業(yè),形成該行業(yè)極高的技術(shù)壁壘。對(duì)于ASIC芯片,目前還未形成巨頭壟斷的市場(chǎng)格局,但是對(duì)于不同垂直領(lǐng)域,其情況不同,我們將在下文中給出詳細(xì)分析。
深度學(xué)習(xí)分為兩個(gè)階段:模型訓(xùn)練與智能推斷,如圖2所示。模型訓(xùn)練需要大量的訓(xùn)練樣本,基于梯度下降法,模型優(yōu)化收斂到局部?jī)?yōu)點(diǎn)。深度學(xué)習(xí)的模型訓(xùn)練需要幾小時(shí)到多天的迭代優(yōu)化,因而,現(xiàn)階段,模型訓(xùn)練都在云端完成(我們認(rèn)為具備持續(xù)學(xué)習(xí)能力是智能終端未來(lái)發(fā)展的方向,因而這里并不認(rèn)為訓(xùn)練一定只在云端完成)。模型訓(xùn)練好之后,則能夠基于該模型與輸入數(shù)據(jù),計(jì)算得到輸出,完成智能推斷。相比于模型訓(xùn)練,推斷的計(jì)算量要小很多,可以在云端與終端完成。
現(xiàn)階段,由于終端設(shè)備的計(jì)算力普遍有限,模型訓(xùn)練與推斷大都在云端服務(wù)器上完成。在云端模型訓(xùn)練中,NVIDIA的GPU占主導(dǎo)地位,多GPU并行架構(gòu)是云端訓(xùn)練常用的基礎(chǔ)架構(gòu)方案。在云端識(shí)別中,基于功耗與運(yùn)算速度的考量,單獨(dú)基于GPU的方式并非優(yōu)方案,利用CPU、GPU、FPGA、ASIC各自的優(yōu)勢(shì),采用異構(gòu)計(jì)算(CPU+GPU+FPGA/ASIC)是目前主流方案。
在計(jì)算機(jī)視覺(jué)、語(yǔ)音識(shí)別等應(yīng)用中,終端采集數(shù)據(jù)(特別是圖像數(shù)據(jù)),然后上傳到云端處理的云計(jì)算對(duì)網(wǎng)絡(luò)帶寬與數(shù)據(jù)中心存儲(chǔ)都帶來(lái)越來(lái)越大的挑戰(zhàn)。另外,無(wú)人駕駛等應(yīng)用對(duì)實(shí)時(shí)性與安全性要求極高。網(wǎng)絡(luò)的時(shí)延與穩(wěn)定性所帶來(lái)的安全隱患是無(wú)人駕駛等應(yīng)用所無(wú)法忍受的。在終端采集數(shù)據(jù),并完成數(shù)據(jù)處理,提供智能終端推斷的邊緣計(jì)算(Edge computing),因其能夠滿足實(shí)時(shí)性、安全性的需求,且能節(jié)約帶寬與存儲(chǔ),得到越來(lái)越多的關(guān)注。我們判斷inference將越來(lái)越多的在終端設(shè)備上完成,即,智能將會(huì)下沉到終端設(shè)備,智能邊緣計(jì)算將會(huì)崛起。
實(shí)時(shí)性是選擇在終端完成推斷主要的原因之一。但是,由于深度神經(jīng)網(wǎng)絡(luò)參數(shù)量巨大,推斷過(guò)程需要完成大量的計(jì)算,其對(duì)終端硬件的計(jì)算力提出了很高的要求。另外,電池供電的終端設(shè)備對(duì)功耗也有極高的要求,且大多數(shù)的終端產(chǎn)品價(jià)格敏感。即,執(zhí)行DNN推斷的終端芯片對(duì)算力、功耗、價(jià)格都有嚴(yán)格的限制。研究用于DNN推斷的AI-EI芯片是目前AI芯片行業(yè)熱的方向。現(xiàn)階段,已有大量的初創(chuàng)公司,針對(duì)不同領(lǐng)域及應(yīng)用,提出多種AI-EI芯片硬件設(shè)計(jì)架構(gòu),下文將詳細(xì)給出AI-EI芯片的架構(gòu)思路及發(fā)展現(xiàn)狀。
二、AI-EI芯片及其架構(gòu)
基于深度神經(jīng)網(wǎng)絡(luò)的廣泛應(yīng)用,科技巨頭及初創(chuàng)公司都根據(jù)DNN的特性進(jìn)行有針對(duì)性的硬件處理器研發(fā)。其中包括Google的TPU、寒武紀(jì)的DianNao系列、Eyeriss的NPU等AI芯片。本節(jié)將總結(jié)并給出這些AI-EI芯片如何在不降低準(zhǔn)確率的前提下實(shí)現(xiàn)運(yùn)算吞吐量提升,并降低能耗。
由前文可知,深度神經(jīng)網(wǎng)絡(luò)的基本運(yùn)算為MAC操作,且MAC操作很容易被并行化。在DNN硬件設(shè)計(jì)中,常使用時(shí)間架構(gòu)(temporal architecture)與空間架構(gòu)(spatial architecture)兩種高度并行化的計(jì)算架構(gòu),來(lái)獲取高計(jì)算性能。
時(shí)間架構(gòu)(Temporalarchitecture)
通用芯片CPU與GPU常采用時(shí)間架構(gòu),并使用單指令多數(shù)據(jù)流(SIMD)或者單指令多線程(SIMT)來(lái)提高并行化處理性能。時(shí)間架構(gòu)基于中央控制器統(tǒng)一控制所有的ALU。這些ALU只能從層次存儲(chǔ)器中取數(shù)據(jù),而不能相互通信。
時(shí)間架構(gòu)中,通常使用各種計(jì)算變換,特別是對(duì)卷積操作的計(jì)算變換,來(lái)減小計(jì)算復(fù)雜度,從而提升吞吐量,常用的方法包括:
Toeplitz矩陣方法:把卷積操作轉(zhuǎn)換為矩陣乘操作FFT方法:經(jīng)過(guò)FFT變換,把卷積運(yùn)算變成矩陣乘操作Winograd方法:比較適合較小的濾波器的情況
空間架構(gòu)(spatial architecture)
基于ASIC或者FPGA的AI-EI芯片常使用空間架構(gòu)。相對(duì)于通用芯片,專用芯片應(yīng)用在特定場(chǎng)景,其功能有限。簡(jiǎn)單且規(guī)則的硬件架構(gòu)是降低設(shè)計(jì)成本的基礎(chǔ),亦是實(shí)現(xiàn)低成本專用芯片的先決條件。足夠低的芯片成本才能對(duì)沖專用芯片功能的局限性。
空間架構(gòu)采用數(shù)據(jù)流(Dataflow)處理方式。在空間架構(gòu)中,ALU形成一條數(shù)據(jù)處理鏈,從而能夠在ALU間直接地傳送數(shù)據(jù)。該空間架構(gòu)中,每個(gè)ALU都有自己的控制邏輯與本地存儲(chǔ)(寄存器堆)。其中,有本地存儲(chǔ)的ALU被定義為PE。
對(duì)于空間架構(gòu),硬件設(shè)計(jì)基于層次存儲(chǔ)器中的低能耗內(nèi)存,并增加數(shù)據(jù)重利用率(實(shí)質(zhì)上,卷積是空間重用,這種重用可以獲取空間的不變性),來(lái)減小能耗。另外,數(shù)據(jù)流(Dataflow)控制數(shù)據(jù)讀、寫(xiě)及處理。總體上,空間架構(gòu)基于層次存儲(chǔ)器與數(shù)據(jù)流平衡I/O與運(yùn)算問(wèn)題,從而降低能耗并提升運(yùn)算吞吐量。下文將在分析層次存儲(chǔ)器與數(shù)據(jù)流的基礎(chǔ)上,討論不同的技術(shù)路線的AI-EI芯片。
訪問(wèn)內(nèi)存所需時(shí)間要遠(yuǎn)遠(yuǎn)大于計(jì)算所需時(shí)間。由深度神經(jīng)網(wǎng)絡(luò)的推斷部分運(yùn)算可知,每個(gè)MAC都需要三次內(nèi)存讀與一次內(nèi)存寫(xiě)操作。其中三次內(nèi)存讀操作分別為讀取輸入數(shù)據(jù)、權(quán)值數(shù)據(jù)與部分和數(shù)據(jù)(partial sum),一次內(nèi)存寫(xiě)操作為更新部分和數(shù)據(jù)。層次存儲(chǔ)器基于內(nèi)部寄存器等存儲(chǔ)單元來(lái)減小對(duì)外掛內(nèi)存訪問(wèn)次數(shù),降低I/O需求。層次存儲(chǔ)器如圖4所示,該層次存儲(chǔ)器包括PE內(nèi)部的寄存器(RF)、用于ALU間直接傳輸數(shù)據(jù)時(shí)存儲(chǔ)數(shù)據(jù)的內(nèi)存單元NoC及連接DRAM的全局緩存器Buffer。由圖4可以看到,層次存儲(chǔ)器中,不同類別的存儲(chǔ)器讀寫(xiě)操作所消耗的能量不同,這也是我們能夠利用層次存儲(chǔ)器及數(shù)據(jù)復(fù)用來(lái)降低能耗的原因。
Dataflow是一種沒(méi)有復(fù)雜程序指令控制且由操作數(shù),即,數(shù)據(jù)或者中間結(jié)果,激活子計(jì)算單元,來(lái)實(shí)現(xiàn)并行計(jì)算的一種計(jì)算方式。圖5總結(jié)出了Dataflow的架構(gòu)邏輯。
在深度學(xué)習(xí)的推斷中,有大量的計(jì)算需求。但是,這些計(jì)算是分層順序執(zhí)行的。因而,控制流程相對(duì)簡(jiǎn)單、清晰??梢钥闯?,Dataflow處理方式與基于深度神經(jīng)網(wǎng)絡(luò)推斷部分的計(jì)算需求非常吻合。
數(shù)據(jù)流能夠決定哪些數(shù)據(jù)讀入到哪層存儲(chǔ)器以及這些數(shù)據(jù)什么時(shí)候被處理。另外,在DNN推斷中,沒(méi)有隨機(jī)性。因而,可以從優(yōu)能耗的角度,設(shè)計(jì)一個(gè)基于Dataflow的固定架構(gòu)的AI-EI芯片。目前,大多數(shù)用于深度學(xué)習(xí)推斷的AI-EI芯片都采用Dataflow。
層次存儲(chǔ)器中,存儲(chǔ)量大的存儲(chǔ)器讀寫(xiě)操作所消耗的能量要比小存儲(chǔ)的存儲(chǔ)器大很多。因而,一旦一塊數(shù)據(jù)從大存儲(chǔ)器搬移到小存儲(chǔ)器后,要盡可能大程度復(fù)用(reuse)該數(shù)據(jù)塊來(lái)小化能耗。但是低功耗存儲(chǔ)器的存儲(chǔ)空間有限。如何大化復(fù)用率是設(shè)計(jì)基于Dataflow加速器時(shí)關(guān)注的先前條件。即,通過(guò)大化數(shù)據(jù)復(fù)用率來(lái)降低I/O要求,減小數(shù)據(jù)處理能耗,從而提升吞吐量并降低總體能耗。常見(jiàn)的DNN數(shù)據(jù)流類型包括:權(quán)值固定數(shù)據(jù)流、輸出固定數(shù)據(jù)流、No local reuse(NLR)及行固定數(shù)據(jù)流。
權(quán)值固定數(shù)據(jù)流: 從DRAM中讀出權(quán)值數(shù)據(jù),放在PE的RF中并保持不變,之后把輸入數(shù)據(jù)廣播(broadcast)到每個(gè)PE,后求取PE陣列的部分和(partialsum)。該處理方式通過(guò)大化從PE的RF中讀取權(quán)值數(shù)據(jù)次數(shù),并小化直接從DRAM中讀取權(quán)值次數(shù),實(shí)現(xiàn)大化卷積與濾波器對(duì)權(quán)值的復(fù)用率,來(lái)減小能耗。NeuFlow即為基于該種數(shù)據(jù)處理方式的AI-EI芯片。
輸出固定(OS)數(shù)據(jù)流: 通過(guò)在PE陣列中stream輸入數(shù)據(jù),然后把權(quán)值數(shù)據(jù)廣播到PE陣列,保持 RF中的部分和的累加不變,從而小化讀寫(xiě)部分和的能耗。寒武紀(jì)的ShiDianNao是基于輸出固定的AI-EI芯片。另外,根據(jù)處理目標(biāo)的不同,可以把該種數(shù)據(jù)流分為以卷積層為處理目標(biāo)的OS_A與以全連接層為處理目標(biāo)的OS_C,OS_B是介于OS_A與OS_C間的一種OS數(shù)據(jù)流。
NLR數(shù)據(jù)流: PE陣列的RF中并不存儲(chǔ)任何固定數(shù)據(jù),相反,該情況下,所有數(shù)據(jù)的讀寫(xiě)操作都是在全局buffer中完成。寒武紀(jì)的DianNao與DaNiaoNao是基于該數(shù)據(jù)處理方式的AI-EI芯片。
行固定數(shù)據(jù)流: 大化所有數(shù)據(jù)復(fù)用率并盡可能的使得所有數(shù)據(jù)的讀寫(xiě)操作都在RF中完成,減小對(duì)全局buffer的讀寫(xiě)操作,來(lái)減小功耗。每個(gè)PE能夠完成1D的卷積運(yùn)算,多個(gè)PE能夠完成2D的卷積運(yùn)算。在二維的PE陣列中,水平軸上的PE單元上,每一行的權(quán)值數(shù)據(jù)被復(fù)用,對(duì)角線上的PE單元上,每一行的輸入數(shù)據(jù)被復(fù)用,垂直軸上的多個(gè)PE單元上,每一行的部分和數(shù)據(jù)被復(fù)用,即,行固定的數(shù)據(jù)流能夠大化所有數(shù)據(jù)的復(fù)用率,從而能夠全局優(yōu)化功耗。Eyeriss的NPU是基于行固定的AI-EI芯片。
三、AI-EI芯片玩家
本節(jié)首先總結(jié)三家代表性的研發(fā)DNN加速器(Google、Wave computing、Graphcore是平臺(tái)化的計(jì)算平臺(tái),因而,這里沒(méi)把他們叫做AI-EI芯片廠家)的公司,后文中結(jié)合應(yīng)用場(chǎng)景總結(jié)AI-EI芯片創(chuàng)業(yè)公司,其中部分公司的芯片也可以做訓(xùn)練,且不一定應(yīng)用在終端場(chǎng)景,這里基于行為考慮,把他們稱為AI-EI芯片公司。
Google TPU
在2015年就開(kāi)始部署ASIC張量處理器TPU。TPU采用脈動(dòng)陣列(systolic array)技術(shù),通過(guò)矩陣單元的使用,減小統(tǒng)一緩沖區(qū)的讀寫(xiě)來(lái)降低能耗,即脈動(dòng)運(yùn)行。脈動(dòng)陣列不是嚴(yán)格意義的Dataflow,但也是數(shù)據(jù)流驅(qū)動(dòng)的設(shè)計(jì)方式。該技術(shù)早在1982年就被提出,但是受限于當(dāng)時(shí)的工藝水平及應(yīng)用,該技術(shù)在當(dāng)時(shí)并沒(méi)有引起太多關(guān)注。脈動(dòng)陣列在TPU上的應(yīng)用,讓該技術(shù)回歸大眾視野,并得到了極大的關(guān)注。
Google在TPU上使用該技術(shù)的邏輯在于脈動(dòng)陣列簡(jiǎn)單、規(guī)則且能夠平衡運(yùn)算與I/O通信。TPU中基本計(jì)算單元是功能單一的處理單元PE,每個(gè)PE需要先從存儲(chǔ)中讀取數(shù)據(jù),進(jìn)行處理,然后把處理后的結(jié)果再寫(xiě)入到存儲(chǔ)中。TPU脈動(dòng)陣列中的PE與前文中其他DNN加速器的PE基本一樣,能夠?qū)崿F(xiàn)MAC操作,有存儲(chǔ)能力有限的RF。由前文可知,對(duì)數(shù)據(jù)讀寫(xiě)的速度要遠(yuǎn)遠(yuǎn)小于數(shù)據(jù)處理的速度。因而,訪問(wèn)內(nèi)存的速度決定了處理器的處理能力。TPU的脈動(dòng)陣列采用數(shù)據(jù)復(fù)用及數(shù)據(jù)在陣列中的脈動(dòng)運(yùn)行的策略來(lái)減小訪問(wèn)存儲(chǔ)器次數(shù),從而提高TPU的吞吐量。
TPU在實(shí)現(xiàn)卷積等運(yùn)算時(shí),要先調(diào)整好數(shù)據(jù)的形式(即對(duì)原始矩陣做好調(diào)整),之后才能完成相應(yīng)的計(jì)算。因而,TPU的靈活性一般,只能處理特定的運(yùn)算,這也是其它基于PE陣列Dataflow DNN加速器共有的問(wèn)題。但是脈動(dòng)陣列特別適合卷積運(yùn)算,TPU有多種實(shí)現(xiàn)卷積運(yùn)算的方式,其中包括:
權(quán)值存儲(chǔ)在PE中保持不變,廣播輸入數(shù)據(jù)到各個(gè)PE,部分和的結(jié)果在PE陣列中脈動(dòng)運(yùn)行部分和的結(jié)果存儲(chǔ)在PE中保持不變,廣播輸入數(shù)據(jù)到各個(gè)PE,權(quán)值在PE陣列中脈動(dòng)運(yùn)行部分和的結(jié)果存儲(chǔ)在PE中保持不變,輸入數(shù)據(jù)與權(quán)值在PE陣列中按相反方向脈動(dòng)運(yùn)行部分和的結(jié)果存儲(chǔ)在PE中保持不變,輸入數(shù)據(jù)與權(quán)值在PE陣列中按相同方向但不同速度脈動(dòng)運(yùn)行權(quán)值存儲(chǔ)在PE中保持不變,輸入數(shù)據(jù)與部分和的結(jié)果在PE陣列中按相反方向脈動(dòng)運(yùn)行權(quán)值存儲(chǔ)在PE中保持不變,輸入數(shù)據(jù)與部分和的結(jié)果在PE陣列中按相同方向但不同速度脈動(dòng)運(yùn)行
Wave computing
基于Coarse GrainReconfigurable Array (CGRA) 陣列,實(shí)現(xiàn)數(shù)據(jù)流計(jì)算。另外,Wave的DNN加速器是clockless,其基于握手信號(hào)來(lái)實(shí)現(xiàn)模塊間的同步。因而,不需要時(shí)鐘樹(shù),從而能夠減小芯片面積并降低功耗。
Graphcore
打造專門(mén)針對(duì)graph計(jì)算的智能處理器IPU。Graphcore在芯片設(shè)計(jì)上做出了很大的改變。相比于CPU以scalar為基礎(chǔ)表示,GPU以矢量為基礎(chǔ)表示,Graphcore的IPU是為了high-dimensional graph workload而設(shè)計(jì)的。這種表示既適用于神經(jīng)網(wǎng)絡(luò),也適用于貝葉斯網(wǎng)絡(luò)和馬爾科夫場(chǎng),包括未來(lái)可能出現(xiàn)的新的模型和算法。該IPU采用同構(gòu)多核架構(gòu),有k級(jí)的獨(dú)立處理器。另外,該芯片使用大量片上SRAM,不直接連接DRAM。該芯片能夠直接做卷積運(yùn)算,而不需要把轉(zhuǎn)換成矩陣乘法之后使用MAC操作完成。該IPU不僅能夠支持推斷,也能支持訓(xùn)練。
商業(yè)應(yīng)用是AI的關(guān)鍵因素之一,AI只有解決了實(shí)際的問(wèn)題才具有價(jià)值,下文,我們從終端不同的應(yīng)用,探討AI-EI芯片。不同的加速器在各個(gè)子行業(yè)都有應(yīng)用布局,我們從主要應(yīng)用領(lǐng)域出發(fā),給出公司產(chǎn)品、新產(chǎn)品性能及融資情況的終結(jié)。
AI-EI芯片+自動(dòng)駕駛
在汽車行業(yè),安全性是重要的問(wèn)題。高速駕駛情況下,實(shí)時(shí)性是保證安全性的首要前提。由于網(wǎng)絡(luò)終端機(jī)延時(shí)的問(wèn)題,云端計(jì)算無(wú)法保證實(shí)時(shí)性。車載終端計(jì)算平臺(tái)是自動(dòng)駕駛計(jì)算發(fā)展的未來(lái)。另外,隨著電動(dòng)化的發(fā)展趨勢(shì),對(duì)于汽車行業(yè),低功耗變的越來(lái)越重要。天然能夠滿足實(shí)時(shí)性與低功耗的ASIC芯片將是車載計(jì)算平臺(tái)未來(lái)發(fā)展趨勢(shì)。目前地平線機(jī)器人與Mobileye是OEM與Tier1的主要合作者。
AI-EI芯片+安防、無(wú)人機(jī)
對(duì)于如何解決“虐童”問(wèn)題,我們認(rèn)為能夠“看得懂”的AI安防視頻監(jiān)控是可行方案之一。相比于傳統(tǒng)視頻監(jiān)控,AI+視頻監(jiān)控,主要的變化是把被動(dòng)監(jiān)控變?yōu)橹鲃?dòng)分析與預(yù)警,因而,解決了需要人工處理海量監(jiān)控?cái)?shù)據(jù)的問(wèn)題(也繞開(kāi)了硬盤(pán)關(guān)鍵時(shí)刻掉鏈子問(wèn)題)。安防、無(wú)人機(jī)等終端設(shè)備對(duì)算力及成本有很高的要求。隨著圖像識(shí)別與硬件技術(shù)的發(fā)展,在終端完成智能安防的條件日益成熟。安防海康威視、無(wú)人機(jī)大疆已經(jīng)在智能攝像頭上使用了Movidious的Myriad系列芯片。
AI-EI芯片+消費(fèi)電子
搭載麒麟970芯片的華為mate10手機(jī)與同樣嵌入AI芯片的iPhoneX帶領(lǐng)手機(jī)進(jìn)入智能時(shí)代。另外,亞馬遜的Echo引爆了智能家居市場(chǎng)。對(duì)于包括手機(jī)、家居電子產(chǎn)品在內(nèi)的消費(fèi)電子行業(yè),實(shí)現(xiàn)智能的前提要解決功耗、安全隱私等問(wèn)題。據(jù)市場(chǎng)調(diào)研表明,搭載ASIC芯片的智能家電、智能手機(jī)、AR/VR設(shè)備等智能消費(fèi)電子已經(jīng)處在爆發(fā)的前夜。
其他
隨著AI應(yīng)用的推廣,越來(lái)越多的公司加入AI-EI芯片行業(yè),其中,既包括Bitmain這樣的比特幣芯片廠商,也包括從GoogleTPU團(tuán)隊(duì)出來(lái)的創(chuàng)業(yè)公司Groq,還有技術(shù)路線前瞻性的Vathys。由于這些Startups都還處于非常早期階段,具體應(yīng)用方向還未公布,因而放在“其他”中。另外,我們判斷終端AI芯片的參與者還會(huì)增加,整個(gè)終端智能硬件行業(yè)還處在快速上升期。
四、AI-EI芯片發(fā)展趨勢(shì)
上文介紹的AI-EI芯片是在優(yōu)化硬件架構(gòu)基礎(chǔ)上,實(shí)現(xiàn)低功耗、高吞吐量?,F(xiàn)有研究中有采用Processing in Memory(PIM)的方式,把處理直接放在存儲(chǔ)單元的位置,降低整個(gè)系統(tǒng)的復(fù)雜度,減少不必要的數(shù)據(jù)搬移,從而優(yōu)化功耗和硬件成本。同時(shí),這也需要在電路(模擬信號(hào))的層面重新設(shè)計(jì)存儲(chǔ)器。初創(chuàng)公司Mythic即采用PIM技術(shù)來(lái)設(shè)計(jì)AI芯片。另外,通過(guò)研究具備高帶寬和低功耗特性的存儲(chǔ)器來(lái)解決I/O與運(yùn)算不平衡的問(wèn)題也是當(dāng)前的研究熱點(diǎn)。
類腦芯片是處理Spiking neural network (SNN)而設(shè)計(jì)的一種AI芯片。IBM的TrueNorth、高通的Zeroth及國(guó)內(nèi)的Westwell是類腦芯片的代表公司。類腦芯片能夠?qū)崿F(xiàn)極低的功耗。但是在圖像處理方面,SNN并沒(méi)有表現(xiàn)的比CNN好,且類腦芯片現(xiàn)在處在研究階段,離商業(yè)應(yīng)用還有較遠(yuǎn)的距離。
2017年芯片行業(yè)的融資額是2015年的3倍。巨頭公司與資本都在積極布局AI芯片,特別是在智能邊緣計(jì)算有技術(shù)積累的公司。我們無(wú)法預(yù)測(cè)未來(lái)哪家公司能夠終勝出。
但是,一家AI芯片公司要想持續(xù)發(fā)展并壯大,需要具備包括硬件及軟件生態(tài)的全AI服務(wù)流程能力。從現(xiàn)階段的投資動(dòng)向可以看出,創(chuàng)業(yè)公司要想獲取資本青睞,需要在硬件設(shè)計(jì)架構(gòu)上有足夠吸引人的變動(dòng)。另外,性能指標(biāo)與技術(shù)路線可以靠講,只要合理既有可能,但是在未來(lái)1到2年的時(shí)間內(nèi)再拿不出產(chǎn)品是很難繼續(xù)講下去的。