使用第三方 Git 存储库浏览 SageMaker MLOps项目 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用第三方 Git 存储库浏览 SageMaker MLOps项目

重要

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

本演练使用模板演示MLOps使用第三方 Git 存储库进行模型构建、训练和部署的模板 CodePipeline如何使用MLOps项目创建 CI/CD 系统来构建、训练和部署模型。

先决条件

要完成本演练,您需要:

步骤 1:设置 GitHub连接

在此步骤中,您将使用连接连接到您的 GitHub 存储库。AWS CodeStar该 SageMaker 项目使用此连接来访问您的源代码存储库。

要设置 GitHub 连接,请执行以下操作:
  1. 登录 CodePipeline 控制台,网址为 https://console.aws.amazon.com/codepipeline/

  2. 在导航窗格的设置下,选择连接

  3. 选择创建连接

  4. 在 “选择提供商” 中,选择GitHub

  5. 对于名称,请输入一个名称。

  6. 选择 “连接到” GitHub

  7. 如果之前未安装过 Amazon Connector GitHub 应用程序,请选择 “安装新应用程序”。

    这将显示您有权访问的所有 GitHub 个人帐户和组织的列表。

  8. 选择要在其中建立连接以用于 SageMaker 项目和 GitHub 存储库的帐户。

  9. 选择配置

  10. 您可以选择特定存储库,也可以选择所有存储库

  11. 选择保存。安装应用程序后,您将被重定向到 “Connect t GitHub o” 页面,并且会自动填充安装 ID。

  12. 选择连接

  13. 向此 AWS CodeStar 连接添加包含密钥sagemaker和值true的标签。

  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 项目模板,请选择使用第三方 Git 存储库进行模型构建、训练和部署的MLOps模板

  6. 选择选择项目模板

  7. 在 “ModelBuild CodeRepository 信息” 下,提供以下参数:

    • 对于 URL,请在 URL https://中输入模型构建代码的 Git 存储库git-url.git 格式。

    • 对于分支,请输入 Git 存储库中要用于管道活动的分支。

    • 在 “完整存储库名称” 中,输入 Git 存储库名称,格式为 username/repository name 或者 organization/repository name.

    • 对于 Codestar Con nectionARN,请输入您在步骤 1 中创建的 AWS CodeStar 连接的。ARN

    • 通过示例代码切换开关,您可以选择是否在存储库中填充模型构建种子代码。在此演示中,我们可以将其保持打开状态。

  8. 在 “ModelDeploy CodeRepository 信息” 下,提供以下参数:

    • 对于 URL,请在 URL https://中输入模型部署代码的 Git 存储库git-url.git 格式。

    • 对于分支,请输入 Git 存储库中要用于管道活动的分支。

    • 在 “完整存储库名称” 中,输入 Git 存储库名称,格式为 username/repository name 或者 organization/repository name.

    • 对于 Codestar Con nectionARN,请输入您在步骤 1 中创建的 AWS CodeStar 连接的。ARN

    • 通过示例代码切换开关,您可以选择是否在存储库中填充模型部署种子代码。在此演示中,我们可以将其保持打开状态。

  9. 选择创建项目

该项目将显示在项目列表中,状态已创建

第 3 步:修改代码

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

更改代码
  1. 在您的模型构建 GitHub 存储库中,导航到该pipelines/abalone文件夹。双击 pipeline.py 打开代码文件。

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

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

    打开文件进行编辑,将 ml.m5.xlarge 更改为 ml.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. 选择 Pipelin es,然后选择名为 sagemaker-的管道projectname-projectid-modeleploy,其中 projectname 是您的项目的名称,并且 projectid 是您的项目的 ID。

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

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

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

步骤 6:清理资源

要停止产生费用,应清理本演练中已创建的资源。

注意

要删除 Amazon 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. 删除项目创建的 Amazon CloudFormation 堆栈。有两个堆栈,一个用于暂存,一个用于生产。堆栈的名字是 sagemaker-projectname-project-id-部署暂存和 sagemaker-projectname-project-id-deploy-prod,在哪里 projectname 是您的项目的名称,并且 project-id 是您的项目的 ID。

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

  8. 删除项目创建的 Amazon S3 存储桶。存储桶的名字是 sagemaker-project-project-id,哪里 project-id 是您的项目的 ID。