此成熟度模型的目的是要協助釐清機器學習作業 (MLOps) 原則和做法。 成熟度模型會顯示生產層機器學習應用程式環境的建立和作業持續改善。 您可以使用該模型做為計量,以建立測量機器學習生產環境及其相關程序成熟度所需的漸進式需求。
成熟度模型
MLOps 成熟度模型有助於釐清執行成功 MLOps 環境所需的開發作業 (DevOps) 原則和做法。 其旨在找出現有組織嘗試實作這類環境的差距。 這也是示範如何以遞增方式成長 MLOps 功能,而不是讓您不堪重負於完全成熟環境的需求。 用作下列的指南:
預估新參與專案的工作範圍。
建立現實的成功準則。
識別您將在參與結束時,交出交付專案。
如同大多數成熟度模型,MLOps 成熟度模型會以質化方式評估人員/文化、流程/結構和物件/技術。 隨著成熟度層級的提高,事件或錯誤的機率增加,會導致開發和生產程序品質的改善。
MLOps 成熟度模型包含五種技術功能層級:
層級 |
描述 |
重點 |
技術 |
0 |
無 MLOps |
- 難以管理完整的機器學習模型生命週期
- 團隊不同時,發行是一件苦差事
- 大部分的系統都以「黑盒子」的形式存在,在部署期間/部署後幾乎沒有什麼意見反應
|
- 手動建置和部署
- 手動測試模型和應用程式
- 沒有集中式追蹤模型效能
- 模型定型為手動
|
1 |
DevOps,但沒有 MLOps |
- 發行比無 MLOps 更輕鬆,但每個新模型都依賴資料小組
- 關於模型在生產環境中執行效能的意見反應,仍然寥寥無幾
- 難以追蹤/重現結果
|
|
2 |
自動化訓練 |
- 訓練環境完全受控且可追蹤
- 易於重現模型
- 發行是手動的,但反應度低
|
|
3 |
自動化模型部署 |
- 發行順暢且為自動
- 從部署回到原始資料的完全可追蹤性
- 整個環境受管理:定型>測試>生產環境
|
- 針對部署的模型效能進行整合 A/B 測試
- 適用於所有程式碼的自動化測試
- 集中式追蹤模型定型效能
|
4 |
MLOps 完全自動化作業 |
- 系統完全自動化且易於監視
- 在某些情況下,生產系統會提供有關如何改善的資訊,亦即使用新模型自動改善
- 接近零停機時間系統
|
|
下列資料表會識別程序成熟度層級的詳細特性。 模型將繼續演進。
層級 0:無 MLOps
人員 |
模型建立 |
模型發行 |
應用程式整合 |
- 資料科學家:孤立,不與較大團隊定期通訊
- 資料工程師 (如果有):孤立,不與較大團隊定期通訊
- 軟體工程師:孤立、從其他團隊成員遠端接收模型
|
- 手動收集資料
- 計算可能未受管理
- 無法預測地追蹤實驗
- 最終結果可能是以輸入/輸出手動遞交的單一模型檔案
|
- 手動程序
- 評分指令碼可能會在實驗之後手動建立,而不受版本控制
- 由資料科學家或資料工程師單獨處理的版本
|
|
層級 1:DevOps 無 MLOps
人員 |
模型建立 |
模型發行 |
應用程式整合 |
- 資料科學家:孤立,不與較大團隊定期通訊
- 資料工程師 (如果有):孤立,不與較大團隊定期通訊
- 軟體工程師:孤立、從其他團隊成員遠端接收模型
|
- 資料管線會自動收集資料
- 計算有或沒有受控
- 無法預測地追蹤實驗
- 最終結果可能是以輸入/輸出手動遞交的單一模型檔案
|
- 手動程序
- 評分指令碼可能會在實驗之後手動建立,且可能受版本控制
- 已交給軟體工程師
|
- 模型有基本整合測試
- 實作模型時嚴重依賴資料科學家的專業知識
- 發行自動化
- 應用程式碼具有單元測試
|
層級 2:訓練自動化
人員 |
模型建立 |
模型發行 |
應用程式整合 |
- 資料科學家:直接與資料工程師合作,將實驗程式碼轉換成可重複的指令碼/作業
- 資料工程師:使用資料科學家
- 軟體工程師:孤立、從其他團隊成員遠端接收模型
|
- 資料管線會自動收集資料
- 計算受控
- 追蹤的實驗結果
- 定型程式碼和產生的模型都受版本控制
|
- 手動發行
- 評分指令碼是由測試所控制的版本
- 軟體工程小組管理的版本
|
- 模型有基本整合測試
- 實作模型時嚴重依賴資料科學家的專業知識
- 應用程式碼具有單元測試
|
層級 3:自動化模型部署
人員 |
模型建立 |
模型發行 |
應用程式整合 |
- 資料科學家:直接與資料工程師合作,將實驗程式碼轉換成可重複的指令碼/作業
- 資料工程師:與資料科學家和軟體工程師合作管理輸入/輸出
- 軟體工程師:與資料工程師合作,將模型整合到應用程式碼中自動化
|
- 資料管線會自動收集資料
- 計算受控
- 追蹤的實驗結果
- 定型程式碼和產生的模型都受版本控制
|
- 自動發行
- 評分指令碼是由測試所控制的版本
- 持續傳遞所管理的發行 (CI/CD) 管線
|
- 每個模型版本的單元和整合測試
- 實作模型時較不依賴資料科學家的專業知識
- 應用程式碼含單元/整合測試
|
層級 4:MLOps 完全自動化重新定型
人員 |
模型建立 |
模型發行 |
應用程式整合 |
- 資料科學家:直接與資料工程師合作,將實驗程式碼轉換成可重複的指令碼/作業。 使用軟體工程師來識別資料工程師的標記
- 資料工程師:與資料科學家和軟體工程師合作管理輸入/輸出
- 軟體工程師:與資料工程師合作,將模型整合到應用程式碼中自動化。 實作後置部署計量收集
|
- 資料管線會自動收集資料
- 根據生產計量自動觸發的重新定型
- 計算受控
- 追蹤的實驗結果
- 定型程式碼和產生的模型都受版本控制
|
- 自動發行
- 評分指令碼是由測試所控制的版本
- 由持續整合及 CI/CD 管線管理的發行
|
- 每個模型版本的單元及整合測試
- 實作模型時較不依賴資料科學家的專業知識
- 應用程式碼含單元/整合測試
|
下一步