MediaTek NeuroPilot 工作流程

NeuroPilot 是 MediaTek 提供的一套強大的軟件工具和 API 集合,目的在於提升AI應用的開發效率。其核心特性包括對TensorFlow Lite模型的支援、網路優化、硬件行為分析以及裸機應用編程。一般工作流程分為模型準備、優化和部署,並針對不同平台提供專門的開發流程。

在Android平台上,開發者可以使用Google TensorFlow Lite的標準開發流程,同時借助NeuroPilot SDK獲得更多靈活性和更佳性能。根據開發者角色,如第三方應用開發者、算法供應商或設備製造商,選擇適合的模型部署方法,包括線上編譯和離線編譯,以滿足不同開發需求。

開發過程中,從模型準備到優化,再到最終的部署,每個步驟都至關重要。例如模型優化可以通過量化技術將浮點數據轉換為較低位數的整數,顯著提升性能和壓縮模型。最後優化後的模型可在目標設備上運行,提供高效的AI 應用解決方案。

小弟在此歸納幾個重點,希望在MediaTek平台上開發AI應用的夥伴們,提供了全面的技術支持和詳細步驟,確保開發過程順利高效。


1. NeuroPilot
概述

NeuroPilot是MediaTek推出的AI軟件平台,目的是為夥伴們提供強大的工具和 API,幫助他們在MediaTek的平台上開發先進的人工智能應用。這套平台集成了多種功能,從AI模型的訓練、優化到最終的部署,全面支持各種AI應用需求。NeuroPilot的主要目標是簡化開發流程,提升AI模型的性能,同時確保其運行效率和精度。平台的設計考慮到不同的開發者需求,無論是初學者還是經驗豐富的專業人士,都能夠利用其強大功能,開發出高效且穩定的AI應用。

2. 核心特性

NeuroPilot平台的核心特性包括對TensorFlow Lite模型的支持、網路優化、硬件行為分析以及裸機應用編程。這些特性使得開發者能夠在 MediaTek 的設備上實現高效的 AI 推理和訓練。對 TensorFlow Lite 模型的支持意味著開發者可以輕鬆地將已經訓練好的模型應用於實際產品中。而網路優化功能則幫助開發者提升模型的運行速度和精確度,確保AI應用能夠在資源受限的移動設備上順暢運行。硬件行為分析工具提供了詳細的運行時數據,幫助開發者了解模型在不同硬件配置下的性能表現,進而進行針對性的優化。裸機應用編程則為高級用戶提供了更大的靈活性,使其能夠在沒有操作系統干預的情況下,直接在硬件上運行 AI 模型。

3. 一般工作流程

NeuroPilot 的一般工作流程分為模型準備、優化和部署三個主要階段。在模型準備階段,開發者需要選擇合適的AI模型並進行初步的訓練。隨後在優化階段,開發者利用 NeuroPilot 提供的工具對模型進行調整,提升其運行效率和精度。這可能包括量化、剪枝和壓縮等技術。最後在部署階段,經過優化的模型被轉換為適合目標設備運行的格式,並通過各種工具進行部署。這一流程確保了模型從訓練到實際應用的無縫過渡,並且針對不同的開發平台,NeuroPilot 提供了專門的開發流程,用以適應各種硬件和操作系統環境。



我們可以看到這張圖展示了一個典型的AI模型開發和部署流程,特別針對於MediaTek的NeuroPilot平台。流程大致分為模型準備和優化(在PC上進行)以及模型部署(在設備上進行)兩個主要階段。以下是詳細說明:

模型準備和優化(Toolchain on PC)

1. 模型構建與訓練:使用TensorFlow、PyTorch等框架進行模型構建和訓練。利用訓練數據進行模型的訓練和測試數據進行模型的驗證。

2. 模型優化:通過MTK工具鏈進行量化、NAS(神經結構搜索)和格式轉換,使模型更適合在設備上運行。



3. AI模擬器:在模型構建和優化過程中,使用AI模擬器進行測試和驗證。

模型部署(Model deployment on device)

1. CV/NN應用程序開發:開發CV/NN應用(如Face ID、Face Beauty、Scene Detection等)。第三方APP或OEM合作夥伴可以開發AI APK和AI框架。

2. 編譯方法:

在線編譯方法(Compile model on device):使用MTK TFLite NNAPI Delegate或MTK TFLite Neuron Delegate在設備上進行模型的在線編譯。

離線編譯方法(Compile model on PC):在PC上進行模型的離線編譯,生成離線編譯的DLA(Deep Learning Accelerator)模型。

3.NN運行時環境:包括Android NN Runtime(Google AOSP)和NNAPI HIDL/AIDL Service。支持不同後端(如CPU、GPU、MVPU、MDLA)的運行時環境。

4. Middleware和Driver:使用APUSYS Middleware和Driver進行硬件加速,支持不同的加速器(如CPU、GPU、MVPU、MDLA)。



4. Android
開發流程

在 Android 平台上,NeuroPilot 為開發者提供了一套完整的開發流程,支持 Google TensorFlow Lite 和 NeuroPilot SDK。開發者可以利用這些工具進行模型訓練、優化和部署。整個流程從模型的初步設計和訓練開始,接著進行模型的量化和優化,最終將優化後的模型部署到 Android 設備上運行。NeuroPilot SDK 提供了豐富的 API 和工具,幫助開發者更高效地完成開發任務。比如開發者可以使用 SDK 提供的工具進行模型轉換,將 TensorFlow 模型轉換為適合在 MediaTek 設備上運行的格式。這一流程不僅簡化了開發工作,還確保了模型的高效運行和精確度,提升了最終產品的用戶體驗。

5. 開發者角色和部署方法

根據不同的開發者角色,NeuroPilot 提供了多種模型部署方法。比如第三方應用開發者可以使用線上編譯服務,快速將模型部署到應用中。而對於算法供應商和設備製造商,離線編譯服務則提供了更多的靈活性,允許他們在本地進行模型優化和編譯,並在多個設備上進行測試和部署。這些不同的部署方法目的都為了滿足各類開發者的需求,無論是需要快速更新的應用開發,還是需要高精度和高性能的設備端 AI 解決方案。通過靈活的部署選項,NeuroPilot 確保了不同角色的開發者都能夠找到最適合自己的開發方式,提高開發效率和產品質量。

6. 模型優化與部署步驟

模型優化與部署是 AI 開發過程中的關鍵步驟。首先,開發者需要準備好訓練好的 AI 模型,然後利用 NeuroPilot 提供的工具進行優化。優化過程中,量化技術可以將浮點數據轉換為較低位數的整數,顯著提升性能和壓縮模型大小。緊接著開發者需要將優化後的模型轉換為適合目標設備運行的格式,並使用設備模擬工具進行測試,確保模型在不同硬件配置下的運行效果。再來經過測試和調整,模型被部署到實際設備上,提供高效的 AI 應用服務。這一過程中的每個步驟都至關重要,確保了從模型訓練到最終應用的高效轉換和穩定運行。

★博文內容參考自 網站,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★博文作者未開放評論功能

參考來源

MeidaTek: https://developer.mediatek.com/ai/6423c916c612745b3a4baa2d.html