SageMaker MLOP 專案逐步解說 - Amazon SageMaker

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

SageMaker MLOP 專案逐步解說

本演練使用範本 模型建置、訓練和部署的 MLOps 範本 來示範如何使用 MLOps 專案建立 CI/CD 系統以建置、訓練和部署模型。

先決條件

若要完成本演練,您需要:

步驟 1:建立專案

在此步驟中,您可以使用 SageMaker提供的專案範本來建置、訓練和部署模型,以建立 SageMaker MLOP 專案。

建立 SageMaker MLOP 專案的步驟
  1. 登入經典工作室。如需詳細資訊,請參閱 Amazon SageMaker 域概述

  2. 在「工作室經典版」側邊欄中,選擇「首頁」圖示 ( )。

  3. 從功能表中選取「部署」,然後選取「專案」。

  4. 選擇建立專案

    會顯示「建立專案」索引標籤。

  5. 如果尚未選取,請選擇SageMaker 範本,然後選擇 MLOP 範本以進行模型建置、訓練和部署。

  6. 對於專案詳細資料,輸入您的專案的名稱和說明。

當專案顯示在「專案」清單中且狀態為「建立完成」時,請繼續下一個步驟。

重要

自 2022 年 7 月 25 日起,我們需要額外角色才能使用專案範本。如果您看到錯誤訊息無法 AssumeRole 在角色 arn: aw: iam:: xxx: role/service role/上執行 AmazonSageMakerServiceCatalogProductsCodePipelineRole,請參閱的步驟 5-6,以取得必要角色的完整清單以及如何建立CodePipeline 它們的SageMaker 使用專案所需的工作室權限指示。

步驟 2:複製程式碼儲存庫

建立專案後,會在專案中建立兩個 CodeCommit 儲存庫。其中一個儲存庫包含用於建置和培訓模型的程式碼,另一個包含用於部署模型的程式碼。在此步驟中,您將存放庫複製到本機 SageMaker專案,該專案包含用來建置和訓練模型至本機 Studio Classic 環境的程式碼,以便您可以使用程式碼。

複製程式碼儲存庫
  1. 在「工作室經典版」側邊欄中,選擇「首頁」圖示 ( )。

  2. 從功能表中選取「部署」,然後選取「專案」。

  3. 選取您在上一步中建立的專案,以開啟您的專案的專案索引標籤。

  4. 在專案索引標籤中,選擇「儲存庫」,然後在以 modelbuild 結尾的儲存庫的本機路徑欄中,選擇「複製儲存庫...」。

  5. 在出現的對話方塊中,接受預設值並選擇「複製儲存庫」。

    複製儲存庫完成時,本機路徑會顯示在本機路徑欄中。選擇路徑以打開包含 Studio 經典版中存儲庫代碼的本地文件夾。

步驟 3:在程式碼中進行變更

現在對建置模型的管道程式碼進行變更,並簽入變更以啟動新的管道執行。管道執行會註冊新的模型版本。

