對運算產(chǎn)業(yè)來(lái)說(shuō),在過(guò)去的2016年應該沒(méi)有一個(gè)概念比人工智能(AI)更熱門(mén);跨入2017年,專(zhuān)家們表示,人工智能生態(tài)圈的需求成長(cháng)會(huì )更加迅猛。主要集中在為深度神經(jīng)網(wǎng)絡(luò )找尋性能和效率更適合的“推理(inference)引擎”。

現在的深度學(xué)習系統仰賴(lài)軟件定義網(wǎng)絡(luò )和巨量數據學(xué)習產(chǎn)生的超大型運算能力,并靠此來(lái)實(shí)現目標;遺憾的是,這類(lèi)型的運算配置是很難嵌入到那些運算能力、內存容量大小和帶寬都有限制的系統中(例如汽車(chē)、無(wú)人機和物聯(lián)網(wǎng)設備)。

這為業(yè)界帶來(lái)了一個(gè)新的挑戰──如何透過(guò)創(chuàng )新將深度神經(jīng)網(wǎng)絡(luò )運算能力嵌入到終端設備中。如(已經(jīng)被Intel收購的)計算機視覺(jué)處理器設計業(yè)者M(jìn)ovidius執行長(cháng)Remi El-Ouazzane在幾個(gè)月前就說(shuō)過(guò),將人工智能布署在網(wǎng)絡(luò )邊緣將會(huì )是一個(gè)大趨勢。

在問(wèn)到為什么人工智能會(huì )被“趕”到網(wǎng)絡(luò )邊緣的時(shí)候,法國原子能委員會(huì )(CEA)架構、IC設計與嵌入式軟件(Architecture, IC Design and Embedded Software)部門(mén)院士Marc Duranton提出三個(gè)原因:安全性(safety)、隱私(privacy)和經(jīng)濟(economy);他認為這三點(diǎn)是驅動(dòng)業(yè)界在終端處理數據的重要因素,而未來(lái)將會(huì )衍生更多「盡早將數據轉化為信息」的需求。

Duranton指出,試想自動(dòng)駕駛車(chē)輛,如果其目標是安全性,那些自動(dòng)駕駛功能就不應該只仰賴(lài)永不中斷的網(wǎng)絡(luò )聯(lián)機;還有例如老人在家里跌倒了,這種情況應該由本地監測裝置在當場(chǎng)就判斷出來(lái),考慮到隱私因素,這是非常重要的。而他補充指出,不必收集家里10臺攝影機的所有影像并傳輸以觸發(fā)警報,這也能降低功耗、成本與數據容量。

AI競賽正式展開(kāi)

從各方面看來(lái),芯片供貨商已經(jīng)意識到推理引擎的成長(cháng)需求;包括Movidus (Myriad 2), Mobileye (EyeQ 4 & 5) 和Nvidia (Drive PX)在內的眾多半導體公司正競相開(kāi)發(fā)低功耗、高性能的硬件加速器,好讓機器學(xué)習功能在嵌入式系統中被更妥善執行。

從這些廠(chǎng)商的動(dòng)作和SoC的發(fā)展方向看來(lái),在后智能型手機時(shí)代,推理引擎已經(jīng)逐漸成為半導體廠(chǎng)商追逐的下一個(gè)目標市場(chǎng)。

在今年稍早,Google推出了張量處理單元(TPU),可說(shuō)是產(chǎn)業(yè)界積極推動(dòng)機器學(xué)習芯片創(chuàng )新的一個(gè)轉折點(diǎn);Google在發(fā)表芯片時(shí)表示,TPU每瓦性能較之傳統的FPGA和GPU將會(huì )高一個(gè)等級,此外并指出這個(gè)加速器還被已被應用于今年年初風(fēng)靡全球的AlphaGo系統。但是迄今Google并未披露TPU的規格細節,也不打算讓該組件在商業(yè)市場(chǎng)上銷(xiāo)售。

很多SoC從業(yè)者從Google的TPU中得出了一個(gè)結論──機器學(xué)習需要客制化的架構;但在他們針對機器學(xué)習進(jìn)行芯片設計的時(shí)候,他們又會(huì )對芯片的架構感到疑惑,同時(shí)想知道業(yè)界是否已經(jīng)有了一種評估不同形態(tài)下深度神經(jīng)網(wǎng)絡(luò )(DNN)性能的工具。

