如何將 MLOps 用於物聯網和邊緣裝置(Valohai)

語言: CN / TW / HK

持續創作,加速成長!這是我參與「掘金日新計劃 · 6 月更文挑戰」的第23天,點選檢視活動詳情

機器學習和智慧裝置的結合引發了新的自動化浪潮。 從智慧冰箱到無收銀員結賬和自動駕駛汽車,支援機器學習的裝置將對我們的日常生活產生深遠影響。 隨著用例的複雜性和裝置數量的增加,我們將不得不採用新的策略來向用戶部署這些 ML 功能並對其進行管理。

在本文中,我們將研究在邊緣裝置上執行推理的好處、關鍵挑戰以及 MLOps 實踐如何緩解這些挑戰。

理解關鍵概念

在我們探討 MLOps 用於物聯網和邊緣裝置的好處之前,我們需要通過瀏覽一些基本概念來確保我們的觀點是一致的。只有四個,所以不要害怕。

  • 物聯網,是一個帶有感測器的裝置網路,可以通過網際網路或它們之間的任何其他型別的連線來收集、處理和與其他裝置交換資料。
  • AIoT,即物聯網人工智慧,是人工智慧技術與物聯網基礎設施的結合。它允許更高效的物聯網操作、高階資料分析和改進的人機互動。
  • 邊緣計算是一個分散式計算框架,它使企業應用程式更接近物聯網裝置或本地邊緣伺服器等資料來源。這會帶來更快的洞察力、更快的響應時間和更好的頻寬可用性。 它還使機器學習演算法在邊緣的應用成為可能。
  • MLOps是一種旨在使開發和維護生產機器學習無縫且高效的實踐。

背景概述

隨著越來越多的組織採用 ML,對模型管理和操作的需求急劇增加,並催生了 MLOps。另一方面是物聯網的激增。根據 Statista 的資料,到 2023 年,全球物聯網支出預計將達到 1.1 萬億美元。此外,到 2025 年,活躍的物聯網連線裝置的數量預計將達到 309 億。

雲端計算一直幫助促進物聯網裝置之間的無縫通訊,因為它使 API 能夠在連線的裝置和智慧裝置之間進行互動。然而,雲端計算的一個主要缺點是它的延遲,因為它不能實時處理資料。因此,隨著世界上活躍的物聯網連線裝置數量繼續急劇增加,需要更好的技術。

這就產生了邊緣計算,可以用來處理對時間敏感的資料。對於連線有限制或沒有連線的遠端位置,它也是一個更好的選擇。然而,正如 Emmanuel Raj 在 2020 年的論文中指出的那樣,隨著物聯網和邊緣計算的潛力不斷增長,我們面臨著重大的計算挑戰。

例如,您如何在邊緣裝置上大規模執行 ML 以管理和監控 ML 模型?如何啟用 CI/CD?您如何保護裝置以及它們之間的通訊?如何保證系統的效率?

用於物聯網和邊緣裝置的 MLOps 將與更傳統的場景有很大不同,因為沒有那麼多已建立的樣例。

邊緣機器學習的好處

大多數 MLOps 文獻和解決方案都集中在線上推理上。 換句話說,在雲上執行模型並讓終端使用者應用程式通過 API 與模型進行通訊。

然而,在許多用例中,使演算法更接近實際的終端使用者是非常有益的,因此邊緣推理不應被忽視。

將模型移動到裝置上,無論是手機還是像 NVIDIA Jetson 這樣的裝置,都可以解鎖高可擴充套件性、隱私性、可持續性、可負擔性和適應性。 這些都是通過線上推理很難解決的方面。 這一舉措還使物聯網裝置本身更加可靠,因為它們即使在連線受限的情況下也能發揮作用,這對於醫療或安全裝置等場景至關重要。

通過邊緣推理,模型在該位置的裝置上執行,因此規模由裝置本身處理

