本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SageMaker使用第三方 Git 存储库的 mlops 项目攻略
本演练使用模板演示用于使用第三方 Git 存储库构建、训练和部署模型的 mlops 模板 CodePipeline如何使用 mLops 项目创建 CI/CD 系统来构建、训练和部署模型。
先决条件
要完成本演练,您需要:
-
用于登录 Studio 的 IAM 或 IAM 身份中心账户。有关信息,请参阅 加入亚马逊SageMaker域名。
-
使用SageMaker提供的项目模板的权限。有关信息,请参阅 SageMaker使用项目需要工作室权限。
-
基本熟悉 Studio 用户界面。有关信息,请参阅 亚马逊SageMaker工作室用户界面概述。
-
使用 README 初始化了两个GitHub存储库。您将这些存储库输入到项目模板中,该模板将为这些存储库提供模型构建和部署代码。
步骤 1:设置GitHub连接
在此步骤中,您将使用 AWS CodeStar 连接连接到您的GitHub存储库。该SageMaker项目使用此连接来访问您的源代码存储库。
要设置GitHub连接,请执行以下操作:
-
通过 https://console.aws.amazon.com/codepipeline/
登录CodePipeline控制台 -
在导航窗格的 “设置” 下,选择 “连接”。
-
选择 Create connection (创建连接)。
-
在 “选择提供商” 中,选择GitHub。
-
在连接名称中,输入一个名称。
-
选择 Connect to GitHub。
-
如果之前未安装 Amazon Connector GitHub 应用程序,请选择 “安装新应用程序”。
这将显示您有权访问的所有GitHub个人帐户和组织的列表。
-
选择要在其中建立连接以用于SageMaker项目和GitHub存储库的帐户。
-
选择 Configure(配置)。
-
您可以选择您的特定存储库或选择所有存储库。
-
选择保存。安装应用程序后,您将被重定向到 “连接到GitHub” 页面,安装 ID 会自动填充。
-
选择 Connect(连接)。
-
向此 Amazon CodeStar 连接添加带有密钥
sagemaker
和值true
的标签。 -
复制连接 ARN 以保存以供日后使用。在项目创建步骤中使用 ARN 作为参数。
步骤 2:创建项目
在此步骤中,您将使用SageMaker提供的项目模板来构建、训练和部署模型,从而创建 SageMaker mLops 项目。
创建 SageMaker mLops 项目
-
登录到 Studio。有关更多信息,请参阅加入亚马逊SageMaker域名:
-
在 Studio 侧栏中,选择主页图标 (
)。
-
从菜单中选择 “部署”,然后选择 “项目”。
-
请选择 Create project(创建项目)。
将出现 “创建项目” 选项卡。
-
对于SageMaker项目模板,请选择 mLOPS 模板以使用第三方 Git 存储库进行模型构建、训练和部署。
-
选择 “选择项目模板”。
-
在 “ModelBuildCodeRepository信息” 下,提供以下参数:
-
对于 URL,请以 https://git
-url .git 格式输入模型构建代码的 Git 存储库的网址
。 -
对于 Bran ch,输入要从 Git 存储库中用于管道活动的分支。
-
在 “完整存储库名称” 中,以
用户名/存储库名称或组织/存储库名称的格式输入 Git 存储库名称
。 -
对于 Codestar Connec tion ARN,输入您在步骤 1 中创建的 Amazon CodeStar 连接的 ARN。
-
示例代码切换开关允许您选择是否在存储库中填充模型构建种子代码。我们可以把它留到这个演示中去。
-
-
在 “ModelDeployCodeRepository信息” 下,提供以下参数:
-
对于 URL,请以 https://git
-url .git 格式输入模型部署代码的 Git 存储库的网址
。 -
对于 Bran ch,输入要从 Git 存储库中用于管道活动的分支。
-
在 “完整存储库名称” 中,以
用户名/存储库名称或组织/存储库名称的格式输入 Git 存储库名称
。 -
对于 Codestar Connec tion ARN,输入您在步骤 1 中创建的 Amazon CodeStar 连接的 ARN。
-
示例代码切换开关允许您选择是否在存储库中填充模型部署种子代码。我们可以把它留到这个演示中去。
-
-
选择 Create Project (创建项目)。
该项目出现在 “项目” 列表中,其状态为 “已创建”。
第 3 步:更改代码
现在,对构建模型的管道代码进行更改,然后提交更改以启动新的管道运行。流水线运行注册了新的模型版本。
更改代码
-
在模型构建GitHub存储库中,导航到该
pipelines/abalone
文件夹。双pipeline.py
击打开代码文件。 -
在
pipeline.py
文件中,找到设置训练实例类型的行。training_instance_type = ParameterString( name="TrainingInstanceType", default_value="ml.m5.xlarge"
打开文件进行编辑,更改为
ml.m5.xlarge
ml.m5.large
,然后提交。
在您提交代码更改后,mLops 系统会启动流水线的运行,从而创建新的模型版本。在下一步中,您将批准新的模型版本以将其部署到生产中。
步骤 4:批准模型
现在,您可以批准在上一步中创建的新模型版本,以启动将模型版本部署到SageMaker终端节点。
批准模型版本
-
在 Studio 侧栏中,选择主页图标 (
)。
-
从菜单中选择 “部署”,然后选择 “项目”。
-
找到您在第一步中创建的项目的名称,然后双击该名称以打开项目的项目选项卡。
-
在项目选项卡中,选择模型组,然后双击出现的模型组的名称。
出现 “模型组” 选项卡。
-
在模型组选项卡中,双击版本 1。版本 1 选项卡打开。选择 “更新状态”。
-
在模型更新模型版本状态对话框的状态下拉列表中,选择批准,然后选择更新状态。
批准模型版本会导致 mLops 系统将模型部署到测试阶段。要查看端点,请在项目选项卡上选择端点选项卡。
(可选)步骤 5:将模型版本部署到生产环境
现在,您可以将模型版本部署到生产环境。
注意
要完成此步骤,您需要成为 Studio 域的管理员。如果您不是管理员,请跳过此步骤。
将模型版本部署到生产环境
-
通过 https://console.aws.amazon.com/codepipeline/
登录CodePipeline控制台 -
选择 Pipelines,然后选择名为 s agemaker-projectname-p
roject
id
-modeldeploy 的管道,其中 projectnam
e 是你的项目名称,projectid
是你的项目的 ID。 -
在DeployStaging阶段中,选择 “查看”。
-
在 “审阅” 对话框中,选择 “批准”。
批准该DeployStaging阶段会导致 mLops 系统将模型部署到生产中。要查看终端节点,请在 Studio 的项目选项卡上选择 “端点” 选项卡。
步骤 6:清理资源
要停止产生费用,请清理本演练中创建的资源。
注意
要删除Amazon CloudFormation堆栈和 Amazon S3 存储桶,您需要成为 Studio 的管理员。如果您不是管理员,请要求您的管理员完成这些步骤。
-
在 Studio 侧栏中,选择主页图标 (
)。
-
从菜单中选择 “部署”,然后选择 “项目”。
-
从下拉列表中选择目标项目。如果您看不到您的项目,请键入项目名称并应用过滤器来查找您的项目。
选择您的项目以在主面板中查看其详细信息。
从 “操作” 菜单中选择 “删除”。
-
从 “删除项目” 窗口中选择 “删除” 以确认您的选择。
这将删除项目创建的服务目录预配置产品。这包括为项目创建的CodeCommitCodePipeline、和CodeBuild资源。
-
删除项目创建的Amazon CloudFormation堆栈。有两个堆栈,一个用于暂存,一个用于生产。
堆栈的名称是 s agemaker-projectn
ame-project
-id-deploy-staging 和 sagemaker-proj
ectname-project-id-deploy-prod,其中 projectname 是你的项目名称
,project-id 是你的
。项目
的 ID有关如何删除Amazon CloudFormation堆栈的信息,请参阅Amazon CloudFormation用户指南中的在Amazon CloudFormation控制台上删除堆栈。
-
删除项目创建的 Amazon S3 存储桶。存储桶的名称是 sagemaker-project-id,其中 p
roject-id 是您的
。项目
的 ID