利用邊緣處理器提升嵌入式AI效能
隨著人工智慧(AI)在嵌入式運算中的到來,導致了潛在解決方案的激增,這些解決方案旨在提供高速串流視訊上執行神經網路推理所需的高效能。

隨著人工智慧(AI)在嵌入式運算中的到來,導致了潛在解決方案的激增,這些解決方案旨在提供高速串流視訊上執行神經網路推理所需的高效能。儘管許多參考需求(如ImageNet)的解析度都相對較低,但透過多種嵌入式人工智慧解決方案均可實現,不過,零售、醫療、安全和工業控制領域的許多實際應用,則需要能夠處理的視訊影格(Frame,亦稱為幀)和影像解析度會高達4Kp60,甚至更高。
可擴展性是至關重要的,但對於僅提供主機處理器和神經加速器固定組合的系統單晶片(SoC)平台來說,這並非總是任意可選。儘管通常在原型建模期間,也提供了一種評估不同形式神經網路效能的方法,但這種一體化的實現方案缺乏現實世界系統通常所需的細微性和可擴展性。在這種情況下,工業級人工智慧應用受益於一種更平衡的架構,其中將多個異質處理器(如CPU、GPU)和加速器結合起來,在一個整合的管道中共同協作,不僅能對原始視訊影格執行推理,而且還能利用預處理和後處理對整體結果或處理格式轉換進行最佳化,從而能夠處理多種類型的攝影機和感測器。
經典的部署場景在於智慧攝影機和邊緣人工智慧設備。對於前者,需要將視覺處理和神經網路推理支援功能整合到主攝影機電路板中。攝影機可能還需要執行一些其他任務,例如計算房間中的人數,並且能夠避免在被拍攝物件進出視野時,對其進行兩次重複計數。智慧攝影機不僅必須能夠辨識人,而且還必須能夠根據攝影機已經處理的資料重新辨識人,從而不會重複計數。這就需要一個靈活的影像處理和推理管道,其中應用程式可以處理基本的物件辨識,以及複雜的基於推理的任務,如重新辨識。
建構智慧攝影機和邊緣人工智慧設備
通常,在智慧攝影機設計中,主機處理器將感測器輸入轉換成適合推理的形式,包括:對資料影格進行調整、裁剪,以及標準化,使其適合於進行高吞吐率推理。一個類似但更高整合度的使用案例是邊緣人工智慧設備,該設備需要處理來自多個連網感測器和攝影機的輸入,因此需要具備同時處理多個壓縮(或編碼)視訊串流的能力。在這種多攝影機場景中,處理能力必須能夠擴展,以處理執行推理所需的格式、顏色空間和其他轉換,並且能夠處理多個平行推理。
圖1:智慧攝影機應用業務流示意圖。
(來源:Kinara)
圖2:邊緣人工智慧應用業務流示意圖。
(來源:Kinara)
儘管固定的SoC實現方案能夠處理特定案例,但基於可擴展性方面的需求,還是轉向了具備擴展能力的平台。由於這些平台能夠滿足不同需求、並隨著因客戶需求變化所導致的可擴展性和升級提供內在支援。因此,重要的是要關注那些能夠輕鬆擴展硬體功能的平台,這樣,當利用不同架構的特定設備需求產生變化時,就無需對程式碼進行太大更改,因為很少有人能負擔得起這其中所暗含的移植開銷。
由於NXP和高通(Qualcomm)等供應商在效能、功能和價格方面所提供的眾多選擇,許多開發人員都採用了他們的嵌入式處理平台。例如,NXP i.MX應用處理器就滿足了廣泛的效能需求。與固定SoC平台不同,NXP的處理器系列得益於許多嵌入式運算市場所必需的供應商長期支持和供貨保證。i.MX 8M等元件為邊緣人工智慧設備需求提供了良好的基礎,其內建的視訊解碼加速功能,使其能夠在一個處理器上支持4個壓縮的1,080p視訊串流。透過i.MX應用處理器與Kinara的Ara-1加速器的配合,可以實現對多個視訊串流進行推理或具備處理複雜模型的能力。
執行多個建模需求
主處理器中,每個加速器可以在每個無切換時間和零負載的影格上執行多個人工智慧模型,從而提供即時執行複雜任務的能力。與一些為最大輸送量而依賴於多影格批次處理的推理管道不同,Ara-1針對1個批次處理以及最大回應性,進行了專門的最佳化。
這意味著,如果加速器正在對另一影格或一影格的一部分執行推理,則智慧攝影機設計不需要依賴主處理器來執行重新辨識演算法。兩者都可以卸載到Ara-1上,以利用其更高的速度。在需要更多效能的地方,例如在邊緣人工智慧設備中,不同的多種應用可能都需要執行推理任務,此時可以平行使用多個加速器。
不僅透過支援智慧攝影機或設備PCB上的晶片向下整合,而且還支持外掛程式升級,從而可以實現更高的可擴展性。對於晶片向下整合,Ara-1支援產業標準和高頻寬PCI Express (PCIe)介面,以便輕鬆連接到包含PCIe Gen 3介面的主處理器。第二個整合路徑是利用可以直接插入可升級主機板的模組,利用PCIe介面並提供處理多達16台攝影機輸入的能力。對於一些使用現成硬體的系統和原型,還有另外一種選擇,就是內建支援USB 3.2。利用簡單的電纜連線,可以在筆記型電腦上測試人工智慧演算法,利用硬體評估包啟動生產,或對現有系統進行簡單升級。
用於無縫過渡的軟體基礎架構
開發人員可以選擇多種方法來簡化加速器與處理器及其相關軟體堆疊的整合。對於模型的部署和管理,在運作時利用C++或越來越流行的Python應用程式介面(API),執行環境為Arm的Linux環境或x86的Windows環境。Kinara的運作時,API支援多種命令,包括載入和卸載模型、傳遞模型輸入、接收推理資料以及推理和硬體設備的所有控制。
圖3:示例開發業務流程。
(來源:Kinara)
GStreamer環境提供了訪問加速器效能的另一種方式。作為一個為建構媒體處理元件的運算圖形而設計的庫,GStreamer可以很容易地實現過濾管線,這些篩檢程式可以植入能夠對導入視訊和感測器饋送狀態的變化,做出反應的一些更複雜應用中。
對於人工智慧推理,Kinara等SDK可以採用多種不同形式的訓練模型,包括Tensor-Flow、PyTorch、ONNX、Caffe2和MXNet,並直接支援YOLO、TFPose、EfficientNet等數百種模型,以及變壓器網路。從而提供了一個完整的環境來最佳化效能,手段包括利用量化、利用自動調整確保模型精確度的保持,並在運作時調度執行。有了這樣的平台,就有可能深入理解模型的執行,以促進效能最佳化和參數調整。工程師可以利用精確的模擬器,在矽晶片實際設計部署之前對效能進行評估。
總之,隨著人工智慧成為越來越多嵌入式系統的組成部分,能夠將推理功能整合到廣泛的平台中來滿足不斷變化的需求是非常重要的。這意味著能夠部署具有相關SDK的靈活加速器,從而允許客戶將高階人工智慧加速與已有或新的嵌入式系統結合。
(參考原文:Using edge AI processors to boost embedded AI performance,by Rehan Hameed)
本文同步刊登於《電子工程專輯》雜誌2023年4月號
從無線連接、更快的處理和運算、網路安全機制、更複雜的虛擬實境(VR)到人工智慧(AI)等技術,都將在未來的每一個嵌入式系統中發揮更關鍵功能。「嵌入式系統設計研討會」將全面涵蓋在電子產業最受熱議的「智慧」、「互連」、「安全」與「運算」等系統之相關硬體和軟體設計。
會中將邀請來自嵌入式設計相關領域的研究人員、代表廠商以及專家,透過專題演講、產品展示與互動交流,從元件、模組到系統,從概念設計到開發工具,深入介紹嵌入式系統設計領域的最新趨勢、創新和關注重點,並深入分享關於嵌入式系統設計的經驗、成果以及遇到的實際挑戰及其解決方案。









訂閱EETimes Taiwan電子報
加入我們官方帳號LINE@,最新消息一手掌握!