對運算產業來說,在過去的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等硬體(包括多核心與眾多核心)提供一個性能參考標準。

20161227 AI NT41P1


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轉換成「嵌入式」網路。

 
繼續閱讀:AI晶片戰爭開打(下)

責編:Judith Cheng

本文中文版原刊於EE Times China/EDN China網站