MLOps工作流程


MLOps 的目的是透過將機器學習系統開發 (dev) 與機器學習系統部署 (ops) 相結合,來標準化和簡化生產環境中高效能模型的持續交付。

它旨在加速將機器學習模型投入運營,以及隨後的維護和監控過程。在 ML 模型準備好投入生產之前,必須經歷多個階段。這些過程確保您的模型能夠適當地擴充套件以滿足廣泛的使用者群。您會遇到 MLOps 工作流程。

為什麼要使用 MLOps?

資料攝取、資料準備、模型訓練、模型調整、模型部署、模型監控、可解釋性等等複雜過程,僅僅是構成機器學習生命週期的一些複雜要素。MLOps 為您提供效率、風險緩解和可擴充套件性。

藉助 MLOps,資料團隊可以更快地設計模型,交付更高質量的模型,以及更快地部署和生產模型。此外,它還支援大規模的可擴充套件性和管理,允許持續整合、持續交付和持續部署數千個模型。

MLOps 工作流程

MLOps 工作流程通常分為兩個基本層級:上層(管道)和下層(驅動)。管道包括開發、部署和監控,而驅動則由資料、程式碼、工件、中介軟體和基礎設施組成。底層的驅動使管道成為可能。藉助此工作流程,您可以輕鬆地對 ML 模型進行原型設計、測試和驗證。

這些層級的子部分如下:

管道

頂層是管道。它用於模型部署和監控。

構建模組

此部分負責模型的訓練、打包和版本控制部分。

  • 資料攝取 - 它是機器學習管道中的觸發步驟。它透過從各種資料來源(例如資料庫、資料倉庫或資料湖)提取資料並攝取模型訓練階段所需的資料,解決了資料的量、速率、有效性和多樣性問題。資料驗證和確認(包括驗證邏輯)在攝取階段之後執行。

  • 模型訓練 - 它包含執行所有常規 ML 操作(例如特徵工程和特徵縮放、標準化等)的模組化程式碼或指令碼。在訓練 ML 模型時(訓練集)進行超引數調整,以使模型與資料集相匹配。此階段可以手動完成,但有效的自動選項包括網格搜尋或隨機搜尋。

  • 模型測試 - 現在模型已訓練並準備就緒,將根據其在測試資料上的預測結果來評估其效能。輸出將以指標分數的形式呈現。

  • 模型打包 - 在上一步驟中對訓練好的模型進行測試後,可以將模型序列化為檔案或容器化(使用 Docker)以匯出到生產環境。

  • 模型註冊 - 在上一階段將模型容器化後,將對其進行註冊並儲存在模型登錄檔中。註冊的模型由一個或多個構建、表示和執行模型的檔案組成。此時,模型已完成完整的 ML 管道訓練並準備好在生產環境中部署。

部署模組

部署模組可以使用我們在上一節中建立的 ML 模型進行操作化(構建)。

  • 測試 - 在將 ML 模型投入生產使用之前,對其效能和魯棒性進行測試至關重要。因此,我們有了“應用程式測試”階段,在該階段,我們對所有訓練過的模型的彈性和效能進行徹底評估,在與生產環境非常相似的測試環境中進行評估。在應用程式測試過程中,我們在模擬生產環境的測試環境(預生產)中部署模型。

  • 釋出 - 之前評估過的模型現在正在生產環境中使用以提供有用的功能。由於 CI/CD 管道的緣故,此生產版本被部署到生產環境。

監控模組

在監控階段,跟蹤和評估部署的 ML 應用程式。可以使用預定義的指標來評估效能。

  • 監控 - 監控模組監控資料完整性、模型漂移和應用程式效能,並收集重要資訊。遙測資訊可用於跟蹤應用程式效能。

    它顯示了生產系統裝置效能隨時間推移的變化情況。可以使用來自生產系統加速度計、陀螺儀、溼度、磁力計、壓力和溫度感測器的遙測資料來監控生產系統的效能、健康狀況和使用壽命。

  • 分析 - 為了提高模型的商業相關性,即時使用模型可解釋性方法來分析模型的基本屬性,例如公平性、信任度、偏差、透明度和錯誤分析。

  • 治理 - 對部署的應用程式進行監控和分析,以確保其為業務(或 ML 系統的目的)提供最佳效能。在跟蹤和檢查生產資料後,我們可以建立特定的警報並採取特定的措施來管理系統。

    我們現在已經到達了 MLOps 管道的末尾。所有使用 MLOps 方法開發、部署和維護的模型都是端到端可追溯的,並且記錄了它們的譜系,以便追溯模型的起源。這包括模型開發所依據的原始碼、用於訓練和測試它的資料以及限制它的引數。

驅動

  • 資料 - 任何機器學習方法都可以使用結構化或非結構化資料。在 ML 應用程式中,資料管理涉及許多過程。為了有效地執行 ML 管道,資料被劃分為訓練資料、測試資料和監控資料並進行版本控制。

  • 程式碼 - MLOps 管道由三個關鍵程式碼模組提供支援:訓練程式碼、測試程式碼和應用程式程式碼。為了確保 MLOps 管道正常執行,這些指令碼或程式碼片段利用 CI/CD 和資料管道執行。

  • 工件 - MLOps 管道會生成工件,包括資料、序列化模型、程式碼片段、系統日誌以及用於訓練和測試 ML 模型的指標詳細資訊。所有這些工件對於 MLOps 管道的良好執行都是必不可少的。

  • 中介軟體 - 中介軟體是一種計算機軟體,它為軟體程式提供超出作業系統提供的功能。藉助中介軟體服務,可以利用多個應用程式來自動化和協調 MLOps 管道的活動。

  • 基礎設施 - MLOps 管道需要關鍵的計算和儲存資源才能開發、測試和部署 ML 模型。藉助計算資源,我們可以訓練、部署和監控我們的 ML 模型。

更新於: 2023年2月17日

329 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.