概觀

MLOps 工作負載協調器解決方案可協助您針對機器學習 (ML) 模型生產精簡和強制執行架構最佳實務。此解決方案是一種可擴展的架構,可提供標準介面,用於管理 AWS 機器學習 (ML) 服務和第三方服務的機器學習 (ML) 管道。該解決方案的範本允許客戶:
- 訓練模型
- 上傳其已訓練的模型 (亦即自備模型 [BYOM])
- 設定管道協調
- 監控管道運作
此解決方案允許您的團隊大規模重複成功的流程,從而提升他們的敏捷性和效率。
優勢

使用 Amazon SageMaker Model Dashboard 來檢視由您的解決方案建立的 Amazon SageMaker 資源 (例如,模型、端點、模型卡和批次轉換任務)。
技術詳細資訊

為了支援多個使用案例和業務需求,該解決方案提供了兩個 AWS CloudFormation 範本:
- 使用單一帳戶範本在相同 AWS 帳戶中部署所有解決方案的管道。此選項適用於實驗、開發和/或小規模生產工作負載。
- 使用多帳戶範本跨不同的 AWS 帳戶佈建多個環境 (例如,開發、暫存和生產),這可改善管控及提高 ML 管道部署的安全和控制,提供安全的實驗和更快的創新,並保持生產資料和工作負載的安全性和可用性,以確保業務持續性。
-
選項 1 – 單一帳戶部署
-
選項 2 – 多帳戶部署
-
選項 1 – 單一帳戶部署
-
步驟 1
Orchestrator (解決方案擁有者或 DevOps 工程師) 在 AWS 帳戶中推出解決方案並選取所需的選項 (例如,使用 Amazon SageMaker 模型登錄檔,或提供現有的 Amazon S3 儲存貯體)。步驟 2
Orchestrator 將目標管道所需的資產 (例如,模型成品、訓練資料或自訂演算法 zip 檔案) 上傳到 Amazon S3 資產儲存貯體中。如果使用 Amazon SageMaker 模型登錄檔,則 Orchestrator (或自訂管道) 必須向 Model Registry 註冊模型。步驟 3a
解決方案透過將 API 呼叫傳送至 Amazon API Gateway 或將 mlops-config.json 檔案遞交至 Git 儲存庫,來佈建單一帳戶 AWS CodePipeline。
步驟 3b
視管道類型而定,協調器 AWS Lambda 函數使用 API 呼叫主體或 mlops-config.json 檔案封裝目標 AWS CloudFormation 範本及其參數/組態,並將其用作 AWS CodePipeline 執行個體的來源階段。步驟 4
DeployPipeline 階段採用封裝的 CloudFormation 範本及其參數/組態,並將目標管道部署到相同的帳戶中。步驟 5
在佈建目標管道之後,使用者可以存取其功能。系統會將 Amazon Simple Notification Service (Amazon SNS) 通知傳送至解決方案的啟動參數中提供的電子郵件。 -
選項 2 – 多帳戶部署
-
步驟 1
Orchestrator (具有協調器帳戶管理員存取權的解決方案擁有者或 DevOps 工程師) 提供 AWS Organizations 資訊 (例如,開發、暫存和生產組織單位 ID 和帳號)。他們還指定所需的選項 (例如,使用 Amazon SageMaker 模型登錄檔,或提供現有 S3 儲存貯體),然後在其 AWS 帳戶中啟動解決方案。步驟 2
Orchestrator 將目標管道所需的資產 (例如,模型成品、訓練資料和/或自訂演算法 zip 檔案) 上傳到 AWS Orchestrator 帳戶中的 Amazon S3 資產儲存貯體中。如果使用 Amazon SageMaker 模型登錄檔,則 Orchestrator (或自訂管道) 必須向 Model Registry 註冊模型。步驟 3a
解決方案透過將 API 呼叫傳送至 Amazon API Gateway 或將 mlops-config.json 檔案遞交至 Git 儲存庫,來佈建一個多帳戶 AWS CodePipeline 執行個體。
步驟 3b
視管道類型而定,協調器 AWS Lambda 函數使用 API 呼叫主體或 mlops-config.json 檔案封裝目標 AWS CloudFormation 範本及其每個階段的參數/組態,並將其用作 AWS CodePipeline 執行個體的來源階段。步驟 4
DeployDev 階段採用封裝的 CloudFormation 範本及其參數/組態,並將目標管道部署到開發帳戶中。步驟 5
在目標管道佈建到開發帳戶之後,開發人員就可以在管道上反覆使用。步驟 6
完成開發之後,Orchestrator (或另一個授權帳戶) 會手動核准 DeployStaging 動作以移至 DeployStaging 階段。步驟 7
DeployStaging 階段使用暫存組態將目標管道部署到暫存帳戶中。步驟 8
測試人員對部署的管道執行不同的測試。步驟 9
管道通過品質測試之後,Orchestrator 可以核准 DeployProd 動作。步驟 10
DeployProd 階段將目標管道 (具有生產組態) 部署到生產帳戶。步驟 11
最後,目標管道進入生產環境。系統會將 Amazon Simple Notification Service (Amazon SNS) 通知傳送至解決方案的啟動參數中提供的電子郵件。
相關內容

透過與 AWS 合作夥伴解決方案架構師及 AWS 解決方案程式庫團隊合作,Cognizant 在 MLOps 工作負載協調器解決方案的基礎上建立了他們的 MLOps 模型生命週期協調器解決方案。