SageMaker MLOps使用協力廠商 Git 存放庫的專案逐步 - Amazon SageMaker

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

SageMaker MLOps使用協力廠商 Git 存放庫的專案逐步

重要

截至 2023 年 11 月 30 日,以前的 Amazon SageMaker 工作室體驗現在被命名為 Amazon SageMaker 工作室經典。下面的部分是特定於使用 Studio 傳統版應用程序。如需使用更新後的 Studio 體驗的相關資訊,請參閱Amazon SageMaker 一室

本逐步解說使用範本MLOps使用第三方 Git 儲存庫進行模型建置、訓練和部署的範本 CodePipeline來示範如何使用MLOps專案建立 CI/CD 系統來建置、訓練和部署模型。

先決條件

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

步驟 1:設定 GitHub連線

在此步驟中,您可以使用AWS CodeStar 連線連線至 GitHub 儲存庫。該 SageMaker 項目使用此連接來訪問您的源代碼存儲庫。

若要設定 GitHub 連線:
  1. 在以下位置登入 CodePipeline 主控台 https://console.aws.amazon.com/codepipeline/

  2. 在導覽窗格中,於設定下選擇連線

  3. 選擇建立連線

  4. 對於選取提供者,請選取GitHub

  5. 連線名稱中輸入名稱。

  6. 選擇「Connect 至」 GitHub。

  7. 如果先前未安裝 AWS 連接器 GitHub 應用程式,請選擇 [安裝新的應用程式]。

    這會顯示您有權存取的所有 GitHub 個人帳戶和組織的清單。

  8. 選擇您要建立連線以便與 SageMaker 專案和 GitHub 儲存庫搭配使用的帳戶。

  9. 選擇設定

  10. 您可以選擇性地選取特定儲存庫或選擇所有儲存庫

  11. 選擇 Save (儲存)。安裝應用程式後,系統會將您重新導向至「Connect 至 GitHub」頁面,並自動填入安裝 ID。

  12. 選擇連線

  13. 將帶有鍵sagemaker和值的標籤添加true到此 AWS CodeStar 連接。

  14. 複製連線ARN以儲存以供稍後使用。您可ARN以在專案建立步驟中使用做為參數。

步驟 2:建立專案

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

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

  2. 在「工作室經典版」側邊欄中,選擇「首頁」圖示 ( Black square icon representing a placeholder or empty image. )。

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

  4. 選擇建立專案

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

  5. 對於SageMaker 專案範本,請選擇MLOps使用第三方 Git 儲存庫進行模型建置、訓練和部署的範本。

  6. 選擇選取專案範本

  7. 在「ModelBuild CodeRepository 資訊」下,提供下列參數:

    • 對於 URL,請在 URL https://中輸入模型構建代碼的 Git 存儲庫git-url.git 格式。

    • 分支中,輸入從 Git 儲存庫要用於管道活動的分支。

    • 對於完整存放庫名稱,請以下列格式輸入 Git 儲存庫名稱:username/repository nameorganization/repository name.

    • 對於 Codestar 連線 ARN,請輸入ARN您在步驟 1 中建立的 AWS CodeStar 連線。

    • 範例程式碼切換開關可讓您選擇是否要在儲存庫中填入模型建置種子程式碼。在此示範中我們可以將其保留。

  8. 在「ModelDeploy CodeRepository 資訊」下,提供下列參數:

    • 針對 URL,請在 URL https://中輸入模型部署程式碼的 Git 儲存庫git-url.git 格式。

    • 分支中,輸入從 Git 儲存庫要用於管道活動的分支。

    • 對於完整存放庫名稱,請以下列格式輸入 Git 儲存庫名稱:username/repository nameorganization/repository name.

    • 對於 Codestar 連線 ARN,請輸入ARN您在步驟 1 中建立的 AWS CodeStar 連線。

    • 範例程式碼切換開關可讓您選擇是否要在儲存庫中填入模型部署種子程式碼。在此示範中我們可以將其保留。

  9. 選擇建立專案

專案會顯示在專案清單中,其狀態已建立

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

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

變更程式碼
  1. 在您的模型構建 GitHub 存儲庫中,導航到該pipelines/abalone文件夾。按兩下 pipeline.py 以開啟程式碼檔案。

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

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

    開啟要編輯的檔案,變更 ml.m5.xlargeml.m5.large,然後遞交。

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

步驟 4:核准模型

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

核准模型版本
  1. 在「工作室經典版」側邊欄中,選擇「首頁」圖示 ( Black square icon representing a placeholder or empty image. )。

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

  3. 尋找您在第一步中建立的專案名稱,然後按兩下以開啟您的專案的專案索引標籤。

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

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

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

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

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

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

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

注意

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

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

  2. 選擇配,然後選擇名稱為 S ageemaker 的管線-projectname-projectid-模型部署,其中 projectname 是您的項目的名稱,並且 projectid 是您專案的 ID。

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

  4. 檢閱對話方塊中,選擇核准

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

步驟 6:清除資源

若要停止產生費用,清除在此演練中已建立的資源。

注意

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

  1. 在「工作室經典版」側邊欄中,選擇「首頁」圖示 ( Black square icon representing a placeholder or empty image. )。

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

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

  4. 選擇您的專案在主面板中查看其詳細資料。

  5. 動作功能表中,選擇刪除

  6. 刪除專案視窗中,選擇刪除來確認您的選擇。

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

  7. 刪除專案建立的 AWS CloudFormation 堆疊。有兩個堆疊,一個用於預備,一個用於生產。堆棧的名稱是下垂器-projectname-project-id-部署分期和下垂器-projectname-project-id-部署-產品,其中 projectname 是您的項目的名稱,並且 project-id 是您專案的 ID。

    如需有關如何刪除 AWS CloudFormation 堆疊的資訊,請參閱《使用指南》中的〈刪除 AWS CloudFormation 主控台上的堆疊AWS CloudFormation

  8. 刪除專案建立的 Amazon S3 儲存貯體。存儲桶的名稱是射手-項目-project-id,其中 project-id 是您專案的 ID。