概觀
MLOps 工作負載協調器可協助您針對機器學習 (ML) 模型生產精簡和強制執行架構最佳實務。此 AWS 解決方案是一種可擴展的架構,可提供標準介面,用於管理 AWS 機器學習 (ML) 服務和第三方服務的機器學習 (ML) 管道。
該解決方案的範本可讓您訓練模式,上傳您訓練的模型 (也稱為自備模型 [BYOM]),設定管道的協同運作,以及監控管道的操作。使用此解決方案,您的團隊可大規模重複成功的流程,從而提升他們的敏捷性和效率。
優勢
使用 Amazon SageMaker Model Dashboard 來檢視由您的解決方案建立的 Amazon SageMaker 資源 (例如,模型、端點、模型卡和批次轉換任務)。
技術詳細資訊
您可以使用實作指南和隨附的 AWS CloudFormation 範本來自動部署此架構。為了支援多個使用案例和業務需求,該解決方案提供了兩個 AWS CloudFormation 範本:
- 使用單一帳戶範本在相同 AWS 帳戶中部署所有解決方案的管道。此選項適用於實驗、開發和/或小規模生產工作負載。
- 使用多帳戶範本跨不同的 AWS 帳戶佈建多個環境 (例如,開發、暫存和生產),這可改善管控及提高 ML 管道部署的安全和控制,提供安全的實驗和更快的創新,並保持生產資料和工作負載的安全性和可用性,以協助確保業務持續性。
-
選項 1 – 單一帳戶部署
-
選項 2 – 多帳戶部署
-
選項 1 – 單一帳戶部署
-
步驟 1
協調器 (解決方案擁有者或 DevOps 工程師) 在 AWS 帳戶中推出解決方案並選取所需的選項 (例如,使用 Amazon SageMaker 模型註冊表,或提供現有的 Amazon Simple Storage Service [Amazon S3] 儲存貯體)。步驟 2
協調器將目標管道所需的資產 (例如,模型成品、訓練資料或自訂演算法 zip 檔案) 上傳到 S3 資產儲存貯體中。如果使用 Amazon SageMaker 模型註冊表,則協調器 (或自訂管道) 必須向模型註冊表註冊模型。步驟 3a
解決方案透過將 API 呼叫傳送至 Amazon API Gateway 或將 mlops-config.json 檔案遞交至 Git 儲存庫,來佈建單一帳戶 AWS CodePipeline。
步驟 3b
視管道類型而定,協調器 AWS Lambda 函數使用 API 呼叫主體或 mlops-config.json 檔案封裝目標 AWS CloudFormation 範本及其參數和組態,然後將其用作 CodePipeline 執行個體的來源階段。步驟 4
DeployPipeline 階段採用封裝的CloudFormation 範本及其參數和組態,並將目標管道部署到相同的帳戶中。步驟 5
在佈建目標管道之後,使用者可以存取其功能。系統會將 Amazon Simple Notification Service (Amazon SNS) 通知傳送至解決方案的啟動參數中提供的電子郵件。 -
選項 2 – 多帳戶部署
-
步驟 1
協調器 (具有協調器帳戶管理員存取權的解決方案擁有者或 DevOps 工程師) 提供 AWS Organizations 資訊 (例如,開發、暫存和生產組織單位 ID 和帳號)。
他們還指定所需的選項 (例如,使用 SageMaker 模型登錄檔,或提供現有 S3 儲存貯體),然後在其 AWS 帳戶中啟動解決方案。
步驟 2
協調器將目標管道所需的資產 (例如,模型成品、訓練資料和/或自訂演算法 zip 檔案) 上傳到 AWS Orchestrator 帳戶中的 S3 資產儲存貯體中。如果使用 SageMaker 模型登錄檔,則協調器 (或自訂管道) 必須向模型註冊表註冊模型。
步驟 3a
解決方案透過將 API 呼叫傳送至 API Gateway 或將 mlops-config.json 檔案遞交至 Git 儲存庫,來佈建一個多帳戶 CodePipeline 執行個體。
步驟 3b
視管道類型而定,協調器 Lambda 函數使用 API 呼叫主體或 mlops-config.json 檔案封裝目標 CloudFormation 範本及其每個階段的參數/組態,並將其用作 CodePipeline 執行個體的來源階段。步驟 4
DeployDev 階段採用封裝的 CloudFormation 範本及其參數/組態,並將目標管道部署到開發帳戶中。步驟 5
在目標管道佈建到開發帳戶之後,開發人員就可以在管道上反覆使用。步驟 6
完成開發之後,Orchestrator (或另一個授權帳戶) 會手動核准 DeployStaging 動作以移至 DeployStaging 階段。步驟 7
DeployStaging 階段使用暫存組態將目標管道部署到暫存帳戶中。步驟 8
測試人員對部署的管道執行不同的測試。步驟 9
管道通過品質測試之後,Orchestrator 可以核准 DeployProd 動作。步驟 10
DeployProd 階段將目標管道 (具有生產組態) 部署到生產帳戶。步驟 11
目標管道進入生產環境。系統會將 SNS 通知傳送至解決方案的啟動參數中提供的電子郵件。
相關內容
透過與 AWS 合作夥伴解決方案架構師及 AWS 解決方案程式庫團隊合作,Cognizant 在 MLOps 工作負載協調器解決方案的基礎上建立了他們的 MLOps 模型生命週期協調器解決方案。