性能評估工具即將問(wèn)世

CEA表示,該機構已經(jīng)準備好為推理引擎探索不同的硬件架構,他們已經(jīng)開(kāi)發(fā)出一種名為N2D2的軟件架構,能夠幫助設計工程師探索和生成DNN架構;Duranton指出:「我們開(kāi)發(fā)這個(gè)工具之目的,是為DNN選擇適合的硬件目標?!笴EA將會(huì )在2017年第一季釋出N2D2的開(kāi)放源碼。

N2D2的特色在于不僅是以識別精確度為基礎來(lái)比較硬件,它還能從處理時(shí)間、硬件成本和功耗等多個(gè)方面執行比較;Duranton表示,因為針對不同應用的深度學(xué)習,需求之硬件配置參數也會(huì )有所不同,因此以上幾個(gè)比較非常重要。N2D2能為現有CPU、GPU和FPGA等硬件(包括多核心與眾多核心)提供一個(gè)性能參考標準。20161228-AI-2N2D2運作原理20161228-AI-3邊緣運算的障礙

CEA已經(jīng)針對如何把DNN完美地推展到邊緣運算(edge computing)進(jìn)行了深入研究;Duranton指出,其中最大的障礙在于因為功耗、內存容量尺寸和延遲等限制,“浮點(diǎn)”式服務(wù)器方案不適用;而其他障礙還包括:「需要大量的MAC、帶寬和芯片上內存容量?!?/p>

所以說(shuō),采用整數(Integer)而非浮點(diǎn)運算是最需要優(yōu)先考慮的問(wèn)題…還有別的嗎?Duranton認為,這種專(zhuān)屬架構也需要采用新的編碼方式,例如「棘波編碼(spike coding)」;CEA的研究人員研究了神經(jīng)網(wǎng)絡(luò )的特性,發(fā)現這種網(wǎng)絡(luò )能容忍運算誤差,使其適用于「近似運算(approximate computation)」。

如此一來(lái),甚至于不需要采用二進(jìn)制編碼;而Duranton解釋?zhuān)浜锰幵谟谥T如棘波編碼的時(shí)間編碼(temporal coding),能在邊緣運算提供更具能源效益的結果。棘波編碼之所以具吸引力,是因為棘波編碼──或是以事件為基礎(event-based)的──系統能展現實(shí)際神經(jīng)系統內的數據如何被譯碼。

此外,以事件為基礎的編碼能兼容專(zhuān)用的傳感器和預處理(pre-processing)。這種和神經(jīng)系統極度相似的編碼方式,使得模擬和數字混合訊號更容易實(shí)現,也能夠幫助研究者打造低功耗的小型硬件加速器。

還有其他能加速將DNN推展到邊緣運算的因素;例如CEA正在考慮把神經(jīng)網(wǎng)絡(luò )架構本身調整為邊緣運算的潛在可能。Duranton指出,現在人們已經(jīng)開(kāi)始討論采用「SqueezeNet」架構而非「AlexNet」架構的神經(jīng)網(wǎng)絡(luò ),據了解,前者達到與后者相同精確度所需的參數規格是五十分之一;這類(lèi)簡(jiǎn)單配置對于邊緣運算、拓撲和降低MAC數量都十分關(guān)鍵。

而Duranton認為,最終目標是將經(jīng)典DNN轉換成「嵌入式」網(wǎng)絡(luò )。

CEA的雄心是開(kāi)發(fā)神經(jīng)形態(tài)(neuromorphic)電路;該研究機構認為,這類(lèi)芯片在深度學(xué)習應用中,是從接近傳感器的數據(data)提取信息(information)的有效補充。

在實(shí)現以上目標之前,CEA考慮了數個(gè)權宜之計;例如D2N2這樣的開(kāi)發(fā)工具,對于芯片設計業(yè)者開(kāi)發(fā)高水平每瓦TOPS (tera operations per second per Watt)性能的客制化DNN解決方案非常重要。

