邊緣式機器學習應用開發變得更順遂

隨著機器學習 (ML) 開發工具日益增多,尤其是 Amazon Web Services (AWS)、Google 和 Microsoft 等頂尖雲端服務供應商提供更多工具,機器學習的開發突然變得更順遂。這些工具讓機器學習更易開發,但對於實作物聯網 (IoT)、智慧型家庭、工業自動化系統及其他嵌入式領域的邊緣式應用而言,卻未必如此。不過,快速增加的硬體和軟體資源將正開始因應開發嵌入式系統機器學習應用特有的需求。

值得注意的「Big ML」著重於極大的模型和企業級應用,這些模型和應用皆在可大規模擴充的圖形處理單元 (GPU) 和伺服器上運作。相比之下,適用於邊緣應用的「tinyML」則面臨一系列完全不同的問題,部分是因為微控制器 (MCU) 的資源有限,另一部分則是因為應用對即時性的要求。

過去,MCU 的設計旨在滿足記憶體和周邊裝置相對簡單的要求。對於大多數嵌入式應用來說,效能通常不是一個很大的問題,這類應用指定的週期時間頂多是以毫秒計算。而如今,較為傳統的嵌入式應用對更強大資源、連線能力和效能的需求已經增加。此外,嵌入式應用也要求執行機器學習演算法時達到最短延遲,這大幅改變了對先進 MCU 的需求和期望。有鑒於此,半導體製造商紛紛推出先進的 MCU (如 NXPi.MX RT1170 Crossover MCU),此類 MCU 具備的功能與能力,在不久以前,還被認為是伺服器等級才有的特性。

功能強大的硬體基礎對於實作機器學習式嵌入式應用非常重要,但能否實現此類應用,最終仍取決於能否成功開發機器學習式邊緣解決方案所需的大量軟體。除了要在幾乎所有的嵌入式系統核心中實作數據採集軟體,開發人員還需要建立合適的機器學習模型以使用代表性資料進行訓練,以及在 MCU 上部署對應的推斷模型 (圖 1)。

圖 1:實作機器學習式邊緣應用會增加機器學習特定的專案階段,除了完成開發感測器型智慧產品所需的較常見任務之外,還需完成額外的開發工作。(圖片來源:NXP Semiconductors)

對於實作機器學習式邊緣應用的嵌入式開發人員來說,建立機器學習模型涉及額外作業,可歸納為四個關鍵任務:

  • 定義資料集:開發人員會在這個關鍵的初始階段,決定其應用的資料來源以及所需的目標特徵。
  • 定義模型:開發人員會在此階段確定模型拓撲並調整其所需的超參數。
  • 訓練模型:這個運算密集型步驟通常會在功能強大的伺服器和 GPU 農場進行。
  • 產生推斷模型:在實際部署之前,開發人員會移除僅在訓練期間需要的模型特徵,或移除對推斷貢獻不大或完全沒有貢獻的模型特徵,將訓練模型轉換成最佳化的推斷模型。

個別而言,這些步驟皆在嵌入式開發人員的能力範圍內。在實作感測器和數據採集系統時,開發人員對資料有充分的瞭解,足以履行通常為企業級機器學習應用所需的資料專家的職責。不過,過了這個最初的步驟後,開發人員大多需要自行解決模型定義、訓練和轉換等難題。

早期採用者已迅速利用快速發展的各項技術,建立適合邊緣的機器學習模型。TensorFlow Lite 等資料庫可讓 Google 開放程式碼 TensorFlow 生態系統充分發揮作用,以供資源有限的行動系統和邊緣系統使用。Arm 的 CMSIS-NN (通用微控制器軟體介面標準神經網路) 等開發資料庫,及其神經網路 (NN) 軟體開發套件 (SDK) 則可充分發揮 Arm GPU 及中央處理器 (CPU) 的硬體能力。Facebook 的 Glow ML 學習編譯器和 Microsoft 的 ONNX Runtime ML 優化器等工具可幫助生成推斷模型。而在部署方面,Au-Zone Technologies 的 DeepViewRT 推斷引擎等專用軟體,則可提供可用於生產的推斷引擎來簡化模型轉換。

這裡所提及的軟體,只略微涉及專為 MCU 式機器學習應用開發而設計或適用於此類開發的可用軟體程式庫和工具。在邊緣機器學習中,最有趣的趨勢之一便是 MCU 半導體製造商直接建立機器學習開發解決方案。

雖然機器學習研究人員可能更能建立優異的機器學習演算法,但 MCU 廠商有著得天獨厚的優勢,可在為資源有限的 MCU 式系統建立高效的機器學習開發環境時,解決所遇到的工程問題。NXP 的 eIQ Toolkit 等工具是專為解決此問題而設計,有助於加速開發運行於 MCU 的機器學習模型 (圖 2)。

圖 2:NXP 的 eIQ Toolkit 等工具可大幅簡化邊緣 MCU 式機器學習應用的開發作業。(圖片來源:NXP Semiconductors)

結論

由於內嵌式元件的獨特要求,邊緣機器學習應用的開發,可能無法達到企業級機器學習應用所追求的即用型部署的要求,但其已取得支援諸多智慧型裝置的硬體與軟體。

在即將發佈的文章中,我將深入探討邊緣機器學習的開發和 NXP 的機器學習生態系統,並說明在邊緣部署機器學習應用已變得有多容易。雖然邊緣機器學習還未實現立即部署,但已變得越來越容易實現和部署。

關於作者

Image of Stephen Evanczuk

Stephen Evanczuk 撰寫電子產業的相關資訊已有超過二十年的經驗,涉及的主題多元,涵蓋硬體、軟體、系統以及包含 IoT 在內的應用。他以神經元網路為研究主題,取得神經科學博士學位,並且在航太產業,針對廣泛運用的安全系統和演算法加速方法進行研究。目前,在撰寫科技和工程文章之餘,他投入辨識和推薦系統的深度學習應用。

More posts by Stephen Evanczuk
 TechForum

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.

Visit TechForum