讓邊緣裝置上的人工智慧和電腦視覺得以順利擴充

電腦視覺, 邊緣分析

自 Intel 首次採用多核心設計以來已經過了 15 個年頭。如今,透過使用超過 1 個 Intel® CPU 核心來提高效能的這種作法已從尖端技術變為常見作法。AI 的出現使得開發人員面臨與十幾年前相似的問題。然而,這些問題與異質運算環境的關係在 2004 年並不存。

傳統 CPU 裡有一排相同的核心,每個核心適合獨立作業。CPU+GPU 或 CPU+FPGA 的異質組合則不同,它們結合的是兩個或以上完全不同的元件。這種作法在合適的情況下可以帶來巨大的機會,為兩個元件創造運算上的優勢,但它同時也提高了部署上的困難性。

再加上最適合部署這種耐用型解決方案的環境通常非常險峻,哪怕是比叉子還要稍微高科技的東西,都難以生存。綜合下來,得面對的就是一食譜的問題。

(而且這份食譜還作不出什麼有用的成品,像是酸麵包。不是。就真的只是一堆問題而已。)

要在多個解決方案上擴充工作負載,一方面需要有建造和部署硬體解決方案的專業知識,另一方面需要能進行開發和測試解決方案的軟體環境。Intel® OpenVINO 工具組專為這個目的打造。在企業開發同質和異質運算環境時,這個工具組能協助企業在不同類型的裝置上進行擴充。

雖然 OpenVINO 內建的 AI 和機器學習演算法獲得了大部分的關注,但是這個工具組的名字裡的 V 代表的是「視覺( Visual)」。換言之,工具組具備許多預先訓練機器視覺模型的功能,如圖 1 所示。

圖 1.Intel® OpenVINO™ 工具能預先訓練機器視覺模型。(來源:Concurrent Technologies)
圖 1. Intel® OpenVINO 工具能預先訓練機器視覺模型。(來源:Concurrent Technologies)

在不同的硬體平台上進行擴充

OpenVINO 支援 OpenVX 和 OpenCL 等跨平台 API,藉此讓 CPU 和加速器執行工作負載(圖 2)。

圖 2.跨平台 API 支援 CPU 和加速器上的工作負載。(來源:Concurrent Technologies)
圖 2. 跨平台 API 支援 CPU 和加速器上的工作負載。(來源:Concurrent Technologies)

然而,如果沒有相符的硬體,軟體本身並沒甚麼用。在這方面,一些解決方案能幫得上忙,如 Concurrent Technologies 提供的 TR H4x/3sd-RCx 解決方案。這套系統的基礎是一個 3U VPX 系統,配備 12核/24 緒的 Intel® Xeon® D-1559 以及最高 64 GB 的 RAM。

如果以上配置無法滿足客戶需求,客戶可以選擇透過 PCIe 連接額外的處理資源。TR H4x/3sd-RCx 可與 Intel® Arria® FPGA 搭配使用,後者透過 PCIe 連接,能提供額外的處理能力。​​​

最佳化電腦視覺模型

客戶可以利用 OpenVINO 最佳化模型並測試解決方案的效能。一開始採用單處理器,之後依照需求能擴充涵蓋額外的處理資源(圖 3)。

圖 3.利用 Intel® OpenVINO™ 工具組測試與調整電腦視覺模型。(來源:Concurrent Technologies)
圖 3. 利用 Intel® OpenVINO 工具組測試與調整電腦視覺模型。(來源:Concurrent Technologies)

「把模型移到 CPU 上執行的方法很簡單。這方面我們提供一套廣泛的 Linux 支援套件。」Nigel Forrester 表示。他是 Concurrent Technologies 的 Director of Business Development。「要把模型移到 TR H4x 卡上稍微複雜一點。我們在卡上內建了多種支援套件,也提供 DLA,也就是深度學習加速位元流 (Deep Learning Accelerator bitstream)。DLA 是在 Intel Aria FPGA 上執行。」。

「客戶只需要知道自己需要什麼樣的神經網路模型就好。」Forrester 表示。接著,他們只要選擇正確的 DLA 位元流,然後將現有模型放入 OpenVINO。」這會創建一套中繼碼,而中繼碼之後會上傳到加速器。」

之後,OpenVINO 會進行分配,CPU 專屬的程式碼會進行最佳化,然後在 CPU 上執行; FPGA 程式碼則會保留,然後在 Arria 硬體上執行。

我們有 Intel® Deep Learning Accelerator Suite (Intel® DLA) 的開發人員授權,這部分已經匯入我們的 Trax 卡了。」Forrester 表示。「客戶這方面什麼都不用做。他們只要知道自己的神經網路模型是 AlexNet、SqueezeNet、GoogleNet 還是其他模型,並且屬於 TensorFLow 這類框架。」

上方的圖表說明了OpenVINO 模型在 Concurrent TR H4x/3sd-RCx 硬體上如何通關。模型會經歷最佳化、效能測試、硬體部署循環,這個過程旨在幫助開發人員了解應當為哪些工作負載指定哪些資源。隨著新的 Intel GPU 和推斷加速器上市,OpenVINO 在接下來幾年會發揮更大的作用,提高軟體整體的靈活性並讓開發人員能夠針對更廣泛的使用案例和情景進行設計。

作者簡介

Kenton Williston

Kenton Williston is the Editor-in-Chief of insight.tech and served as the editor of its predecessor publication, the Embedded Innovator magazine. Kenton received his B.S. in Electrical Engineering in 2000 and has been writing about embedded computing and IoT ever since.

在Twitter上關注 More Content by Kenton Williston
上個文章
教育技術邁向遠距
教育技術邁向遠距

許多教育工作者幾乎是一夕之間被迫從課室教學轉換到遠距教學。數位學習需要豐富的視覺內容來彌合差距。了解如何實現此願景。

下個文章
全新購物者旅程:服務機帶來更令人愉快的體驗
全新購物者旅程:服務機帶來更令人愉快的體驗

即使在困難的環境裡,零售商也可以利用服務機逗笑客戶-還能提高營收。了解自助服務機能為您的企業提供什麼樣的協助。