

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

# 使用第三方 Git 存储库浏览 SageMaker 人工智能 MLOps 项目
<a name="sagemaker-projects-walkthrough-3rdgit"></a>

**重要**  
截至 2023 年 11 月 30 日，之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新的 Studio 体验的信息，请参阅 [亚马逊 SageMaker Studio](studio-updated.md)。  
Studio Classic 仍针对现有工作负载进行维护，但不再可供入门使用。您只能停止或删除现有的 Studio Classic 应用程序，不能创建新的应用程序。我们建议您将[工作负载迁移到全新 Studio 体验](studio-updated-migrate.md)。

本演练使用模板演示[MLOps 使用第三方 Git 进行模型构建、训练和部署的模板 CodePipeline](sagemaker-projects-templates-sm.md#sagemaker-projects-templates-git-code-pipeline)如何使用 MLOps 项目来创建用于构建、训练和部署模型的 CI/CD 系统。

**先决条件**

要完成本演练，您需要：
+ 登录 Studio Classic 的 IAM 或 IAM Identity Center 账户。有关信息，请参阅[亚马逊 SageMaker AI 域名概述](gs-studio-onboard.md)。
+ 允许使用 SageMaker AI 提供的项目模板。有关信息，请参阅[授予使用项目所需的 SageMaker Studio 权限](sagemaker-projects-studio-updates.md)。
+ 基本熟悉 Studio Classic 用户界面。有关信息，请参阅[亚马逊 SageMaker Studio 经典用户界面概述](studio-ui.md)。
+ 两个空 GitHub 存储库。您将这些存储库输入到项目模板中，该模板将为这些存储库提供模型构建和部署代码。

**Topics**
+ [步骤 1：设置 GitHub 连接](#sagemaker-proejcts-walkthrough-connect-3rdgit)
+ [步骤 2：创建项目](#sagemaker-proejcts-walkthrough-create-3rdgit)
+ [第 3 步：修改代码](#sagemaker-projects-walkthrough-change-3rdgit)
+ [步骤 4：批准模型](#sagemaker-proejcts-walkthrough-approve-3rdgit)
+ [（可选）步骤 5：将模型版本部署到生产环境](#sagemaker-projects-walkthrough-prod-3rdgit)
+ [步骤 6：清理资源](#sagemaker-projectcts-walkthrough-cleanup-3rdgit)

## 步骤 1：设置 GitHub 连接
<a name="sagemaker-proejcts-walkthrough-connect-3rdgit"></a>

[在此步骤中，您将使用连接连接到您的 GitHub 存储库。Amazon CodeConnections](https://docs.amazonaws.cn/dtconsole/latest/userguide/welcome-connections.html)A SageMaker I 项目使用此连接来访问您的源代码存储库。

**要设置 GitHub 连接，请执行以下操作：**

1. 登录 CodePipeline 控制台，网址为 [https://console.aws.amazon.com/codepipeline/](https://console.amazonaws.cn/codepipeline/)

1. 在导航窗格的**设置**下，选择**连接**。

1. 选择**创建连接**。

1. **在 “选择提供商**” 中，选择**GitHub**。

1. 对于**名称**，请输入一个名称。

1. 选择 “**连接到” GitHub**。

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

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

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

1. 选择**配置**。

1. 您可以选择特定存储库，也可以选择**所有存储库**。

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

1. 选择**连接**。

1. 向此 CodeConnections 连接添加包含密钥`sagemaker`和值`true`的标签。

1. 复制连接 ARN 进行保存以备后用。在项目创建步骤中使用 ARN 作为参数。

## 步骤 2：创建项目
<a name="sagemaker-proejcts-walkthrough-create-3rdgit"></a>

在此步骤中，您将使用 A SageMaker SageMaker I 提供的 MLOps 项目模板创建、训练和部署模型，从而创建 AI 项目。

**创建 A SageMaker I MLOps 项目**

1. 登录 Studio。有关更多信息，请参阅 [亚马逊 SageMaker AI 域名概述](gs-studio-onboard.md)。

1. 在 Studio 侧边栏中，选择**主页**图标 (![\[Black square icon representing a placeholder or empty image.\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/studio/icons/house.png))。

1. 从菜单中选择**部署**，然后选择**项目**。

1. 选择**创建项目**。

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

1. 对于 **SageMaker AI 项目模板**，请选择**使用第三方 Git 存储库进行模型构建、训练和部署 CodePipeline**。

1. 选择**下一步**。

1. 在 “**ModelBuild CodeRepository 信息”** 下，提供以下参数：
   + 对于**分支**，请输入 Git 存储库中要用于管道活动的分支。
   + 在 “**完整存储库名称**” 中，以*username/repository name*或的格式输入 Git 存储库名称*organization/repository name*。
   + 对于**代码连接 ARN**，请输入您在步骤 1 中创建的 CodeConnections 连接的 ARN。

1. 在 “**ModelDeploy CodeRepository 信息”** 下，提供以下参数：
   + 对于**分支**，请输入 Git 存储库中要用于管道活动的分支。
   + 在 “**完整存储库名称**” 中，以*username/repository name*或的格式输入 Git 存储库名称*organization/repository name*。
   + 对于**代码连接 ARN**，请输入您在步骤 1 中创建的 CodeConnections 连接的 ARN。

1. 选择**创建项目**。

该项目将显示在**项目**列表中，**状态**为**已创建**。

## 第 3 步：修改代码
<a name="sagemaker-projects-walkthrough-change-3rdgit"></a>

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

**更改代码**

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

1. 在 `pipeline.py` 文件中，找到设置训练实例类型的行。

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

   打开文件进行编辑，将 `ml.m5.xlarge` 更改为 `ml.m5.large`，然后提交。

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

## 步骤 4：批准模型
<a name="sagemaker-proejcts-walkthrough-approve-3rdgit"></a>

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

**批准模型版本**

1. 在 Studio Classic 侧边栏中，选择**主页**图标 (![\[Black square icon representing a placeholder or empty image.\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/studio/icons/house.png))。

1. 从菜单中选择**部署**，然后选择**项目**。

1. 找到您在第一步中创建的项目的名称，然后双击该名称以打开项目的项目选项卡。

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

   随即显示模型组选项卡。

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

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

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

## （可选）步骤 5：将模型版本部署到生产环境
<a name="sagemaker-projects-walkthrough-prod-3rdgit"></a>

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

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

**将模型版本部署到生产环境**

1. 登录 CodePipeline 控制台，网址为 [https://console.aws.amazon.com/codepipeline/](https://console.amazonaws.cn/codepipeline/)

1. 选择 Pipelin **es**，然后选择名为 **sagemaker-*projectname*-*projectid*-modeldeploy** 的管道，其中*projectname*是你的项目名称，*projectid*也是你的项目的 ID。

1. 在**DeployStaging**舞台中，选择 “**查看**”。

1. 在**审核**对话框中，选择**批准**。

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

## 步骤 6：清理资源
<a name="sagemaker-projectcts-walkthrough-cleanup-3rdgit"></a>

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

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

1. 在 Studio Classic 侧边栏中，选择**主页**图标 (![\[Black square icon representing a placeholder or empty image.\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/studio/icons/house.png))。

1. 从菜单中选择**部署**，然后选择**项目**。

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

1. 选择项目以在主面板中查看其详细信息。

1. 从**操作**菜单中选择**删除**。

1. 从**删除项目**窗口中选择**删除**，确认您的选择。

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

1. 删除项目创建的 Amazon CloudFormation 堆栈。有两个堆栈，一个用于暂存，一个用于生产。堆栈的名称是 **sagemaker—— deplo *project-id* y *projectname*-stag** ing 和 **sagemaker—— deplo *project-id* y *projectname*-prod**，其中*projectname*是你的项目名称，也是你的项目的 ID。*project-id*

   有关如何删除 Amazon CloudFormation 堆栈的信息，请参阅《*Amazon CloudFormation 用户指南》*中的[在 Amazon CloudFormation 控制台上删除堆](https://docs.amazonaws.cn/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html)栈。

1. 删除项目创建的 Amazon S3 存储桶。存储桶的名称是 **sagemaker-project-*project-id*，其中*project-id*是你的项目**的 ID。