機器學習 作業成熟度模型

Azure Machine Learning

此成熟度模型的目的是協助釐清 機器學習 作業(MLOps) 原則和做法。 成熟度模型會顯示生產層級機器學習應用程式環境的建立和作業持續改善。 您可以使用它作為計量,以建立測量機器學習生產環境及其相關程式成熟度所需的漸進式需求。

成熟度模型

MLOps 成熟度模型有助於釐清執行成功 MLOps 環境所需的開發作業(DevOps)原則和做法。 其旨在找出現有組織嘗試實作這類環境的差距。 這也是示範如何以遞增方式成長 MLOps 功能,而不是讓您不堪重負於完全成熟環境的需求。 使用它作為下列指南:

  • 預估新參與專案的工作範圍。

  • 建立現實的成功準則。

  • 識別您將在參與結束時交出交付專案。

如同大多數成熟度模型,MLOps 成熟度模型會以質化方式評估人員/文化、流程/結構和物件/技術。 隨著成熟度層級的提高,事件或錯誤的機率增加會導致開發和生產程序品質的改善。

MLOps 成熟度模型包含五種技術功能層級:

層級 描述 重點 技術
0 無 MLOps
  • 難以管理完整的機器學習模型生命週期
  • 團隊不同,發行是痛苦的
  • 大部分的系統都以「黑匣子」的形式存在,在部署期間/部署后幾乎沒有意見反應
  • 手動建置和部署
  • 手動測試模型和應用程式
  • 沒有模型效能的集中式追蹤
  • 模型定型為手動
1 DevOps,但沒有 MLOps
  • 發行比無 MLOps 更痛苦,但依賴數據小組處理每個新模型
  • 關於模型在生產環境中執行效能的意見反應仍然有限
  • 難以追蹤/重現結果
  • 自動化組建
  • 應用程式程式代碼的自動化測試
2 自動化訓練
  • 訓練環境完全受控且可追蹤
  • 易於重現模型
  • 版本是手動的,但摩擦度低
  • 自動化模型定型
  • 集中式追蹤模型定型效能
  • 模型管理
3 自動化模型部署
  • 發行是低摩擦和自動
  • 從部署回到原始數據的完整可追蹤性
  • 整個環境受管理:定型 > 測試 > 生產環境
  • 針對部署的模型效能進行整合 A/B 測試
  • 所有程式代碼的自動化測試
  • 集中式追蹤模型定型效能
4 完整 MLOps 自動化作業
  • 完整系統自動化且易於監視
  • 生產系統提供如何改善的資訊,在某些情況下,使用新的模型自動改善
  • 接近零停機時間系統
  • 自動化模型定型和測試
  • 已部署模型的詳細集中式計量

下列數據表會識別該程式成熟度層級的詳細特性。 模型將繼續發展。 此版本上次於 2020 年 1 月更新。

層級 0:無 MLOps

人員 模型建立 模型發行 應用程式整合
  • 數據科學家:孤立,而不是與較大的小組定期通訊
  • 數據工程師(如果有):孤立,而不是與較大的小組定期通訊
  • 軟體工程師:孤立、從其他小組成員遠端接收模型
  • 手動收集的數據
  • 計算可能未受管理
  • 無法預測地追蹤實驗
  • 最終結果可能是以輸入/輸出手動遞交的單一模型檔案
  • 手動程式
  • 評分腳本可能會在實驗之後手動建立,而不是受版本控制
  • 由數據科學家或數據工程師單獨處理的版本
  • 嚴重依賴數據科學家的專業知識來實作
  • 每次手動發行

層級 1:DevOps 無 MLOps

人員 模型建立 模型發行 應用程式整合
  • 數據科學家:孤立,而不是與較大的小組定期通訊
  • 數據工程師(如果有):孤立,而不是與較大的小組定期通訊
  • 軟體工程師:孤立、從其他小組成員遠端接收模型
  • 數據管線會自動收集數據
  • 計算是或未管理
  • 無法預測地追蹤實驗
  • 最終結果可能是以輸入/輸出手動遞交的單一模型檔案
  • 手動程式
  • 評分腳本可能會在實驗之後手動建立,可能是版本控制
  • 已交給軟體工程師
  • 模型有基本整合測試
  • 嚴重依賴數據科學家的專業知識來實作模型
  • 自動化版本
  • 應用程式程式代碼具有單元測試

層級 2:自動化訓練

人員 模型建立 模型發行 應用程式整合
  • 數據科學家:直接與數據工程師合作,將實驗程式代碼轉換成可重複的腳本/作業
  • 數據工程師:使用數據科學家
  • 軟體工程師:孤立、從其他小組成員遠端接收模型
  • 數據管線會自動收集數據
  • 計算受管理
  • 追蹤的實驗結果
  • 定型程式代碼和產生的模型都是版本控制
  • 手動發行
  • 評分腳本是由測試所控制的版本
  • 軟體工程小組所管理的版本
  • 模型有基本整合測試
  • 嚴重依賴數據科學家的專業知識來實作模型
  • 應用程式程式代碼具有單元測試

層級 3:自動化模型部署

人員 模型建立 模型發行 應用程式整合
  • 數據科學家:直接與數據工程師合作,將實驗程式代碼轉換成可重複的腳本/作業
  • 數據工程師:與數據科學家和軟體工程師合作來管理輸入/輸出
  • 軟體工程師:與數據工程師合作,將模型整合到應用程式程式代碼中自動化
  • 數據管線會自動收集數據
  • 計算受管理
  • 追蹤的實驗結果
  • 定型程式代碼和產生的模型都是版本控制
  • 自動發行
  • 評分腳本是由測試所控制的版本
  • 持續傳遞所管理的發行 (CI/CD) 管線
  • 每個模型版本的單元和整合測試
  • 較不依賴數據科學家的專業知識來實作模型
  • 應用程式程式代碼具有單元/整合測試

層級 4:完整 MLOps 自動化重新定型

人員 模型建立 模型發行 應用程式整合
  • 數據科學家:直接與數據工程師合作,將實驗程式代碼轉換成可重複的腳本/作業。 使用軟體工程師來識別數據工程師的標記
  • 數據工程師:與數據科學家和軟體工程師合作來管理輸入/輸出
  • 軟體工程師:與數據工程師合作,將模型整合自動化至應用程式程序代碼。 實作部署後計量收集
  • 數據管線會自動收集數據
  • 根據生產計量自動觸發的重新定型
  • 計算受管理
  • 追蹤的實驗結果
  • 定型程式代碼和產生的模型都是版本控制
  • 自動發行
  • 評分腳本是由測試所控制的版本
  • 由持續整合和 CI/CD 管線管理的發行
  • 每個模型版本的單元和整合測試
  • 較不依賴數據科學家的專業知識來實作模型
  • 應用程式程式代碼具有單元/整合測試

下一步