本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SageMaker MLOps项目演练
重要
截至 2023 年 11 月 30 日,之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新后的 Studio 体验的信息,请参阅亚马逊 SageMaker Studio。
本演练使用模板演示MLOps用于模型构建、训练和部署的模板如何使用MLOps项目创建 CI/CD 系统来构建、训练和部署模型。
先决条件
要完成本演练,您需要:
-
用于登录 Studio Classic 的IAM账户或IAM身份中心。有关信息,请参阅Amazon SageMaker 域名概述。
-
允许使用 SageMaker提供的项目模板。有关信息,请参阅SageMaker 使用项目所需的 Studio 权限。
-
基本熟悉 Studio Classic 用户界面。有关信息,请参阅亚马逊 SageMaker Studio 经典用户界面概述。
步骤 1:创建项目
在此步骤中,您将使用 SageMaker提供的 SageMaker MLOps项目模板来构建、训练和部署模型,从而创建项目。
创建 SageMaker MLOps项目
-
登录 Studio Classic 有关更多信息,请参阅 Amazon SageMaker 域名概述。
-
在 Studio Classic 侧栏中,选择 “主页” 图标 ( )。
-
从菜单中选择部署,然后选择项目。
-
选择创建项目。
此时将显示创建项目选项卡。
-
如果尚未选择,请选择SageMaker 模板,然后选择用于模型构建、训练和部署的MLOps模板。
-
有关项目详细信息,请输入项目名称和描述。
当项目显示在项目列表中且状态为创建已完成时,请继续下一步。
重要
自 2022 年 7 月 25 日起,我们需要其他角色才能使用项目模板。如果你看到错误消息未授权对角色 arn: aw CodePipeline s: iam:: xxx: role/service-role/service-role/ 执行 AssumeRole AmazonSageMakerServiceCatalogProductsCodePipelineRole,请参阅的步骤 5-6,了解所需角色的完整列表以及如何创建这些角色SageMaker 使用项目所需的 Studio 权限的说明。
步骤 2:克隆代码存储库
创建项目后,将在项目中创建两个 CodeCommit 存储库。其中一个存储库包含用于构建和训练模型的代码,另一个存储库包含用于部署模型的代码。在此步骤中,您将存储库克隆到包含要构建的代码的本地 SageMaker项目,并将模型训练到本地 Studio Classic 环境中,这样您就可以使用代码了。
克隆代码存储库
-
在 Studio Classic 侧栏中,选择 “主页” 图标 ( )。
-
从菜单中选择部署,然后选择项目。
-
选择您在上一步中创建的项目,打开项目的项目选项卡。
-
在项目选项卡中,选择存储库,然后在以 modelbuild 结尾的存储库的本地路径列中,选择克隆存储库...。
-
在随后显示的对话框中,接受默认设置,然后选择克隆存储库。
克隆存储库完成后,本地路径将显示在本地路径列中。在 Studio Classic 中选择打开包含存储库代码的本地文件夹的路径。
第 3 步:修改代码
现在,对构建模型的管道代码进行更改,并签入该更改以启动新的管道运行。管道运行注册了一个新的模型版本。
更改代码
-
在 Studio Classic 中,选择文件浏览器图标 ( ),然后导航到
pipelines/abalone
文件夹。双击pipeline.py
打开代码文件。 -
在
pipeline.py
文件中,找到设置训练实例类型的行。training_instance_type = ParameterString( name="TrainingInstanceType", default_value="ml.m5.xlarge"
将
ml.m5.xlarge
更改为ml.m5.large
,然后键入Ctrl+S
以保存更改。 -
选择 Git 图标 ( )。在
pipeline.py
中暂存、提交和推送更改。此外,在摘要字段中输入摘要,在描述字段中输入可选描述。有关在 Studio 经典版中使用 Git 的信息,请参阅在 SageMaker Studio 经典版中克隆 Git 存储库。
推送您的代码更改后,MLOps系统会启动创建新模型版本的管道运行。在下一步,您将批准新模型版本以将其部署到生产环境。
步骤 4:批准模型
现在,您可以批准在上一步中创建的新模型版本,以启动将模型版本部署到 SageMaker 终端节点。
批准模型版本
-
在 Studio Classic 侧栏中,选择 “主页” 图标 ( )。
-
从菜单中选择部署,然后选择项目。
-
选择第一步创建的项目名称,打开项目的项目选项卡。
-
在项目选项卡中,选择模型组,然后双击出现的模型组的名称。
随即显示模型组选项卡。
-
在模型组选项卡中,双击版本 1。随即打开版本 1 选项卡。选择更新状态。
-
在模型更新模型版本状态对话框的状态下拉列表中,选择批准,然后选择更新状态。
批准模型版本会导致MLOps系统将模型部署到暂存阶段。要查看端点,请在项目选项卡上选择端点选项卡。
(可选)步骤 5:将模型版本部署到生产环境
现在,您可以将模型版本部署到生产环境。
注意
要完成此步骤,您需要成为 Studio Classic 域的管理员。如果您不是管理员,请跳过此步骤。
将模型版本部署到生产环境
-
登录 CodePipeline 控制台,网址为 https://console.aws.amazon.com/codepipeline/
-
选择 Pipelin es,然后选择名为 sagemaker-的管道
projectname
-projectid
-modeleploy,其中projectname
是您的项目的名称,并且projectid
是您的项目的 ID。 -
在DeployStaging舞台中,选择 “查看”。
-
在审核对话框中,选择批准。
批准该DeployStaging阶段会导致MLOps系统将模型部署到生产中。要查看端点,请在 Studio Classic 的项目选项卡上选择 “端点” 选项卡。
步骤 6:清理资源
要停止产生费用,应清理本演练中已创建的资源。为此,请完成以下步骤。
注意
要删除 AWS CloudFormation 堆栈和 Amazon S3 存储桶,您需要成为 Studio Classic 中的管理员。如果您不是管理员,请让您的管理员完成这些步骤。
-
在 Studio Classic 侧栏中,选择 “主页” 图标 ( )。
-
从菜单中选择部署,然后选择项目。
-
从下拉列表中选择目标项目。如果未看到您的项目,请键入项目名称并应用筛选条件来查找项目。
-
您可以通过以下方式之一删除 Studio Classic 项目:
-
您可以从项目列表中删除该项目。
右键单击目标项目,然后从下拉列表中选择删除。
注意
Studio Classic 版本 3.17.1 或更高版本支持此功能。有关更多信息,请参阅 关闭并更新 SageMaker Studio 经典版。
-
您可以从项目详细信息部分删除项目。
-
找到项目后,双击该项目即可在主面板中查看其详细信息。
-
从操作菜单中选择删除。
-
-
-
从删除项目窗口中选择删除,确认您的选择。
这将删除项目创建的 Service Catalog 预置产品。这包括为项目创建的 CodeCommit CodePipeline、和 CodeBuild 资源。
-
删除项目创建的 AWS CloudFormation 堆栈。有两个堆栈,一个用于暂存,一个用于生产。堆栈的名字是 sagemaker-
projectname
-project-id
-部署暂存和 sagemaker-projectname
-project-id
-deploy-prod,在哪里projectname
是您的项目的名称,并且project-id
是您的项目的 ID。有关如何删除 AWS CloudFormation 堆栈的信息,请参阅《AWS CloudFormation 用户指南》中的在 AWS CloudFormation 控制台上删除堆栈。
-
删除项目创建的 Amazon S3 存储桶。存储桶的名字是 sagemaker-project-
project-id
,哪里project-id
是您的项目的 ID。