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