在裝置本身上執行推理的 ML 系統將具有獨特的優勢:

  • 系統將自動擴充套件,因為每個新裝置都將處理自己的工作負載。這也有助於更好地適應不斷變化的環境並提高成本效益。
  • 該系統將更容易解決隱私問題,因為資料不必離開終端使用者的裝置。
  • 每個邊緣裝置都可以做出實時決策,而不會增加延遲。
  • 即使沒有連線到中央伺服器,每個邊緣裝置也可以做出決策。
  • 每個邊緣裝置甚至可以執行其自己的版本(經過訓練的模型),以滿足環境的特定需求。

依賴邊緣裝置的 ML 解決方案可以採用多種形式。例如,您的手機可以執行經過專門訓練的人臉識別模型來識別您。或者,它可以是一臺本地計算機,連線到現場的所有監控攝像頭,並對任何可疑活動發出警報。兩者都將從上述要點中受益,但維護和管理將完全不同。因此,我們將面臨一系列的挑戰。

邊緣機器學習面臨的挑戰以及 MLOps 如何提供幫助

大多數 MLOps 文獻都關注線上推理是有邏輯原因的。這很簡單,從管理的角度來看,您維護一個模型,該模型可以轉換為可以更新和監控的單個 API 端點。

在邊緣機器學習中,大多數場景都是獨特的雪花,過程可能會變得相當複雜。但是,正確實施 MLOps 肯定可以讓事情變得更容易。讓我們來看看其中的一些挑戰:

  • 測試很難。邊緣裝置有許多不同的形狀和大小。以 Android 生態系統為例,這些裝置的計算能力存在很大差異,很難測試您的模型是否對所有裝置都足夠高效。然而,一個強大的機器學習管道可以包括各種測試來解決模型效能問題。
  • 部署很難。更新單個終端是微不足道的,更新 1,000 臺裝置要棘手得多。在大多數情況下,您需要將 ML 管道和模型儲存與負責更新邊緣裝置的其他工具整合。例如,您的應用程式 CI/CD 將從您的模型儲存中獲取最新模型。
  • 監控很難。使用線上推理,您從單個端點收集指標,但使用邊緣 ML,您需要返回每個裝置的報告,並且您可能仍然無法完全瞭解模型執行的環境。您應該以這樣一種方式設計您的監控系統:它可以接收來自多個來源的資料,並且這些來源可能只是偶爾報告。
  • 資料收集很困難。隱私是有代價的,因為與線上推理不同,您實際上無法直接訪問“真實世界”資料。構建連續迴圈以從邊緣裝置收集資料可能是一項複雜的設計挑戰。您需要考慮允許您在模型失敗時收集資料的機制(例如,當目標識別模型不起作用時,使用者可以選擇傳送圖片)。然後可以將這些打標籤並新增到 ML 管道的訓練資料集中。

用於物聯網和邊緣裝置的 MLOps 的主要目標是緩解這些挑戰。持續迴圈在邊緣推理領域更難建立。在通常的設定中,您的模型在雲上進行訓練,然後由 CI/CD 系統挑選並作為應用程式的一部分部署到裝置上。該應用程式將在裝置上執行推理並將指標和資料批量報告回雲端,您可以在雲端關閉迴圈、重新訓練和改進您的模型。

適用於您的解決方案

如前所述,每個邊緣 ML 案例仍然非常獨特,沒有一種模式適用於所有場景。 您的最終解決方案可能包含您自己的自定義程式碼和現成產品。 優先順序應該是繪製出形成連續迴圈所需的所有不同元件,並弄清楚所有不同元件如何相互通訊。 我們(Valohai)是開放 API 的大力支持者,並且 Valohai 的 MLOps 平臺以 API 為先。因此,所有功能都可以通過程式碼訪問,工具可以無縫整合。

對我們來說,MLOps 不僅僅是線上場景。 我們認為構建連續迴圈並儘可能自動化它們的最佳實踐也應該在事實上也適用於邊緣裝置。 如果您認為讓您的組織更接近邊緣裝置是您想做的事情,我們將很樂意討論您的案例並就可能的解決方案諮詢您。

原文連結:MLOps for IoT and Edge