在傳統的雲端 AI 模型推論架構中,資料需先傳送到伺服器進行運算,再回傳結果,這不僅增加了延遲,也對隱私與網路穩定性提出挑戰。PyTorch 生態系統中,專門針對邊緣設備(Edge Devices)提出了PyTorch Edge平台,目的是讓開發者能夠保有 PyTorch 熟悉的開發體驗,同時更輕鬆地將 AI 模型部署到手機、穿戴式裝置、微控制器(MCU)、嵌入式系統等資源受限的設備上,實現低延遲、高效能的終端推論,進一步強化 AI 的實用性與即時反應能力。
PyTorch Edge 提供了一套可將 PyTorch 模型精簡、轉換並部署至本地設備的完整工具鏈,包括ExecuTorch及Edge Tooling。其中ExecuTorch是由PyTorch 基金會與 Meta、ARM、Apple 和 Qualcomm 等大廠合作開發的開源工具,能夠將各種 PyTorch 模型(視覺、語音、生成式 AI 等)高效部署到邊緣設備。
支援廣泛的ExecuTorch開發工具 #
ExecuTorch支援多種模型,包括 LLM(大型語言模型)、CV(電腦視覺)、ASR(自動語音辨識)和 TTS(文字轉語音)。作業系統方面,它的支援涵蓋iOS、Mac、Android、Linux,以及一些MCU-based的環境。硬體上則支援涵蓋Apple、Arm、MediaTek、Intel OpenVINO、Qualcomm等等,也為 Facebook、Instagram、Meta Quest、Ray-Ban Meta 智慧眼鏡、WhatsApp 等平台上的大部分 Meta 設備 AI 體驗提供支援。
ExecuTorch為Edge AI開發者提供了以下好處(參考PyTorch官網):
1. 可移植性:從高階行動電話到高度受限的嵌入式系統和微控制器的運算平台,它都能相容。
2. 生產力:開發人員能夠使用相同的Toolchain和 SDK,從 PyTorch 模型創作和轉換到調試和部署到各種平台,從而提高生產力。
3. 效能:由於輕量級運行時間以及利用完整硬體功能(包括通用 CPU 和專用微處理器(例如 NPU 和 DSP))的能力,為最終用戶提供無縫和高效能的體驗。
從高層次上講,使用 ExecuTorch 在邊緣裝置(例如筆記型電腦、手機、穿戴式裝置和物聯網裝置)上運行 PyTorch 模型有三個步驟。下圖說明了導出 PyTorch 程式、將其編譯為針對特定硬體設備的 ExecuTorch 程式以及最後使用 ExecuTorch 運行時在設備上執行程式的三步驟過程。

工作原理(Source)
ExecuTorch 與 PyTorch Mobile有何不同? #
PyTorch Mobile 使用TorchScript允許 PyTorch 模型在資源有限的裝置上運作。 ExecuTorch 的記憶體大小和動態記憶體佔用量明顯較小,與 PyTorch Mobile 相比,具有卓越的效能和可攜性。此外,ExecuTorch 不依賴 TorchScript,而是利用 PyTorch 2 編譯器和匯出功能在裝置上執行 PyTorch 模型。
Edge Tooling #
Edge Tooling包含模型轉換、量化、裁剪與最佳化等工具,幫助開發者將 PyTorch 模型轉換為更適合邊緣部署的格式。此外,PyTorch Edge內建對多種加速器(如 ARM Ethos-U、Qualcomm Hexagon、Apple Neural Engine 等)的支援,藉由後端代理(backends)自動選擇最佳執行方式。
》延伸閱讀: