作者:德州儀器 如果在沒(méi)有嵌入式處理器供應商提供的合適工具和軟件的支持下,既想設計高能效的邊緣人工智能(AI)系統,同時(shí)又要加快產(chǎn)品上市時(shí)間,這項工作難免會(huì )冗長(cháng)乏味。面臨的一系列挑戰包括選擇恰當的深度學(xué)習模型、針對性能和精度目標對模型進(jìn)行訓練和優(yōu)化,以及學(xué)習使用在嵌入式邊緣處理器上部署模型的專(zhuān)用工具。 從模型選擇到在處理器上部署,TI可免費提供相關(guān)工具、軟件和服務(wù),為您深度神經(jīng)網(wǎng)絡(luò )(DNN)開(kāi)發(fā)工作流程的每一步保駕護航。下面讓我們來(lái)了解如何不借助手動(dòng)工具或手動(dòng)編程來(lái)選擇模型、隨時(shí)隨地訓練模型并將其無(wú)縫部署到TI處理器上,從而實(shí)現硬件加速推理。 ![]() 圖1: 邊緣AI應用的開(kāi)發(fā)流程 第1步:選擇模型 邊緣AI系統開(kāi)發(fā)的首要任務(wù)是選擇合適的DNN模型,同時(shí)要兼顧系統的性能、精度和功耗目標。GitHub上的TI邊緣AI Model Zoo等工具可助您加速此流程。 Model Zoo廣泛匯集了TensorFlow、PyTorch和MXNet框架中常用的開(kāi)源深度學(xué)習模型。這些模型在公共數據集上經(jīng)過(guò)預訓練和優(yōu)化,可以在TI適用于邊緣AI的處理器上高效運行。TI會(huì )定期使用開(kāi)源社區中的新模型以及TI設計的模型對Model Zoo進(jìn)行更新,為您提供性能和精度經(jīng)過(guò)優(yōu)化的廣泛模型選擇。 Model Zoo囊括數百個(gè)模型,TI模型選擇工具(如圖1所示)可以幫助您在不編寫(xiě)任何代碼的情況下,通過(guò)查看和比較性能統計數據(如推理吞吐量、延遲、精度和雙倍數據速率帶寬),快速比較和找到適合您AI任務(wù)的模型。 ![]() 圖2:TI 模型選擇工具 第2步:訓練和優(yōu)化模型 選擇模型后,下一步是在TI處理器上對其進(jìn)行訓練或優(yōu)化,以獲得出色的性能和精度。憑借我們的軟件架構和開(kāi)發(fā)環(huán)境,您可隨時(shí)隨地訓練模型。 從TI Model Zoo中選擇模型時(shí),借助訓練腳本可讓您在自定義數據集上為特定任務(wù)快速傳輸和訓練模型,而無(wú)需花費較長(cháng)時(shí)間從頭開(kāi)始訓練或使用手動(dòng)工具。訓練腳本、框架擴展和量化感知培訓工具可幫助您優(yōu)化自己的DNN模型。 第3步:評估模型性能 在開(kāi)發(fā)邊緣AI應用之前,需要在實(shí)際硬件上評估模型性能。 TI提供靈活的軟件架構和開(kāi)發(fā)環(huán)境,您可以在TensorFlow Lite、ONNX RunTime或TVM和支持Neo AI DLR的SageMaker Neo運行環(huán)境引擎三者中選擇習慣的業(yè)界標準Python或C++應用編程接口(API),只需編寫(xiě)幾行代碼,即可隨時(shí)隨地訓練自己的模型,并將模型編譯和部署到TI硬件上。在這些業(yè)界通用運行環(huán)境引擎的后端,我們的TI深度學(xué)習(TIDL)模型編譯和運行環(huán)境工具可讓您針對TI的硬件編譯模型,將編譯后的圖或子圖部署到深度學(xué)習硬件加速器上,并在無(wú)需任何手動(dòng)工具的情況下實(shí)現卓越的處理器推理性能。 在編譯步驟中,訓練后量化工具可以自動(dòng)將浮點(diǎn)模型轉換為定點(diǎn)模型。該工具可通過(guò)配置文件實(shí)現層級混合精度量化(8位和16位),從而能夠足夠靈活地調整模型編譯,以獲得出色的性能和精度。 不同常用模型的運算方式各不相同。同樣位于GitHub上的TI邊緣AI基準工具可幫助您為T(mén)I Model Zoo中的模型無(wú)縫匹配DNN模型功能,并作為自定義模型的參考。 評估TI處理器模型性能的方式有兩種:TDA4VM入門(mén)套件評估模塊(EVM)或TI Edge AI Cloud,后者是一項免費在線(xiàn)服務(wù),可支持遠程訪(fǎng)問(wèn)TDA4VM EVM,以評估深度學(xué)習推理性能。借助針對不同任務(wù)和運行時(shí)引擎組合的數個(gè)示例腳本,五分鐘之內便可在TI硬件上編程、部署和運行加速推理,同時(shí)收集基準測試數據。 第4步:部署邊緣AI應用程序 您可以使用開(kāi)源Linux和業(yè)界通用的API來(lái)將模型部署到TI硬件上。然而,將深度學(xué)習模型部署到硬件加速器上只是難題的冰山一角。 為幫助您快速構建高效的邊緣AI應用,TI采用了GStreamer框架。借助在主機Arm內核上運行的GStreamer插件,您可以自動(dòng)將計算密集型任務(wù)的端到端信號鏈加速部署到硬件加速器和數字信號處理內核上。 圖2展示了適用于邊緣AI的Linux Processor SDK的軟件棧和組件。 ![]() 圖3:適用于邊緣AI的Linux Processor SDK組件 結語(yǔ) 如果您對本文中提及的工具感到陌生或有所擔憂(yōu),請放寬心,因為即使您想要開(kāi)發(fā)和部署AI模型或構建AI應用,也不必成為AI專(zhuān)家。TI Edge AI Academy能夠幫助您在自學(xué)、課堂環(huán)境中通過(guò)測驗學(xué)習AI基礎知識,并深入了解AI系統和軟件編程。實(shí)驗室提供了構建“Hello World” AI應用的分步代碼,而帶有攝像頭捕獲和顯示功能的端到端高級應用使您能夠按照自己的節奏順利開(kāi)發(fā)AI應用。 其他資源 |