變更程式碼
  1. 在 Studio 傳統版中,選擇檔案瀏覽器圖示 ( ),然後導覽至資pipelines/abalone料夾。按兩下 pipeline.py 以開啟程式碼檔案。

  2. pipeline.py 檔案中,尋找設定訓練執行個體類型的行。

    training_instance_type = ParameterString( name="TrainingInstanceType", default_value="ml.m5.xlarge"

    變更 ml.m5.xlargeml.m5.large,然後輸入 Ctrl+S 以儲存變更。

  3. 選擇 Git 圖示 ( )。預備、遞交和推送 pipeline.py 中的變更。此外,在「摘要」欄位中輸入摘要,並在「描述」欄位中輸入選擇性描述。如需有關在工作室傳統版中使用 Git 的資訊,請參閱在 SageMaker 工作室經典中克隆一個 Git 存儲庫

推送程式碼變更之後,MLOps 系統會啟動建立新模型版本的管道執行。在下一個步驟中,您會核准新模型版本以將其部署至生產中。

步驟 4:核准模型

現在,您核准在上一個步驟中建立的新模型版本,以便將模型版本部署到 SageMaker 端點。

核准模型版本
  1. 在「工作室經典版」側邊欄中,選擇「首頁」圖示 ( )。

  2. 從功能表中選取「部署」,然後選取「專案」。

  3. 選擇您在第一步中建立的專案名稱,以開啟您的專案的專案索引標籤。

  4. 在專案索引標籤中,選擇「模型群組」,然後按兩下出現的模型群組名稱。

    模型群組索引標籤隨即出現。

  5. 在「模型群組」索引標籤中,按兩下「版本 1」。版本 1 索引標籤隨即開啟。選擇「更新狀態」。

  6. 在模型「更新模型版本狀態」對話方塊的「狀態」下拉式清單中,選擇「核准」,然後選擇「更新狀態」。

    核准模型版本會導致 MLOps 系統將模型部署至預備。若要檢視端點,請選擇專案索引標籤上的「端點」索引標籤。

(選擇性)步驟 5:將模型版本部署至生產

現在,您可以將模型版本部署到生產環境。

注意

若要完成此步驟,您必須是 Studio 傳統版網域中的系統管理員。如果您不是管理員,請略過此步驟。

將模型版本部署到生產環境
  1. 請在以下位置登入 CodePipeline 主控台 https://console.aws.amazon.com/codepipeline/

  2. 選擇「管道」,然後選擇名稱為 sagemaker-projectname-projectid-modeldeploy 的管道,其中 projectname 是您的專案名稱,projectid 是您的專案 ID。

  3. DeployStaging階段中,選擇「檢閱」。

  4. 在「檢閱」對話方塊中,選擇「核准」。

    核准DeployStaging階段會導致 MLOP 系統將模型部署至生產環境。若要檢視端點,請選擇 Studio 典型中專案索引標籤上的「端點」索引標籤。

步驟 6:清除資源

若要停止產生費用,清除在此演練中已建立的資源。若要執行此動作,請執行下列步驟。

注意

若要刪除AWS CloudFormation堆疊和 Amazon S3 儲存貯體,您必須是工作室傳統版中的管理員。如果您不是管理員,請要求管理員完成這些步驟。

  1. 在「工作室經典版」側邊欄中,選擇「首頁」圖示 ( )。

  2. 從功能表中選取「部署」,然後選取「專案」。

  3. 從下拉式清單中選取目標專案。如果沒有看到您的專案,請輸入專案名稱,並套用篩選器來尋找專案。

  4. 您可以使用下列其中一種方式刪除工作室傳統專案:
    1. 您可以從專案清單中刪除專案。

      用右鍵按一下目標專案,然後從下拉清單中選擇「刪除」。

      注意

      工作室經典版 v3.17.1 或更高版本中支援此功能。如需詳細資訊,請參閱 關閉並更新 SageMaker 工作室經典

    2. 您可以從「專案詳細資料」區段中刪除專案。
      1. 找到您的專案後,按兩下該專案在主面板中檢視其詳細資料。

      2. 在「動作」功能表中,選擇「刪除」。

  5. 從「刪除專案」視窗中,選擇「刪除」來確認您的選擇。

    這會刪除專案所建立的 Service Catalog 佈建產品。這包括為 CodeCommit專案建立的 CodePipeline、和 CodeBuild 資源。

  6. 刪除專案建立的 AWS CloudFormation 堆疊。有兩個堆疊,一個用於預備,一個用於生產。堆疊的名稱為 sagemaker-projectname-project-id-deploy-stagingsagemaker-projectname-project-id-deploy-prod,其中 projectname 是您的專案名稱,而 project-id 是您的專案 ID。

    有關如何刪除AWS CloudFormation堆棧,請參閱刪除AWS CloudFormation安慰AWS CloudFormation使用者指南

  7. 刪除專案建立的 Amazon S3 儲存貯體。儲存貯體的名稱為 sagemaker-project-project-id,其中 project-id 是您的專案 ID。