SageMaker MLOpS 项目演练 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

SageMaker MLOpS 项目演练

重要

截至 2023 年 11 月 30 日,之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新后的 Studio 体验的信息,请参阅亚马逊 SageMaker Studio

本演练使用模板用于模型构建、训练和部署的 MLOps 模板演示如何使用 MLOps 项目创建 CI/CD 系统来构建、训练和部署模型。

先决条件

要完成本演练,您需要:

步骤 1:创建项目

在此步骤中,您将使用 SageMaker提供的项目模板创建 SageMaker MLOps 项目来构建、训练和部署模型。

创建 SageMaker mLOps 项目
  1. 登录 Studio Classic 有关更多信息,请参阅 Amazon SageMaker 域名概述

  2. 在 Studio Classic 侧栏中,选择 “主页” 图标 ( )。

  3. 从菜单中选择部署,然后选择项目

  4. 选择创建项目

    此时将显示创建项目选项卡。

  5. 如果尚未选择,请选择SageMaker 模板,然后选择用于模型构建、训练和部署的 mLOps 模板

  6. 有关项目详细信息,请输入项目名称和描述。

当项目显示在项目列表中且状态创建已完成时,请继续下一步。

重要

自 2022 年 7 月 25 日起,我们需要其他角色才能使用项目模板。如果你看到错误消息未授权对角色 arn: aws: CodePipeline iam:: xxx: role/service-role/Role 执行 AssumeRole ,请参阅的步骤 5-6,了解所需角色AmazonSageMakerServiceCatalogProductsCodePipeline的完整列表以及如何创建这些角色SageMaker 使用项目所需的 Studio 权限的说明。

步骤 2:克隆代码存储库

创建项目后,将在项目中创建两个 CodeCommit 存储库。其中一个存储库包含用于构建和训练模型的代码,另一个存储库包含用于部署模型的代码。在此步骤中,您将存储库克隆到包含要构建的代码的本地 SageMaker项目,并将模型训练到本地 Studio Classic 环境中,这样您就可以使用代码了。

克隆代码存储库
  1. 在 Studio Classic 侧栏中,选择 “主页” 图标 ( )。

  2. 从菜单中选择部署,然后选择项目

  3. 选择您在上一步中创建的项目,打开项目的项目选项卡。

  4. 在项目选项卡中,选择存储库,然后在以 modelbuild 结尾的存储库的本地路径列中,选择克隆存储库...

  5. 在随后显示的对话框中,接受默认设置,然后选择克隆存储库

    用于克隆存储库的对话框。

    克隆存储库完成后,本地路径将显示在本地路径列中。在 Studio Classic 中选择打开包含存储库代码的本地文件夹的路径。

第 3 步:修改代码

现在,对构建模型的管道代码进行更改,并签入该更改以启动新的管道运行。管道运行注册了一个新的模型版本。

更改代码
  1. 在 Studio Classic 中,选择文件浏览器图标 ( ),然后导航到pipelines/abalone文件夹。双击 pipeline.py 打开代码文件。

  2. pipeline.py 文件中,找到设置训练实例类型的行。

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

    ml.m5.xlarge 更改为 ml.m5.large,然后键入 Ctrl+S 以保存更改。

  3. 选择 Git 图标 ( )。在 pipeline.py 中暂存、提交和推送更改。此外,在摘要字段中输入摘要,在描述字段中输入可选描述。有关在 Studio 经典版中使用 Git 的信息,请参阅在 SageMaker Studio 经典版中克隆 Git 存储库

    显示如何在 Git 中提交暂存文件的屏幕截图。

推送代码更改后,MLOps 系统会启动管道运行以创建新的模型版本。在下一步,您将批准新模型版本以将其部署到生产环境。

步骤 4:批准模型

现在,您可以批准在上一步中创建的新模型版本,以启动将模型版本部署到 SageMaker 终端节点。

批准模型版本
  1. 在 Studio Classic 侧栏中,选择 “主页” 图标 ( )。

  2. 从菜单中选择部署,然后选择项目

  3. 选择第一步创建的项目名称,打开项目的项目选项卡。

  4. 在项目选项卡中,选择模型组,然后双击出现的模型组的名称。

    随即显示模型组选项卡。

  5. 在模型组选项卡中,双击版本 1。随即打开版本 1 选项卡。选择更新状态

  6. 在模型更新模型版本状态对话框的状态下拉列表中,选择批准,然后选择更新状态

    批准模型版本会导致 MLOps 系统将模型部署到暂存阶段。要查看端点,请在项目选项卡上选择端点选项卡。

(可选)步骤 5:将模型版本部署到生产环境

现在,您可以将模型版本部署到生产环境。

注意

要完成此步骤,您需要成为 Studio Classic 域的管理员。如果您不是管理员,请跳过此步骤。

将模型版本部署到生产环境
  1. 登录 CodePipeline 控制台,网址为 https://console.aws.amazon.com/codepipeline/

  2. 选择管道,然后选择名为 sagemaker-projectname-projectid-modeldeploy 的管道,其中 projectname 是项目名称,projectid 是项目 ID。

  3. DeployStaging舞台中,选择 “查看”。

  4. 审核对话框中,选择批准

    批准该DeployStaging阶段会导致 MLOPS 系统将模型部署到生产中。要查看端点,请在 Studio Classic 的项目选项卡上选择 “端点” 选项卡。

步骤 6:清理资源

要停止产生费用,应清理本演练中已创建的资源。为此,请完成以下步骤。

注意

要删除 Amazon CloudFormation 堆栈和 Amazon S3 存储桶,您需要成为 Studio Classic 中的管理员。如果您不是管理员,请让您的管理员完成这些步骤。

  1. 在 Studio Classic 侧栏中,选择 “主页” 图标 ( )。

  2. 从菜单中选择部署,然后选择项目

  3. 从下拉列表中选择目标项目。如果未看到您的项目,请键入项目名称并应用筛选条件来查找项目。

  4. 您可以通过以下方式之一删除 Studio Classic 项目:
    1. 您可以从项目列表中删除该项目。

      右键单击目标项目,然后从下拉列表中选择删除

      注意

      Studio Classic 版本 3.17.1 或更高版本支持此功能。有关更多信息,请参阅 关闭并更新 SageMaker Studio 经典版

    2. 您可以从项目详细信息部分删除项目。
      1. 找到项目后,双击该项目即可在主面板中查看其详细信息。

      2. 操作菜单中选择删除

  5. 删除项目窗口中选择删除,确认您的选择。

    这将删除项目创建的 Service Catalog 预置产品。这包括为项目创建的 CodeCommit CodePipeline、和 CodeBuild 资源。

  6. 删除项目创建的 Amazon CloudFormation 堆栈。有两个堆栈,一个用于暂存,一个用于生产。堆栈的名称分别为 sagemaker-projectname-project-id-deploy-stagingsagemaker-projectname-project-id-deploy-prod,其中 projectname 是项目名称,project-id 是项目 ID。

    有关如何删除 Amazon CloudFormation 堆栈的信息,请参阅《Amazon CloudFormation 用户指南》中的在 Amazon CloudFormation 控制台上删除堆栈。

  7. 删除项目创建的 Amazon S3 存储桶。存储桶的名称为 sagemaker-project-project-id,其中 project-id 是项目 ID。