對于那些想在邊緣運算利用DNN的人來(lái)說(shuō),也有實(shí)際的硬件可以進(jìn)行試驗──也就是CEA提供的超低功耗可程序加速器P-Neuro;目前的P-Neuro神經(jīng)網(wǎng)絡(luò )處理單元是以FPGA為基礎,不過(guò)Duranton表示,CEA正要把該FPGA轉為ASIC。

Duranton在CEA的實(shí)驗室利用了以FPGA為基礎的P-Neuro展示了搭建了用于臉部是別的卷積神經(jīng)網(wǎng)絡(luò )(CNN),并將P-Neuro與嵌入式CPU (在Raspberry Pi上的四核心ARM處理器,以及采用Samsung Exynos處理器的Android平臺)進(jìn)行比較,都執行相同的嵌入式CNN應用,任務(wù)是在內含1萬(wàn)8,000張影像的數據庫進(jìn)行“人臉特征提取”。20161228-AI-4P-Neuro與嵌入式CPU/GPU執行相同人臉識別任務(wù)的性能比較

如上表之比較結果,P-Neuro的速度是每秒6,942張圖片,能效則是每瓦2,776張圖片;與嵌入式GPU相較(Tegra K1),運作頻率為1000MHz的P-Neuro速度更快、能效更高。P-Neuro是以叢集式SIMD架構打造,該架構支持優(yōu)化內存分層和內部鏈接。20161228-AI-5P-Neuro功能區塊

不過(guò)對于CEA研究人員來(lái)說(shuō),P-Neuro只是一個(gè)短期方案;目前的P-Neuro是以全CMOS組件打造、采用二進(jìn)制編碼;該團隊也正在打造采用棘波編碼(spike coding)的全CMOS組件。為充分利用先進(jìn)制程優(yōu)勢,并且在密度和功率上有所突破,該團隊設定了更高的目標。

如CEA-Leti的奈米電子技術(shù)營(yíng)銷(xiāo)暨策略總監Carlo Reita在接受采訪(fǎng)時(shí)表示,利用先進(jìn)芯片與內存技術(shù)來(lái)進(jìn)行專(zhuān)用零組件的實(shí)體設計非常重要;其中一個(gè)方案是采用CEA-Leti的CoolCube常規monolithic 3D整合技術(shù),另一種方案是采用電阻式內存(Resistive RAM)做為突觸(synaptic)組件。此外,如FD-SOI與奈米線(xiàn)等先進(jìn)技術(shù)也將發(fā)揮作用。

神經(jīng)形態(tài)處理器

在此同時(shí),歐盟在「EU Horizon 2020」計劃之下,試圖打造神經(jīng)形態(tài)架構芯片,能支持最先進(jìn)的機器學(xué)習,以及基于棘波的學(xué)習機制;該研究項目名為NeuRAM3,目標是以超低功耗、可擴展與高度可配置的神經(jīng)架構,打造在特定應用上功耗較傳統數字方案低50倍的組件。20161228-AI-6神經(jīng)形態(tài)處理器架構

20161228-AI-7神經(jīng)形態(tài)處理器基本規格

Reita表示,CEA也參與了NeuRAM3項目,該機構的研究目標與該項目的使命緊密相關(guān),包括開(kāi)發(fā)采用FD-SOI制程的單體(monolithically)整合式3D技術(shù),以及整合電阻式內存突觸組件的應用;她并指出,NeuRAM3項目開(kāi)發(fā)的新一代混合訊號多核心神經(jīng)形態(tài)組件,與IBM的TrueNorth腦啟發(fā)(brain-inspired)操作數件相較,能顯著(zhù)降低功耗。20161228-AI-8NeuRAM3神經(jīng)形態(tài)組件與IBM TrueNorth的比較

NeuRAM3項目的參與者包括IMEC、IBM Zurich研究中心、意法半導體(ST Microelectronics),意大利研究機構 CNR (The National Research Council in Italy)、西班牙研究機構IMSE (El Instituto de Microelectronica de Sevilla in Spain)、瑞士蘇黎世大學(xué)(The University of Zurich)和德國的雅各布大學(xué)(Jacobs University)。