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