為什麼要使用 MLOps? - Amazon SageMaker AI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

為什麼要使用 MLOps?

當您從執行個別人工智慧和機器學習 (AI/ML) 專案轉變為使用 AI/ML 大規模轉型業務時,ML 作業 (MLOps) 準則可以提供協助。MLOps 體現了 AI/ML 專案在專案管理、CI/CD 和品質保證方面的獨特之處,幫助您縮短交付時間,減少缺陷,並提高資料科學的生產力。MLOps 是建立在將 DevOps 實務套用至機器學習工作負載的方法。如需 DevOps 原則的討論,請參閱白皮書 DevOps on AWS簡介。若要進一步了解使用 AWS 服務的實作,請參閱在 上實作 CI/CD AWS 和將基礎設施當做程式碼

與 DevOps 一樣,MLOps 依賴機器學習開發生命週期的協同合作和精簡的方法,在這個方法中,人員、程序和技術的交集將開發、建置和操作機器學習工作負載所需的端對端活動進行最佳化。

MLOP 專注於資料科學和資料工程的交集,結合現有 DevOps 實務,以簡化整個機器學習開發生命週期的模型交付。MLOps 是將機器學習工作負載整合至發行管理、CI/CD 和操作的準則。MLOps 需要整合軟體開發、操作、資料工程和資料科學。

MLOps 面臨的問題

雖然 MLOps 可以提供寶貴的工具來協助您擴展業務,但是當您將 MLOps 整合到機器學習工作負載時,您可能會遇到某些問題。

專案管理

  • 機器學習 (ML) 專案涉及資料科學家,這是一個相對較新的角色,通常不會整合到跨職能團隊中。這些新團隊成員所說的技術語言往往與產品擁有者和軟體工程師截然不同,這加劇了將業務需求轉化為技術需求的常見問題。

溝通與協同合作

  • 建立機器學習 (ML) 專案的可見性,並實現不同利益相關者 (如資料工程師、資料科學家、機器學習 (ML) 工程師和 DevOps) 之間的合作,對於確保成功成果越來越重要。

一切都是策劃給您是嗎

  • 在開發活動中使用生產資料、更長的實驗生命週期、資料管道的相依性、重新訓練部署管道,以及評估模型效能的獨特指標。

  • 模型的生命週期通常獨立於與這些模型整合的應用程式和系統。

  • 整個端對端系統可透過版本化的程式碼和成品重現。DevOps 專案使用基礎設施即程式碼 (IaC) 和組態即程式碼 (CaC) 來建置環境,並使用管道即程式碼 (PaC) 來確保一致的 CI/CD 模式。管道必須與大數據和機器學習 (ML) 訓練工作流程整合。這通常意味著管道是傳統的 CI/CD 工具和另一個工作流程引擎的組合。許多機器學習 (ML) 專案都有重要的政策考量,因此管道可能也需要強制執行這些政策。偏移的輸入資料會產生偏移的結果,企業利益相關者越來越關注這一問題。

CI/CD

  • 在 MLOps 中,來源資料與來源程式碼是一流的輸入。這就是為什麼 MLOps 要求在溯源或推論資料變更時對來源資料進行版本化並啟動管道執行的原因。

  • 管道還必須對機器學習 (ML) 模型以及輸入和其他輸出進行版本化,才能提供可追溯性。

  • 自動化測試必須包括在建置階段和模型生產時對機器學習 (ML) 模型的正確驗證。

  • 建置階段可能包括模型訓練和再訓練,這是一個耗時的資源密集型流程。管道必須足夠精細,以便僅在來源資料或機器學習 (ML) 程式碼變更時執行完整的訓練週期,而不是在相關元件變更時執行完整的訓練週期。

  • 由於機器學習程式碼通常是整體解決方案的一小部分,因此部署管道也可能納入封裝模型以供其他應用程式和系統使用的 API 所需的其他步驟。

監控和記錄

  • 擷取模型訓練指標以及模型實驗所需的特徵工程和模型訓練階段。調整機器學習 (ML) 模型需要操作輸入資料的形式以及演算法超參數,並有系統地擷取這些實驗。實驗追蹤可協助資料科學家更有效地工作,並為其工作提供可重複的快照。

  • 部署的機器學習 (ML) 模型需要監控傳遞至模型以進行推論的資料,以及標準端點穩定性和效能指標。監控系統還必須擷取透過適當的機器學習 (ML) 指標評估的模型輸出的品質。

MLOps 的優勢

採用 MLOps 實務可提供下列優點,讓您更快上市機器學習 (ML) 專案。

  • 生產力:為自助服務環境提供可存取策劃彙整資料集的存取權,可讓資料工程師和資料科學家更快地移動資料,減少資料遺失或無效資料的情況。

  • 重複性:自動化 MLDC 中的所有步驟可協助您確保可重複的程序,包括如何訓練、評估、版本化和部署模型。

  • 可靠性:結合 CI/CD 實務,不僅可以快速部署,還可以提高品質和一致性。

  • 可稽核性:版本化從資料科學實驗到來源資料再到訓練模型的所有輸入和輸出,這意味著我們可以準確展示模型的建置方式和部署位置。

  • 資料和模型品質:MLOps 可讓我們強制執行政策,防範模型偏差,並追蹤資料統計屬性的變更和模型品質隨著時間的推移的變化情況。