機器學習作業成熟度模型

Machine Learning

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

成熟度模型

MLOps 成熟度模型有助於厘清開發作業 (DevOps) 執行成功 MLOps 環境所需的原則和做法。 其目的在於識別現有組織嘗試實作這類環境的差距。 它也是一種示範如何以遞增方式增加 MLOps 功能,而不是讓您因為完整成熟環境的需求而使它變大。 使用它作為下列指南:

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

  • 建立實際的成功準則。

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

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

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

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

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

層級 0:無 MLOps

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

層級 1:DevOps 無 MLOps

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

層級 2:自動化訓練

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

層級 3:自動化模型部署

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

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

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

下一步