不同于傳統(tǒng)觀點(diǎn)認(rèn)為的那樣,“人工智能就一定需要高性能的 GPU、TPU、FPGA 等硬件平臺(tái),一定需要高速的網(wǎng)絡(luò)帶寬”,邊緣計(jì)算解決方案正成為新時(shí)代人工智能的主力軍。
貿(mào)澤電子聯(lián)合與非主辦的第 4 期明星開發(fā)板就來聊聊為邊緣計(jì)算而生的英特爾的神經(jīng)計(jì)算棒 2 代,簡(jiǎn)稱 NCS2。其作用很簡(jiǎn)單,就是加速 AI 計(jì)算,尤其是人工智能中的邊緣計(jì)算,從本質(zhì)上來說它就是一個(gè)邊緣計(jì)算的載體。
NCS 2 外觀
NCS 2 采用全鋁合金外殼,整個(gè)產(chǎn)品精致小巧,尺寸差不多比兩根手指小,外觀設(shè)計(jì)也花了一番心思,有助于提高散熱。NCS 2 采用 USB 3.0 Type-A 接口,能直接插在電腦上即可使用,或許這就是最簡(jiǎn)單的邊緣計(jì)算解決方案?
Myriad X
NCS2 加速深度學(xué)習(xí)推理主要依賴于內(nèi)部的視覺處理單元 Myriad X。這里有必要提一下,深度學(xué)習(xí)的細(xì)分領(lǐng)域非常多,而 Myriad X 主要的特點(diǎn)是針對(duì)深度學(xué)習(xí)中的圖像和視頻的處理。
Myriad X VPU 內(nèi)部架構(gòu):
- 神經(jīng)計(jì)算引擎:借助這款適用于深度神經(jīng)網(wǎng)絡(luò)的片上加速器,Myriad X 可以實(shí)現(xiàn)每秒超過 1 萬億次運(yùn)算的 DNN 推理性能。因此可以在不犧牲功耗或準(zhǔn)確性的情況下在邊緣實(shí)時(shí)運(yùn)行深度神經(jīng)網(wǎng)絡(luò)。
- 2.5 MB 的同質(zhì)化片上內(nèi)存:允許最高 450 GB/ 秒的內(nèi)部帶寬,通過最小化片外數(shù)據(jù)傳輸來盡可能減少延遲并降低功耗。
- 16 個(gè)可編程的 128 位 VLIW 矢量處理器:針對(duì)計(jì)算機(jī)視覺工作負(fù)載進(jìn)行了優(yōu)化,靈活地運(yùn)行多個(gè)并行的成像和視覺應(yīng)用程序。
- 多種高優(yōu)先級(jí)的外設(shè)功能支持:比如最多可在 Myriad X 上直接連接 8 個(gè)高清分辨率 RGB 攝像頭,支持高達(dá)每秒 7 億像素圖像信號(hào)處理吞吐量,支持 4K/60 Hz 幀率的編碼。
如果單看 Myriad X,你對(duì)它的性能提升沒多少概念,那么對(duì)比 1 代的 Myriad 2,這種優(yōu)勢(shì)更加明顯。可以參考以下這張表:
- 計(jì)算能力提升到了 4 萬億次,計(jì)算性能是 1 代的 4 倍;
- 增加到 16 個(gè)矢量處理器;
- 新增了神經(jīng)計(jì)算引擎;
- 片上存儲(chǔ)和帶寬更大;
- 支持了 LPDDR4;
- 支持 4K 60Hz 的 M/JPEG 編碼或者 4K 30Hz 的 H.264/H.265 編碼;
- 接口方面也增加了 PCIe3.0,增加到 16 Lanes 的 MIP 接口;
當(dāng)然啦,這些參數(shù)在目前看來,很多 CPU、GPU 都可以做到,但是你不能忽略一個(gè)參數(shù),那就是功耗,Myriad X 的優(yōu)勢(shì)在于能實(shí)現(xiàn)這些功能的前提下保持了較低的功耗,相比能夠提供同等效果的 GPU,Myriad X 的功耗最少降低了十幾倍。
總之,我們可以預(yù)見,在 Myriad X 加持下的 NCS2,其特色很明顯:
1、 高能效比,將機(jī)器視覺應(yīng)用推向極致
2、 在邊緣運(yùn)行,不依賴云計(jì)算連接
3、 采用 USB 接口,方便的支持各種深度學(xué)習(xí)的原型開發(fā)
所以,對(duì)于目前市面上火爆的需要有較強(qiáng)圖像 / 視頻處理能力且需要電池供電的應(yīng)用,如服務(wù)型機(jī)器人、無人機(jī)、AR/VR 等設(shè)備,基于 Myriad X 的 NCS2 優(yōu)勢(shì)明顯。
OpenVINO 工具包
NCS 2 該如何開發(fā)?英特爾官方的回答是:OpenVINO 工具包。OpenVINO 工具基于卷積神經(jīng)網(wǎng)絡(luò),可以快速部??署模擬人類視覺的應(yīng)用程序和解決方案,可在英特爾硬件上擴(kuò)展計(jì)算機(jī)視覺工作負(fù)載,從而最大限度地提高性能。
如上圖所示,這是 OpenVINO 工具包的一些工具,主要分為 3 個(gè)部分:
- 右上角是傳統(tǒng)的電腦視覺庫(kù),包含英特爾優(yōu)化過的 OpenCV、OpenVX 及范例,可以在推論過程中,有需要用到前處理及后處理器的時(shí)候,用來加速運(yùn)算;
- 右下角是其它工具集以及庫(kù),如英特爾的 Media SDK,通過 GPU 來加速 decode;應(yīng)用 OpenCL 讓應(yīng)用程序在不同平臺(tái)上運(yùn)作,及 FPGA 相關(guān)的插件(彩蛋);及運(yùn)行時(shí)所需要的環(huán)境;
- 而左邊這部分就是 OpenVINO 深度學(xué)習(xí)推論的核心,也就是我們簡(jiǎn)稱的 DLDT。在 DLDT 中包含兩個(gè)功能的組件:MO 以及 IE,還有使用 C++和 python 所做的不同范例;OpenVINO 除了支持深度學(xué)習(xí)中一些預(yù)先公開好的模型外,也提供英特爾自行訓(xùn)練的模型,針對(duì)各種不同的應(yīng)用,如行為、表情以及物件偵測(cè)等等。
目前 OpenVINO 支持包括 win10、Linux、Raspbian、Mac OS,基本上涵蓋了主流的幾個(gè)操作系統(tǒng),因此友好性還是不錯(cuò),可以說是英特爾建立 AI 生態(tài)的大功臣。
環(huán)境配置
NCS 2 與 OpenVINO 工具包的組合可謂是如虎添翼,但是要真正使用起來,環(huán)境搭建的基本步驟還是免不了:
1. 下載 OpenVINO 工具包,最新版本 2021.1。
2. 解壓壓縮包,然后到目標(biāo)文件夾下執(zhí)行安裝,可以安裝 GUI 版本或者純命令版本。
3. 安裝額外的依賴的軟件包
4. 設(shè)置環(huán)境變量
5. 配置模型優(yōu)化器
6. 配置神經(jīng)計(jì)算棒 USB 驅(qū)動(dòng)程序
按照教程下來就可以把基本環(huán)境搭建起來。
NCS 2 實(shí)測(cè):對(duì)比英特爾 CPU
本次主要測(cè)試 3 個(gè) demo:
1、將推理引擎與經(jīng)過預(yù)先訓(xùn)練的模型結(jié)合使用,用于執(zhí)行車輛檢測(cè),車輛屬性和車牌識(shí)別的任務(wù)。(對(duì)比英特爾 CPU)
2、Benchmark,推理性能測(cè)試;(對(duì)比英特爾 CPU)
3、基于攝像頭的實(shí)時(shí)識(shí)別功能。(NCS2)
(想知道測(cè)試結(jié)果誰勝誰負(fù)?歡迎觀看視頻)
總的來說,NCS 2 在某些特定的邊緣計(jì)算領(lǐng)域還是非常強(qiáng)大的,其本身的優(yōu)勢(shì)也在于開發(fā)和優(yōu)化 AI 離線應(yīng)用,因此,如果你有一些想法,想要用 Myriad X 做些什么,那不妨可以先上貿(mào)澤電子官網(wǎng)購(gòu)買一個(gè) NCS2 實(shí)際體驗(yàn)一番,畢竟 NCS2 配合上英特爾的 OpenVINO 工具包對(duì)于開發(fā) AI 加速的應(yīng)用還是非常友好的,哪怕你只是初學(xué)者!