簡化嵌入式邊緣 AI 應(yīng)用開發(fā)的步驟
如果嵌入式處理器供貨商沒有合適的工具和軟件,設(shè)計節(jié)能的邊緣人工智能 (AI) 系統(tǒng),同時加快上市時間可能會變得窒礙難行。挑戰(zhàn)包括選擇正確的深度學(xué)習(xí)模型、訓(xùn)練和優(yōu)化模型以實現(xiàn)性能和準(zhǔn)確度目標(biāo),以及學(xué)習(xí)用于在嵌入式邊緣處理器上部署模型的專有工具。
從模型選擇到處理器部署,TI 提供免費工具、軟件和服務(wù),協(xié)助完成深度神經(jīng)網(wǎng)絡(luò) (DNN) 開發(fā)工作流程的每一個步驟。逐步選擇模型、隨處訓(xùn)練模型,并無縫部署到 TI 處理器上,完全不需要任何手工制作或手動程序設(shè)計,藉以進行軟件加速推論。
步驟 1:選擇模型
邊緣 AI 系統(tǒng)開發(fā)的首要任務(wù)是選擇正確的 DNN 模型,同時考慮系統(tǒng)的性能、準(zhǔn)確度和功率目標(biāo)。和 GitHub 上的 TI 邊緣 AI 模型庫等工具有助于您加速這個過程。
這個模型庫是 TensorFlow、PyTorch 和 MXNet 框架常用開放原始碼深度學(xué)習(xí)模型的大型集合。這些模型在公共數(shù)據(jù)集上進行預(yù)先訓(xùn)練,并經(jīng)過優(yōu)化,可在 TI 處理器上有效運作而實現(xiàn)邊緣 AI。TI 會定期使用來自開放原始碼社群的最新模型以及 TI 設(shè)計的模型更新模型庫,提供最多樣化的性能和精準(zhǔn)的優(yōu)化模型。
藉由模型庫中的數(shù)百個模型,TI 模型選擇工具 (如圖一所示) 可以協(xié)助快速檢視和比較推論處理量、延遲、準(zhǔn)確度和雙倍數(shù)據(jù)速率帶寬,完全不需要撰寫任何程序代碼。
圖一 : TI 模型選擇工具
步驟 2:訓(xùn)練和調(diào)整模型
選擇模型后,下一個步驟是訓(xùn)練或優(yōu)化模型,藉以在 TI 處理器上實現(xiàn)最佳性能和準(zhǔn)確度。運用我們的軟件架構(gòu)和開發(fā)環(huán)境可以隨處訓(xùn)練模型。
從 TI 模型庫中選擇模型時,訓(xùn)練腳本可以根據(jù)特定任務(wù)的自定義數(shù)據(jù)集快速傳輸和訓(xùn)練模型,完全不需要從頭開始進行長時間的訓(xùn)練或手工制作模型。對于自己的 DNN 模型,訓(xùn)練腳本、框架擴展和量化感知訓(xùn)練工具有助于優(yōu)化模型。
步驟 3:評估模型性能
在開發(fā)邊緣 AI 應(yīng)用之前,需要在實際軟件上評估模型性能。
使用 TensorFlow Lite、ONNX RunTime 或 TVM 以及 SageMaker Neo with Neo AI DLR 運行時間引擎的最常用業(yè)界標(biāo)準(zhǔn) Python 或 C++ 應(yīng)用程序設(shè)計界面 (API),只需要幾行程序代碼,TI 的彈性軟件架構(gòu)和開發(fā)環(huán)境即可隨處訓(xùn)練自己的模型,并且編譯模型再部署到 TI 硬件。在這些業(yè)界標(biāo)準(zhǔn)運行時間引擎的后端, TI 深度學(xué)習(xí) (TIDL) 模型編譯和運行時間工具可以為 TI 軟件編譯模型、將編譯后的圖形或子圖形部署到深度學(xué)習(xí)軟件加速器上,并獲得優(yōu)化推論處理器的性能,完全不需要任何手動操作。
在編譯步驟中,訓(xùn)練后量化工具可以將浮點模型自動轉(zhuǎn)換為定點模型。這組工具透過配置文件進行層級混合精度量化 (8 位和 16 位),達到調(diào)整模型編譯的絕佳彈性,藉以展現(xiàn)最佳性能和準(zhǔn)確度。
各種常用模型的操作不盡相同。TI 邊緣 AI 基準(zhǔn)檢驗工具 也位于 GitHub 上,有助于您將 DNN 模型功能與 TI 模型庫中的模型無縫搭配,并做為自定義模型的參考。
有兩種方法可以在 TI 處理器上評估模型性能:TDA4VM 入門套件評估模塊 (EVM) 或TI Edge AI Cloud,這是免費的在線服務(wù),支持遠程訪問 TDA4VM EVM 評估深度學(xué)習(xí)推論性能。用于不同任務(wù)和運行時間引擎組合的多個范例腳本可以在不到五分鐘的時間內(nèi)在 TI 軟件上進行加速推論的程序設(shè)計、部署和執(zhí)行,同時收集基準(zhǔn)。
步驟 4:開發(fā)邊緣 AI 應(yīng)用
使用開放原始碼 Linux 和業(yè)界標(biāo)準(zhǔn) API能夠?qū)⒛P筒渴鸬?TI 軟件上。不過,將深度學(xué)習(xí)模型部署到軟件加速器上只是其中的一部分。
為了協(xié)助快速建構(gòu)高效率的邊緣 AI 應(yīng)用,TI 采用 GStreamer 框架。GStreamer 插件可以將計算密集型任務(wù)的端對端訊號鏈自動加速到軟件加速器和數(shù)字訊號處理核心上。
圖二 顯示邊緣 AI 的 Processor SDK with Linux 有關(guān)的軟件堆棧和組件。
圖二 : 邊緣 AI 的 Processor SDK with Linux 組件
結(jié)論
即使不是 AI 專家,亦可開發(fā)和部署 AI 模型或建構(gòu) AI 應(yīng)用。TI Edge AI Academy有助于在進行測驗的自定進度課堂式環(huán)境中學(xué)習(xí) AI 基礎(chǔ)知識,并了解 AI 系統(tǒng)和軟件程序設(shè)計。實驗室提供建構(gòu)「Hello, World」人工智能應(yīng)用的逐步程序代碼,而具有攝影機拍攝和顯示的端對端進階應(yīng)用程序,可按照自己的步調(diào)成功開發(fā)人工智能應(yīng)用。
(本文作者Manisha Agrawal任職于德州儀器)
評論