本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SageMaker MLOP 專案逐步解說
本演練使用範本 模型建置、訓練和部署的 MLOps 範本 來示範如何使用 MLOps 專案建立 CI/CD 系統以建置、訓練和部署模型。
先決條件
若要完成本演練,您需要:
-
用於登入工作室傳統版的 IAM 帳戶或身分識別中心。如需相關資訊,請參閱 Amazon SageMaker 域概述。
-
使用提 SageMaker供的專案範本的權限。如需相關資訊,請參閱 SageMaker 使用專案所需的工作室權限。
-
與工作室經典用戶界面的基本熟悉。如需相關資訊,請參閱 Amazon SageMaker 工作室經典 UI 概述。
步驟 1:建立專案
在此步驟中,您可以使用 SageMaker提供的專案範本來建置、訓練和部署模型,以建立 SageMaker MLOP 專案。
建立 SageMaker MLOP 專案的步驟
-
登入經典工作室。如需詳細資訊,請參閱 Amazon SageMaker 域概述。
-
在「工作室經典版」側邊欄中,選擇「首頁」圖示 ( )。
-
從功能表中選取「部署」,然後選取「專案」。
-
選擇建立專案。
會顯示「建立專案」索引標籤。
-
如果尚未選取,請選擇SageMaker 範本,然後選擇 MLOP 範本以進行模型建置、訓練和部署。
-
對於專案詳細資料,輸入您的專案的名稱和說明。
當專案顯示在「專案」清單中且狀態為「建立完成」時,請繼續下一個步驟。
重要
自 2022 年 7 月 25 日起,我們需要額外角色才能使用專案範本。如果您看到錯誤訊息無法 AssumeRole 在角色 arn: aw: iam:: xxx: role/service role/上執行 AmazonSageMakerServiceCatalogProductsCodePipelineRole,請參閱的步驟 5-6,以取得必要角色的完整清單以及如何建立CodePipeline 它們的SageMaker 使用專案所需的工作室權限指示。
步驟 2:複製程式碼儲存庫
建立專案後,會在專案中建立兩個 CodeCommit 儲存庫。其中一個儲存庫包含用於建置和培訓模型的程式碼,另一個包含用於部署模型的程式碼。在此步驟中,您將存放庫複製到本機 SageMaker專案,該專案包含用來建置和訓練模型至本機 Studio Classic 環境的程式碼,以便您可以使用程式碼。
複製程式碼儲存庫
-
在「工作室經典版」側邊欄中,選擇「首頁」圖示 ( )。
-
從功能表中選取「部署」,然後選取「專案」。
-
選取您在上一步中建立的專案,以開啟您的專案的專案索引標籤。
-
在專案索引標籤中,選擇「儲存庫」,然後在以 modelbuild 結尾的儲存庫的本機路徑欄中,選擇「複製儲存庫...」。
-
在出現的對話方塊中,接受預設值並選擇「複製儲存庫」。
複製儲存庫完成時,本機路徑會顯示在本機路徑欄中。選擇路徑以打開包含 Studio 經典版中存儲庫代碼的本地文件夾。
步驟 3:在程式碼中進行變更
現在對建置模型的管道程式碼進行變更,並簽入變更以啟動新的管道執行。管道執行會註冊新的模型版本。
變更程式碼
-
在 Studio 傳統版中,選擇檔案瀏覽器圖示 ( ),然後導覽至資
pipelines/abalone
料夾。按兩下pipeline.py
以開啟程式碼檔案。 -
在
pipeline.py
檔案中,尋找設定訓練執行個體類型的行。training_instance_type = ParameterString( name="TrainingInstanceType", default_value="ml.m5.xlarge"
變更
ml.m5.xlarge
為ml.m5.large
,然後輸入Ctrl+S
以儲存變更。 -
選擇 Git 圖示 ( )。預備、遞交和推送
pipeline.py
中的變更。此外,在「摘要」欄位中輸入摘要,並在「描述」欄位中輸入選擇性描述。如需有關在工作室傳統版中使用 Git 的資訊,請參閱在 SageMaker 工作室經典中克隆一個 Git 存儲庫。
推送程式碼變更之後,MLOps 系統會啟動建立新模型版本的管道執行。在下一個步驟中,您會核准新模型版本以將其部署至生產中。
步驟 4:核准模型
現在,您核准在上一個步驟中建立的新模型版本,以便將模型版本部署到 SageMaker 端點。
核准模型版本
-
在「工作室經典版」側邊欄中,選擇「首頁」圖示 ( )。
-
從功能表中選取「部署」,然後選取「專案」。
-
選擇您在第一步中建立的專案名稱,以開啟您的專案的專案索引標籤。
-
在專案索引標籤中,選擇「模型群組」,然後按兩下出現的模型群組名稱。
模型群組索引標籤隨即出現。
-
在「模型群組」索引標籤中,按兩下「版本 1」。版本 1 索引標籤隨即開啟。選擇「更新狀態」。
-
在模型「更新模型版本狀態」對話方塊的「狀態」下拉式清單中,選擇「核准」,然後選擇「更新狀態」。
核准模型版本會導致 MLOps 系統將模型部署至預備。若要檢視端點,請選擇專案索引標籤上的「端點」索引標籤。
(選擇性)步驟 5:將模型版本部署至生產
現在,您可以將模型版本部署到生產環境。
注意
若要完成此步驟,您必須是 Studio 傳統版網域中的系統管理員。如果您不是管理員,請略過此步驟。
將模型版本部署到生產環境
-
請在以下位置登入 CodePipeline 主控台 https://console.aws.amazon.com/codepipeline/
-
選擇「管道」,然後選擇名稱為 sagemaker-
projectname
-projectid
-modeldeploy 的管道,其中projectname
是您的專案名稱,projectid
是您的專案 ID。 -
在DeployStaging階段中,選擇「檢閱」。
-
在「檢閱」對話方塊中,選擇「核准」。
核准DeployStaging階段會導致 MLOP 系統將模型部署至生產環境。若要檢視端點,請選擇 Studio 典型中專案索引標籤上的「端點」索引標籤。
步驟 6:清除資源
若要停止產生費用,清除在此演練中已建立的資源。若要執行此動作,請執行下列步驟。
注意
若要刪除AWS CloudFormation堆疊和 Amazon S3 儲存貯體,您必須是工作室傳統版中的管理員。如果您不是管理員,請要求管理員完成這些步驟。
-
在「工作室經典版」側邊欄中,選擇「首頁」圖示 ( )。
-
從功能表中選取「部署」,然後選取「專案」。
-
從下拉式清單中選取目標專案。如果沒有看到您的專案,請輸入專案名稱,並套用篩選器來尋找專案。
-
您可以使用下列其中一種方式刪除工作室傳統專案:
-
您可以從專案清單中刪除專案。
用右鍵按一下目標專案,然後從下拉清單中選擇「刪除」。
注意
工作室經典版 v3.17.1 或更高版本中支援此功能。如需詳細資訊,請參閱 關閉並更新 SageMaker 工作室經典。
-
您可以從「專案詳細資料」區段中刪除專案。
-
找到您的專案後,按兩下該專案在主面板中檢視其詳細資料。
-
在「動作」功能表中,選擇「刪除」。
-
-
-
從「刪除專案」視窗中,選擇「刪除」來確認您的選擇。
這會刪除專案所建立的 Service Catalog 佈建產品。這包括為 CodeCommit專案建立的 CodePipeline、和 CodeBuild 資源。
-
刪除專案建立的 AWS CloudFormation 堆疊。有兩個堆疊,一個用於預備,一個用於生產。堆疊的名稱為 sagemaker-
projectname
-project-id
-deploy-staging 和 sagemaker-projectname
-project-id
-deploy-prod,其中projectname
是您的專案名稱,而project-id
是您的專案 ID。有關如何刪除AWS CloudFormation堆棧,請參閱刪除AWS CloudFormation安慰在AWS CloudFormation使用者指南。
-
刪除專案建立的 Amazon S3 儲存貯體。儲存貯體的名稱為 sagemaker-project-
project-id
,其中project-id
是您的專案 ID。