英特爾 OpenVINO™:在“端-邊-雲”一站式實現高效能 AI 推理計算

MissD發表於2022-07-14

在 5G 通訊、大資料、人工智慧等技術不斷驅動的大背景下,雲端計算與邊緣計算的協同發展正在成為未來重要趨勢。隨著雲邊協同不斷演進,AI 解決方案的不斷規模化部署,AI+IoT邊雲架構成為了解決企業數字化轉型、典型工作場景下算力問題的關鍵。

在此過程中,發力打通“軟硬體”適配且在 AI 晶片、AI 算力方面不斷創新突破的英特爾,率先提出並掌握了驅動創新與變革的“四大超級力量”——人工智慧、無所不在的計算、無處不在的連線、從雲到邊緣的基礎設施之間的互動和協作,且從中探索出了更大的變革—— Intel OpenVINO™ (2.2.1 版本)。

在 6 月 28 日舉辦的“Intel +微軟 2022 中國 AI 開發者峰會”上,來自英特爾 AI 軟體佈道師武卓、微軟人工智慧和物聯網實驗室 AI 工程師 Joe Chen 以及專家團體就為我們帶來了全新版本的 Intel OpenVINO™ 等相關精彩分享。

全新的 Intel OpenVINO™ (2.2.1 版本)通過高效的硬體帶動雲-邊-端來快速實現“七行程式碼完成推理”的高效能人工智慧推理,以解決企業在複雜業務下的大量資料計算需求及簡化雲端規模性開發等難題,不斷加速AI推理,為開發者賦能。

使用 OpenVINO™ 在 “雲-邊-端”快速實現高效能人工智慧推理

眾所周知,企業在實現物聯網升級的過程中,AI+IoT 邊雲架構方案可以讓邊緣採集到的資料能夠實現更現代化、可加速的操作。全新升級的 Intel OpenVINO™ (2.2.1 版本)(https://www.openvino.ai)不僅可以幫助企業實現在雲端進行規模性的複雜業務、大量資料的計算服務,同時還能在雲端支援多種不同的 AI 框架及多種服務。

通過 OpenVINO™ 來實現邊雲架構優勢眾多,可簡化雲端的訓練開發,避免了下載軟體、配置安裝步驟,直接使用雲端所提供的所有計算資源和服務;邊緣端則可進行推理得到實時決策,從而快速得出推理結果,同時又能夠避免向雲端去傳輸大量資料所造成的高成本。

邊緣端採集到的資料直接通過內建 Intel CPU 的邊緣裝置進行推理後,可通過 OpenVINO™ 將該訓練好的 AI 模型進行部署、優化及推理加速。對於邊緣端推理得到的資料結果,又可通過日誌或診斷結果的方式將其上傳至雲端,在通過雲端進一步加工來產生更大規模和深度的分析,或形成大型的資料看板,從而幫助企業海量資料管理時的視覺化,方便企業對於各業務層面的管理。

另外,形成新的訓練樣本的邊緣資料上傳到雲端後,還可輔助雲端現有模型進一步訓練迭代和優化升級,深度的分析、報表加工及模型重訓練,之後再將重訓練後的新模型下發到達邊緣端,邊緣端又可以採用新的模型進行更精確的推理。

因此,通過 OpenVINO™ 實現的邊雲協同方式可為企業帶來更高質量的 AI 解決方案,以解決實際使用場景中的很多痛點。目前,通過 OpenVINO™ 實現的邊雲結合解決方案已有智慧醫療(AI宮頸癌病理篩查)、智慧製造(AI實時產品缺陷檢測)兩個落地案例以及基於 OpenVINO™ 智慧園區 AI 方案。

如何通過 OpenVINO™ 實現邊緣端高速採集資料實時推理部署

很多時候,高功耗高成本的 GPU 其實在邊緣端並是非必要的,所以企業或開發者就會考慮是否能通過現有裝置裡已使用的 CPU 在邊緣端對神經網路模型做部署和推理。全新升級的OpenVINO™ (2.2.1 版本)就是一款可以幫助大家在 CPU 上對邊緣端實現接近於或者達到實時 AI 模型推理的解決方案。

為了方便開發者使用開源工具套件,OpenVINO™ (2.2.1版本)設計了簡單的“開發者旅程”,只需通過“建立、優化、部署”三個步驟,就能建立一個模型訓練或下載開源的預訓練模型。

在“建立”步驟中,OpenVINO™ (2.2.1版本)的 Open model zoom 提供了超過 270 個由英特爾驗證和優化過的預訓練模型(超 400 個百度飛漿預選模型),使用非常方便。

“優化”步驟中,開發者在得到需要使用的 AI 模型後,OpenVINO™ (2.2.1 版本)提供的一整套優化工具(MO、NNCF、POT),可幫助開發者壓縮模型大小,同時提升推理的速度。

“部署”步驟中,可以方便大家在實際使用環境中,將模型部署在各個硬體平臺上。

目前,OpenVINO™ (2.2.1 版本)已支援對多個深度學習框架訓練出來的模型進行優化、部署和推理加速,比如大家熟知的 TensorFlow 、PyTorch 以及百度飛槳等深度學習框架。

OpenVINO™ (2.2.1)的部署優勢

OpenVINO™(2.2.1版本) 可部署在英特爾 CPU 、IGPU、VPU 等多個硬體平臺,且可在不同的作業系統上執行,如 Windows 、Mac 、Linux 都可方便操作,同時為了方便安裝使用,OpenVINO™(2.2.1版本)也提供了非常豐富的安裝方式。

一、一次撰寫程式碼,可多次部署在多個硬體平臺

通過在命令列裡可選不同裝置名稱的方式,只需更換該裝置名稱,就可以直接將模型部署到不同的地方去。比如當裝置名稱選擇 CPU時 ,就可以將模型部署到類似於 grey 的 CPU 上;裝置名字換成 GPU 時,就可將模型執行在 IGPU的一個整合 GPU 上;裝置名稱換成 varia 時,就可將其執行在 movidias 的 VPU 晶片上。

OpenVINO™(2.2.1版本)還提供了 heron 模式,可支援更多部署。採用 heron 模式後,就可以將該模型內部適合在 GPU 上的執行的運算放在 GPU 上執行,適合 CPU 上執行的模型的計算放在 CPU 上執行。

另外還有 multi 模式,multi 模式可將該模型所有的計算並行執行在 GPU 和 CPU 上,可最大程度地利用計算資源以並行執行,執行推理的速度也會加快。

開發者通過 OpenVINO™(2.2.1版本)可直接在CPU 和 GPU 上做推理(GPU 的推理速度相對快一點),但在 GPU 上做 AI 推理時,往往需要消耗大量時間將模型進行載入和編譯,所以如果開發者在使用 GPU 推理時,往往要等待很長的時間才能得到第一次推理的結果。

二、auto-自動裝置:CPU 加速推理

面對以上問題,OpenVINO™(2.2.1)新版本里新增的可將裝置名稱更換為“ auto 自動裝置”的選項,完美結合了 CPU 和 GPU 的特點,可以解決不同場景下高吞吐量、低延遲等推理效能需求,讓開發者無需長時間等待就能立刻看到推理結果。

以往,開發者在開發應用時需要跨多個硬體平臺如 CPU 、GPU、 BPO ,需要針對不同的硬體撰寫很多程式碼來完成這種複雜的硬體平臺的切換。而現在,只需要把這個裝置名稱換成 auto ,就可以把模型直接部署在“ auto ”裝置上,而該被稱為“performance hints”的 auto 裝置則相當於在 CPU 和 GPU 的外掛上重構的虛擬外掛,

其他亮點:Azure+OpenVINO™、PaddlePaddle+OpenVINO™

全新升級的 OpenVINO™(2.2.1版本)在以往視覺的基礎上,新新增了自然語言處理、語音等領域的支援及優化推理的加速,其中就包括對自然原處理模型的動態支援,可解決機器問答時長短句的問題。

同時,OpenVINO™(2.2.1版本)還支援百度開源飛槳 PaddlePaddle 的深度學習框架,通過對飛槳 PaddlePaddle 的深度融合的支援,為開發者帶來更多價值。比如 Paddle的bert 、OCR 等,OpenVINO™(2.2.1版本)開發者無需進行任何中間格式的轉換,就可以直接讀取部署和推理。

OpenVINO™(2.2.1版本)也提供了“ Benchmark App ”工具,可讓開發者用通過該工具來在自己的電腦上測試網路效能。

當然,還有在 github 上開源的 OpenVINO™ nobooks 資源,裡面提供了很多程式碼示例,方便開發者下載,從而瞭解 OpenVINO™ 在具體任務和場景下是如何推理和部署的。

另外,OpenVINO™ 還可以執行在雲資源如微軟的 Azure 雲上。當注重雲端算力的微軟,遇上注重與硬體結合的 OpenVINO™,基於微軟Azure+OpenVINO™ 的解決方案就為不少企業提供了落地場景(如研華科技)。通過 Azure+OpenVINO™,將學習推理出的結果放在 OpenVINO™ 上執行,讓 AI 開發更快速高效便捷。

寫在最後

Intel OpenVINO™ 是英特爾於2018年推出的一款可在 CPU/GPU 上做 AI 推理的一站式 AI開發工具,該產品自推出以來已幫助數十萬開發者大幅提升了 AI 推理效能,且將其應用從邊緣計算擴充套件到企業和客戶端。

在今年的 2022 年巴塞羅那世界行動通訊大會前夕,英特爾又推出了 Intel 發行版 OpenVINO™ 工具套件的全新版本,新增加了硬體自動發現和自動優化功能,以及更多的深度學習模型選擇、更多的裝置可移植性選擇以及更高的推理效能和更少的程式碼更改,讓軟體開發者可以在任意平臺上實現最優效能。

作為全模型的工具鏈,全新升級的 OpenVINO™ 可謂 Intel 整個完整生態工具站的核心,其在部署端可以在不同平臺作異構平臺加速,在 CPU/GPU 上就能提高效能推理,有效降低開發者開發門檻,為持續演進的整個 AIoT 生態賦能。

相關文章