使用第三方 Git Repos 的 Walk Though a SageMaker MLOps Project - Amazon SageMaker

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

使用第三方 Git Repos 的 Walk Though a SageMaker MLOps Project

重要

截至 2023 年 11 月 30 日,先前的 Amazon SageMaker Studio 體驗現在已命名為 Amazon SageMaker Studio Classic。以下章節是使用 Studio Classic 應用程式的特定部分。如需有關使用更新 Studio 體驗的資訊,請參閱 Amazon SageMaker Studio

此演練使用 範本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. 選擇連線至 GitHub

  7. 如果先前未安裝 AWS Connector GitHub 應用程式,請選擇安裝新的應用程式

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

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

  9. 選擇設定

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

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

  12. 選擇連線

  13. 將具有金鑰sagemaker和值的標籤true新增至此 AWS CodeStar 連線。

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

步驟 2:建立專案

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

建立 SageMaker MLOps專案
  1. 登入 Studio Classic。如需詳細資訊,請參閱Amazon SageMaker 網域概觀

  2. 在 Studio Classic 側邊欄中,選擇首頁圖示 ( Black square icon representing a placeholder or empty image. )。

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

  4. 選擇建立專案

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

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

  6. 選擇選取專案範本

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

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

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

    • 對於完整儲存庫名稱 ,以 的格式輸入 Git 儲存庫名稱 username/repository nameorganization/repository name.

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

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

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

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

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

    • 對於完整儲存庫名稱 ,以 的格式輸入 Git 儲存庫名稱 username/repository nameorganization/repository name.

    • 對於 Codestar Connection ARN,輸入您在步驟 1 中建立ARN的 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. 在 Studio Classic 側邊欄中,選擇首頁圖示 ( Black square icon representing a placeholder or empty image. )。

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

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

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

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

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

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

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

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

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

注意

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

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

  2. 選擇管道 ,然後選擇具有名稱 sagemaker- 的管道projectname-projectid- 模型部署 ,其中 projectname 是專案的名稱,以及 projectid 是專案的 ID。

  3. DeployStaging 階段中,選擇檢閱

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

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

步驟 6:清除資源

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

注意

若要刪除 AWS CloudFormation 堆疊和 Amazon S3 儲存貯體,您需要是 Studio Classic 中的管理員。如果您不是管理員,請要求管理員完成這些步驟。

  1. 在 Studio Classic 側邊欄中,選擇首頁圖示 ( Black square icon representing a placeholder or empty image. )。

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

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

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

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

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

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

  7. 刪除專案建立的 AWS CloudFormation 堆疊。有兩個堆疊,一個用於預備,一個用於生產。堆疊的名稱是 Sagemaker-projectname-project-id-deploy-staging and sagemaker-projectname-project-id-deploy-prod ,其中 projectname 是專案的名稱,以及 project-id 是專案的 ID。

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

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