|

【加速AI邊緣運算】Movidius NCS學前認知與準備

   

作者:陸向陽

近來AI火紅,其中一個推展大勢則是將AI運算下放到局端(PC、筆電端),甚至是終端,也就是AI邊緣運算的架構作法,而此作法的可行條件之一,即是需要有一套可加速運算的解決方案。本文將介紹目前相當突出的硬體加速裝置 - Intel Movidius神經運算條(NCS),它僅有USB隨身碟大小,卻具有人工智慧加速運算力。

Intel Movidius神經運算條(NCS)僅有USB隨身碟大小,卻具有人工智慧加速運算力。(圖片來源:Intel)

NCS發展背景

Apple與Google Android的爭奪戰

當年Steve Jobs生前說:「Android是個錯誤,即便花盡Apple的600億美元現金也要糾正這個錯誤。」此話一出,Apple對Android陣營展開長達數年的專利訴訟戰,而Google為了護衛Android陣營,在2012年5月用了約125億美元購併Motorola Mobility公司,以便取得手機相關技術專利抗衡Apple,Google在取得捍衛所需的專利後,於2014年將Motorola Mobility以29億美元轉售給Lenovo。

Google雖將Motorola Mobility賣給Lenovo,卻留下原本屬於Motorola Mobility的ATAP(Advanced Technology and Projects)研究團隊,成為Google本有的X研究團隊外的另一組研究團隊,當時該團隊有兩項重要研究案:一是模組化智慧型手機研究案Ara,二是行動增強實境技術研究案Tango。ATAP後續也有開展其他研究案,例如穿戴式毫米波雷達技術研究案Soli,或同屬終端使用者輸入技術的Jacquard專案。

Tango專案內容

在此我們只討論Tango專案,該專案透過平板電腦上配置的2D畫面影像感測器(攝影機)、3D深度感測器(紅外線投射、ToF影像感測),以及平板電腦內的影像處理器(VPU),就可以邊走邊感測,描繪出行經路線的空間,包含障礙物、高度、距離等,可用在各種應用,例如室內導覽、沉浸式遊戲等,後來Tango技術也不限於平板電腦,可進一步縮小到智慧手機內使用。

而在Tango專案的平板電腦中,其實用上兩顆Movidius公司的Myriad 2晶片,此即是VPU。該晶片內已經用硬體電路方式實現類神經網路、人工智慧等演算,加速對外界影像的視覺判別,後來該晶片也用於DJI的無人機上,好讓無人機透過影像辨識,得以避障與降落。

神經運算條內的Myriad 2晶片僅有鈕扣電池般的大小。(圖片來源:Intel)

知名品牌發展人工智慧

由於人工智慧運算日益重要,2016年9月Intel併購了Movidius公司,2017年12月Google宣佈Tango專案這個增強實境軟體平台即將結束,並由新的增強實境軟體平台ARCore接手,專案雖結束,但Google依然持續運用Myriad 2晶片(MA2450)。同為12月,Google發表AIY Vision Kit的人工智慧套件,套件內即有用及Myriad 2晶片。

Intel也看好前端人工智慧、類神經網路的運算應用,在買下Movidius後於2017年推出神經運算條棒Neural Compute Stick,簡稱NCS(Movidius被購併前已展示過NCS的原型品,因購併案而延後正式發表)。NCS內用的也是Myriad 2晶片,但自成一套系統,並用USB介面與其他系統連接,NCS價格實惠僅79美元。除了USB版外,Intel也與台灣合作伙伴研陽(Aaeon)推出Mini-PCIe版的NCS,稱為UP AI Core,費用降至69美元。

NCS開發環境

對NCS背景有些瞭解後,接著是著手於實務前的概念。在人工智慧的開發上,Intel提出了一套架構(如下圖):一開始先用運算力強悍的電腦來訓練模型,再用NCS與一般筆電來進行型態化(Profiling)、調整(Tuning)、編譯(Compile),最後再用筆電或者簡單的單板電腦(例如樹莓派)來進行原型品實作(Prototyping)。

人工智慧開發與應用程序圖,包含建模、型態化、微調、編譯、原型品等階段。(圖片來源:Intel)

由於NCS需要連接筆電或樹莓派,因此對筆電、樹莓派的系統環境也有所要求,NCS需要有安裝Ubuntu 16.04版的Linux作業系統,如果筆電只有Windows作業系統,且嫌開機切換成Linux比較麻煩,可以用桌面版虛擬化軟體(如VirtualBox)建立一個虛擬映像檔,以虛擬化方式執行Ubuntu 16.04,也是可行的。

若為樹莓派,則建議使用RPi 3 Model B以上的規格,而後使用樹莓派專用的Debian Linux作業系統Raspbian,且必須是Debian開發代號Stretch版以上的Raspbian才行,Debian Linux的Stretch版是在2017年6月提出,樹莓派的Stretch版則在8月。

連接NCS的注意事項

另外要注意的是,Intel官網建議,連接NCS的系統最少要有1GB的記憶體,4GB的儲存空間,以及USB 2.0的連接埠,最好可以是USB 3.0,以利大量資料傳輸。由此觀之,樹莓派的硬體資源與規格僅是勉強合格,但由於樹莓派畢竟是創客圈最廣泛流行的單板電腦,多數開發套件仍會盡可能迎合支援樹莓派,若期望有好一點的單板電腦,也可以用前述AAEON所推出的Up Square,該單板電腦有2~8GB記憶體,也有USB 3.0埠,並支援Ubuntu Linux。

準備好這些後,NCS可支援的人工智慧框架主要有二,一是Google提出的TensorFlow,二是柏克萊分校提出的Caffe,也相容OpenVINO、Andorid的神經網路(Neural Networks, NN)API。

很明顯NCS無法與NVDIA的Tesla GPU比拼運算力,尚無法廣泛支援各種框架,但NCS僅在1瓦用電下提供人工智慧加速運算,已是難得可貴,畢竟Tesla GPU的功耗大多是數十、數百瓦。

進一步的開發則需要安裝NC SDK(軟體開發套件)到筆電內,SDK內提供mvNCCompile、mvNCProfile、mvNCCheck等工具,可以轉換格式、統計神經網路各層的效能、比較網路推論運算後的結果等,另外也附有範例程式及應用程式介面(API),這些均到位後即可開始學習摸索NCS了。

(責任編輯:周政毅)

 

陸向陽

Author: 陸向陽

從電子科系畢業後,即以媒體人的角色繼續這段與「電子科技」的不解之緣。歷任電子技術專書作者、電子媒體記者、分析師等角色,並持續寫作不殆。近來投入Arduino、Raspberry Pi等開放硬體的研究與教程介紹。

Share This Post On

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *