|

【評測文】工業AIOT邊緣運算電腦與OpenVINO 的結合實測

   

作者:陳紀翰

在邊緣運算硬體上運行已經訓練好的AI神經網路模型,輸入資料可能是來自實際場域的資料,而運算過程已經是確定的模型,我們可以藉由這個運算模型的輸出,推論(inference)到實際場資料的特性,神經網路的參數量通常很龐大,像是常用的卷積運算(CNN)需要很大量的矩陣運算,參數量與運算量造成邊緣運算的效能瓶頸,也提高了即時運算的難度,因此在硬體設計上,需要有能力加速AI演算法的運算與平行運算的速度,讓AI推論階段時能夠稍微降低運算壓力以減少硬體的負擔。

AI與加速落地最佳化的重要性

以我們軟體開發專案的經驗來看,在進行軟體開發到落地時,多半需要考慮到系統整合與場域佈署上,然而在系統整合需要門檻相當高的專業知識,尤其是在AI模型的應用,常造成硬體上的效能負擔,為了加速AI落地,因此軟體開發商爭相尋求容易上手的解決方案。

目前常見Intel、Nvidia、Xilinx 晶片大廠,積極發展FPGA(可編程邏輯閘陣列)晶片的開發,FPGA擁有低功耗、低延遲、低成本、高輸出量、高靈活性,在AI應用中相較於GPU相比有更優越的性能,然而FPGA的知識門檻相當高,多半不會是軟體開發商的考量,因此目前軟體開發商傾向於Intel 的工具開發來進行落地的驗證,Intel開發了OpenVINO工具套件,讓電腦視覺開發人員能跨多個硬體平台加速模型,本文將介紹以Intel OpenVINO與工業電腦的落地驗證前的驗證評測。

個人電腦vs.工業電腦

工業電腦的出現是為了因應電腦在工廠廠房端運作,在工廠的工業電腦(Industrial PC, IPC)與辦公室所使用的個人電腦(PC)差異在於工作環境與需求,工業電腦所處的環境通常散佈粉塵、灰塵等因素,因此工業電腦的製造通常注重於承受工業環境的關鍵應用需求所設計。

個人電腦與工業電腦評測表格。(資料來源:https://www.fsp-group.com/tw/knowledge-prd-15.html)

本文使用ASRock Industrial iBOX-1185G7E東擎科技股份有限公司的工業電腦來進行評測,該系統版本為Ubuntu 20.4,並搭載第11Intel i7 處理器(11th Gen Intel(R))Core(TM))i7-1185G7E @ 2.80GHz)。

電腦與處理器(產品連結

OpenVINO AI模型優化與推論

OpenVINO 是用於優化和部署 AI 導入的開源工具,能協助電腦視覺、自然語音識別、自然語言處理和其他常見深度學習任務快速開發,能在Intel系列運算晶片上進行模型的優化與推論。另外Open Model Zoo是屬於可運行Intel OpenVINO的工具包,提供了各種免費的預訓練深度學習模型和應用範例,包含 200 多個公開的範例和來自Intel的神經網絡模型,類型包括物件檢測、分類、圖像分割、手寫識別、文字到語音、姿態辨識等。

其中Intel 的神經網路模型已轉換為與 OpenVINO工具套件一起使用,倘若想使用自行開發的模型,TensorFlowPyTorchPaddleMXNetCaffeKaldi 或是ONNX框架的模型皆可以使用模型轉換器輕鬆優化成能加速運行在Intel上的IR(Intermediate Representation)模型。

OpenVINO提供模型優化器(Model Optimizer)以及推論引擎(Inference Engine),可支援常見的深度學習框架PytorchCaffeTensorFlowMxnetONNX 等,可將訓練好的模型經由Model Optimizer 生成IR檔案(xml bin檔案),假設是使用 Pytorch訓練出來的模型,可先將其轉換為 ONNX 格式,再交給Model Optimizer去生成 IR 文件,接著由 OpenVINO Inference Engine讀取 IR model 進行推論,使用者就可以透過 OpenVINO ToolkitInference Engine API 整合至開發應用程式。

本文實驗了工業電腦與個人電腦運行城市街景語義識別(Fast Semantic Segmentation on Cityscapes),當中包含了使用Pytorch架構與OpenVINO模型優化,並在CPUiGPU(內顯)以及Intel Neural Compute Stick 2 (NC2)神經運算棒上實測結果。

OpenVINO開發流程圖

Fast Semantic Segmentation(資料來源:https://github.com/ekzhang/fastseg)

Intel神經運算棒NCS2

Intel 第11代 Core處理器 CPU與iGPU於處理器上對應位置

詢問設備CPU與iGPU規格

實測結果

為了測試工業電腦處理影片的實時效率,本文以影片FPS幀率數來實驗工業電腦(IPC)與個人電腦(PC),使用Pytorch模型與使用OpenVINO模型優化後效能差異,以及分別測試在CPUiGPU上運行效能。

本文以約兩分鐘台灣街道影片做為測試資料,評比結果如圖表,單純使用Python原始檔案(沒有使用OpenVino)運行的幀率數平均為1.707 FPS,而經過OpenVINO Model Optimizer產生的IR檔案所運行的幀率數平均為36.025 FPS,且在iGPU上運行提升至53.35 FPS,幀率數將近50倍的FPS

評比規格與結果

評比結果圖表比較

總結

本文使用ASRock Industrial工業電腦進行落地實測前的評測,經由實驗結果可見有使用OpenVINO優化過的模型相較於僅使用PyTorch運行的結果成長了約20到30倍;在第11Intel處理器可見在iGPU上運行可達53.35 FPS

Intel開發的OpenVINO模型優化與推論引擎加速了AI於工業電腦上的佈署,至今AI模型與相關軟硬體設計的發展,越來越趨近於人性化與便利,讓軟體開發上更能專注於設計AI、機器學習的模型開發與應用。

(責任編輯:謝嘉洵)

Ludwig Chen
Ludwig Chen

Author: Ludwig Chen

畢業於國立陽明交通大學資訊工程研究所,目前於僑光科技大學資訊科技系擔任助理教授,研究專長包括類神經網路、嵌入式系統、FPGA 及 AI 導入企業解方,執行專案經驗包含工研院、中科院、數發部、經濟部以及台中市環保局,曾獲112年度 AI 應用鬥智賽金獎(Prophet AI)、111 年度 AIGO 特優獎(8926 AIoT)及 109年度 AIGO 優等獎,目前擔任多所中小企業及新創企業執行顧問,專注於企業數位轉型與智慧轉型之導入議題。 本身是個熱愛藝術的資訊工程研究員,熱衷於探索在『研究、應用與啟發教學』之間平衡而產生的美感。

Share This Post On

3 Comments

  1. IPC和PC的CPU等級不一樣,IPC是用第11代CPU,PC是用第8代CPU,其內建GPU的效能也有差異。
    這樣的對比似乎有失偏頗。

    Post a Reply
    • Ludwig Chen

      您好,感謝您的閱讀與 comment
      本文起因於我們實驗室收到 ASRock Industrial iBOX-1185G7E東擎科技股份有限公司的工業電腦,用來做 AI 加速的測試。

      測試結果,讓我們感受到還滿舒服的用戶體驗,包含產品價格、技術門檻與 AI 推論精度,因次我們透過撰寫文章來推廣這一次還不錯的使用體驗。
      在評測部分,我們表格分成兩部分,一部分是自己與自己比較,呈現利用 openVINO 跑在 CPU 上與 iGPU 上加速的成果,另一部分則是挑選我們手邊可及資源 Intel 8 代 core i7 來做跨世代的比較。
      結果呈現出第 11 代除了運算速度高於第 8 代以外(跨世代比較),在加速上有相當顯著的效果(11 代 CPU 加速效果高於第 8 代), iGPU 也有更進一步顯著的效果,iGPU 加入部分也是廠商特別 highline 的一塊,而我們測試也得到不錯的加速效果。

      以上的補充說明供您參考

      另外,此次測試算是我們實驗室跑 AI 邊緣一個滿好的體驗,我們預計後續會有持續跑各種不同的比較(沒意外的話),如果您有興趣歡迎繼續 follow 我們,有什麼希望看到的評測,也歡迎留言給我們,感謝您

      Post a Reply
  2. 你好 希望有機會交流一下

    Post a Reply

Submit a Comment

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