對運算產業來說,在過去的2016年應該沒有一個概念比人工智能(AI)更熱門;跨入2017年,專家們表示,人工智能生態圈的需求成長會更加迅猛。主要集中在為深度神經網絡找尋性能和效率更適合的“推理(inference)引擎”。
現在的深度學習系統仰賴軟件定義網絡和巨量數據學習產生的超大型運算能力,并靠此來實現目標;遺憾的是,這類型的運算配置是很難嵌入到那些運算能力、內存容量大小和帶寬都有限制的系統中(例如汽車、無人機和物聯網設備)。
這為業界帶來了一個新的挑戰──如何透過創新將深度神經網絡運算能力嵌入到終端設備中。如(已經被Intel收購的)計算機視覺處理器設計業者Movidius執行長Remi El-Ouazzane在幾個月前就說過,將人工智能布署在網絡邊緣將會是一個大趨勢。
在問到為什么人工智能會被“趕”到網絡邊緣的時候,法國原子能委員會(CEA)架構、IC設計與嵌入式軟件(Architecture, IC Design and Embedded Software)部門院士Marc Duranton提出三個原因:安全性(safety)、隱私(privacy)和經濟(economy);他認為這三點是驅動業界在終端處理數據的重要因素,而未來將會衍生更多「盡早將數據轉化為信息」的需求。
Duranton指出,試想自動駕駛車輛,如果其目標是安全性,那些自動駕駛功能就不應該只仰賴永不中斷的網絡聯機;還有例如老人在家里跌倒了,這種情況應該由本地監測裝置在當場就判斷出來,考慮到隱私因素,這是非常重要的。而他補充指出,不必收集家里10臺攝影機的所有影像并傳輸以觸發警報,這也能降低功耗、成本與數據容量。
AI競賽正式展開
從各方面看來,芯片供貨商已經意識到推理引擎的成長需求;包括Movidus (Myriad 2), Mobileye (EyeQ 4 & 5) 和Nvidia (Drive PX)在內的眾多半導體公司正競相開發低功耗、高性能的硬件加速器,好讓機器學習功能在嵌入式系統中被更妥善執行。
從這些廠商的動作和SoC的發展方向看來,在后智能型手機時代,推理引擎已經逐漸成為半導體廠商追逐的下一個目標市場。
在今年稍早,Google推出了張量處理單元(TPU),可說是產業界積極推動機器學習芯片創新的一個轉折點;Google在發表芯片時表示,TPU每瓦性能較之傳統的FPGA和GPU將會高一個等級,此外并指出這個加速器還被已被應用于今年年初風靡全球的AlphaGo系統。但是迄今Google并未披露TPU的規格細節,也不打算讓該組件在商業市場上銷售。
很多SoC從業者從Google的TPU中得出了一個結論──機器學習需要客制化的架構;但在他們針對機器學習進行芯片設計的時候,他們又會對芯片的架構感到疑惑,同時想知道業界是否已經有了一種評估不同形態下深度神經網絡(DNN)性能的工具。
性能評估工具即將問世
CEA表示,該機構已經準備好為推理引擎探索不同的硬件架構,他們已經開發出一種名為N2D2的軟件架構,能夠幫助設計工程師探索和生成DNN架構;Duranton指出:「我們開發這個工具之目的,是為DNN選擇適合的硬件目標。」CEA將會在2017年第一季釋出N2D2的開放源碼。
N2D2的特色在于不僅是以識別精確度為基礎來比較硬件,它還能從處理時間、硬件成本和功耗等多個方面執行比較;Duranton表示,因為針對不同應用的深度學習,需求之硬件配置參數也會有所不同,因此以上幾個比較非常重要。N2D2能為現有CPU、GPU和FPGA等硬件(包括多核心與眾多核心)提供一個性能參考標準。N2D2運作原理邊緣運算的障礙
CEA已經針對如何把DNN完美地推展到邊緣運算(edge computing)進行了深入研究;Duranton指出,其中最大的障礙在于因為功耗、內存容量尺寸和延遲等限制,“浮點”式服務器方案不適用;而其他障礙還包括:「需要大量的MAC、帶寬和芯片上內存容量。」
所以說,采用整數(Integer)而非浮點運算是最需要優先考慮的問題…還有別的嗎?Duranton認為,這種專屬架構也需要采用新的編碼方式,例如「棘波編碼(spike coding)」;CEA的研究人員研究了神經網絡的特性,發現這種網絡能容忍運算誤差,使其適用于「近似運算(approximate computation)」。
如此一來,甚至于不需要采用二進制編碼;而Duranton解釋,其好處在于諸如棘波編碼的時間編碼(temporal coding),能在邊緣運算提供更具能源效益的結果。棘波編碼之所以具吸引力,是因為棘波編碼──或是以事件為基礎(event-based)的──系統能展現實際神經系統內的數據如何被譯碼。
此外,以事件為基礎的編碼能兼容專用的傳感器和預處理(pre-processing)。這種和神經系統極度相似的編碼方式,使得模擬和數字混合訊號更容易實現,也能夠幫助研究者打造低功耗的小型硬件加速器。
還有其他能加速將DNN推展到邊緣運算的因素;例如CEA正在考慮把神經網絡架構本身調整為邊緣運算的潛在可能。Duranton指出,現在人們已經開始討論采用「SqueezeNet」架構而非「AlexNet」架構的神經網絡,據了解,前者達到與后者相同精確度所需的參數規格是五十分之一;這類簡單配置對于邊緣運算、拓撲和降低MAC數量都十分關鍵。
而Duranton認為,最終目標是將經典DNN轉換成「嵌入式」網絡。
CEA的雄心是開發神經形態(neuromorphic)電路;該研究機構認為,這類芯片在深度學習應用中,是從接近傳感器的數據(data)提取信息(information)的有效補充。
在實現以上目標之前,CEA考慮了數個權宜之計;例如D2N2這樣的開發工具,對于芯片設計業者開發高水平每瓦TOPS (tera operations per second per Watt)性能的客制化DNN解決方案非常重要。
對于那些想在邊緣運算利用DNN的人來說,也有實際的硬件可以進行試驗──也就是CEA提供的超低功耗可程序加速器P-Neuro;目前的P-Neuro神經網絡處理單元是以FPGA為基礎,不過Duranton表示,CEA正要把該FPGA轉為ASIC。
Duranton在CEA的實驗室利用了以FPGA為基礎的P-Neuro展示了搭建了用于臉部是別的卷積神經網絡(CNN),并將P-Neuro與嵌入式CPU (在Raspberry Pi上的四核心ARM處理器,以及采用Samsung Exynos處理器的Android平臺)進行比較,都執行相同的嵌入式CNN應用,任務是在內含1萬8,000張影像的數據庫進行“人臉特征提取”。P-Neuro與嵌入式CPU/GPU執行相同人臉識別任務的性能比較
如上表之比較結果,P-Neuro的速度是每秒6,942張圖片,能效則是每瓦2,776張圖片;與嵌入式GPU相較(Tegra K1),運作頻率為1000MHz的P-Neuro速度更快、能效更高。P-Neuro是以叢集式SIMD架構打造,該架構支持優化內存分層和內部鏈接。P-Neuro功能區塊
不過對于CEA研究人員來說,P-Neuro只是一個短期方案;目前的P-Neuro是以全CMOS組件打造、采用二進制編碼;該團隊也正在打造采用棘波編碼(spike coding)的全CMOS組件。為充分利用先進制程優勢,并且在密度和功率上有所突破,該團隊設定了更高的目標。
如CEA-Leti的奈米電子技術營銷暨策略總監Carlo Reita在接受采訪時表示,利用先進芯片與內存技術來進行專用零組件的實體設計非常重要;其中一個方案是采用CEA-Leti的CoolCube常規monolithic 3D整合技術,另一種方案是采用電阻式內存(Resistive RAM)做為突觸(synaptic)組件。此外,如FD-SOI與奈米線等先進技術也將發揮作用。
神經形態處理器
在此同時,歐盟在「EU Horizon 2020」計劃之下,試圖打造神經形態架構芯片,能支持最先進的機器學習,以及基于棘波的學習機制;該研究項目名為NeuRAM3,目標是以超低功耗、可擴展與高度可配置的神經架構,打造在特定應用上功耗較傳統數字方案低50倍的組件。神經形態處理器架構
神經形態處理器基本規格
Reita表示,CEA也參與了NeuRAM3項目,該機構的研究目標與該項目的使命緊密相關,包括開發采用FD-SOI制程的單體(monolithically)整合式3D技術,以及整合電阻式內存突觸組件的應用;她并指出,NeuRAM3項目開發的新一代混合訊號多核心神經形態組件,與IBM的TrueNorth腦啟發(brain-inspired)操作數件相較,能顯著降低功耗。NeuRAM3神經形態組件與IBM TrueNorth的比較
NeuRAM3項目的參與者包括IMEC、IBM Zurich研究中心、意法半導體(ST Microelectronics),意大利研究機構 CNR (The National Research Council in Italy)、西班牙研究機構IMSE (El Instituto de Microelectronica de Sevilla in Spain)、瑞士蘇黎世大學(The University of Zurich)和德國的雅各布大學(Jacobs University)。