

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

# 什么是 A SageMaker I 项目？
<a name="sagemaker-projects-whatis"></a>

SageMaker 项目可帮助组织为数据科学家建立和标准化开发人员环境，为 MLOps工程师 CI/CD 建立和标准化系统。Projects 还可帮助组织设置依赖关系管理、代码存储库管理、构建可重复性和构件共享。

您可以使用存储在 Amazon S3 存储桶中的自定义模板来配置 SageMaker 项目，也可以使用 AWS Service Catalog 或 SageMaker AI 中的模板来配置项目。有关 AWS 服务目录的信息，请参阅[什么是 AWS 服务目录](https://docs.aws.amazon.com/servicecatalog/latest/dg/what-is-service-catalog.html)。通过 Projects， SageMaker MLOps 工程师和组织管理员可以定义自己的模板或使用 SageMaker AI 提供的模板。 SageMaker 人工智能提供的模板通过源代码版本控制、自动机器学习管道和一组代码引导机器学习工作流程，以快速开始迭代机器学习用例。

## 什么时候应该使用 A SageMaker I 项目？
<a name="sagemaker-projects-when"></a>

**重要**  
自 2024 年 9 月 9 日起，不再支持使用 AWS CodeCommit 存储库的项目模板。对于新项目，可从使用第三方 Git 存储库的可用项目模板中进行选择。

虽然笔记本对模型构建和实验很有帮助，但共享代码的数据科学家和 ML 工程师团队需要一种更可扩展的方式来保持代码一致性和严格的版本控制。

每个组织都有自己的一套标准和实践，为其 AWS 环境提供安全和治理。 SageMaker AI 为想要快速开始使用机器学习工作流程和 CI/CD 的组织提供了一组第一方模板。这些模板包括使用 CI/CD AWS原生服务的项目，例如 AWS CodeBuild、 AWS CodePipeline和。 AWS CodeCommit这些模板还提供了创建使用第三方工具（例如 Jenkins 和 GitHub）的项目的选项。有关 A SageMaker I 提供的项目模板的列表，请参阅[使用 SageMaker AI 提供的项目模板](sagemaker-projects-templates-sm.md)。

Organizations 通常需要对其配置和管理的 MLOps 资源进行严格控制。此类责任承担某些任务，包括配置 IAM 角色和策略、强制执行资源标签、强制加密以及解耦多个账户中的资源。 SageMaker 项目可以通过自定义模板产品来支持所有这些任务，其中组织使用 CloudFormation 模板来定义机器学习工作流程所需的资源。数据科学家可以选择一个模板来引导和预配置他们的机器学习工作流。

首先，我们建议您创建自定义模板并将其存储在 Amazon S3 存储桶中。这样一来，您就可以在任何受支持的区域中为您的组织创建存储桶。S3 支持版本控制，因此您可以维护模板的多个版本并在必要时进行回滚。有关如何通过 Amazon S3 存储桶中的模板存储创建项目的信息，请参阅[使用 Amazon S3 存储桶中的模板](sagemaker-projects-templates-custom.md#sagemaker-projects-templates-s3)。

或者，您也可以将自定义模板创建为 Service Catalog 产品，也可以在**组织模板**下的 Studio 或 Studio Classic 用户界面中进行配置。Service Catalog 是一项服务，可帮助组织创建和管理获准在上 AWS使用的产品目录。有关创建自定义模板的更多信息，请参阅[构建自定义 SageMaker AI 项目模板-最佳实践](https://aws.amazon.com/blogs/machine-learning/build-custom-sagemaker-project-templates-best-practices/)。

虽然您可以使用任一选项，但我们建议您使用 S3 存储桶而不是 Service Catalog，这样您就可以在支持 SageMaker AI 的支持区域中创建存储桶，而无需管理服务目录的复杂性。

SageMaker 项目可以帮助您管理 Git 存储库，以便您可以更有效地跨团队协作、确保代码一致性并支持 CI/CD。 SageMaker 项目可以帮助您完成以下任务：
+ 将机器学习生命周期的所有实体整理到一个项目下。
+ 建立一键式方法，为采用最佳实践的模型训练和部署设置标准机器学习基础设施。
+ 为机器学习基础设施创建和共享模板，以处理多个使用案例。
+ 利用 SageMaker AI 提供的预建模板快速开始专注于模型构建，或者使用组织特定的资源和指南创建自定义模板。
+ 通过扩展项目模板，与您选择的工具集成。有关示例，请参阅[创建要与之集成的 SageMaker AI 项目 GitLab 和 GitLab管道](https://aws.amazon.com/blogs/machine-learning/build-mlops-workflows-with-amazon-sagemaker-projects-gitlab-and-gitlab-pipelines/)。
+ 将机器学习生命周期的所有实体整理到一个项目下。

## SageMaker 人工智能项目中有什么？
<a name="sagemaker-projects-within"></a>

客户可以灵活地使用最适合其使用案例的资源来设置项目。以下示例展示了机器学习工作流程的 MLOps 设置，包括模型训练和部署。

![\[\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/projects/projects-ml-workflow.png)


使用 SageMaker AI 提供的模板的典型项目可能包括以下内容：
+ 一个或多个存储库，其中包含用于构建和部署机器学习解决方案的示例代码。这些都是工作示例，您可以根据自己的需要进行修改。您拥有此代码，并可利用版本控制的存储库来完成任务。
+ 定义数据准备、训练、模型评估和模型部署步骤的 SageMaker AI 管道，如下图所示。  
![\[\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/projects/pipeline-in-project-simple.png)
+ 一个 CodePipeline 或 Jenkins 管道，每次签入新版本的代码时都会运行你的 SageMaker AI 管道。有关的信息 CodePipeline，请参阅[什么是 AWS CodePipeline。](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html)有关 Jenkins 的信息，请参阅 [Jenkins 用户文档](https://www.jenkins.io/doc/)。
+ 包含模型版本的模型组。每次批准 SageMaker AI 管道运行生成的模型版本时，都可以将其部署到 A SageMaker I 终端节点。

每个 SageMaker AI 项目都有唯一的名称和 ID，它们作为标签应用于项目中创建的所有 SageMaker AI 和 AWS 资源。通过名称和 ID，您可以查看与您的项目关联的所有实体。这些方法包括：
+ 管道
+ 注册的模型
+ 部署的模型（端点）
+ 数据集
+ Service Catalog 产品
+ CodePipeline 和 Jenkins 的管道
+ CodeCommit 和第三方 Git 存储库

## 我需要创建项目才能使用 SageMaker AI 管道吗？
<a name="sagemaker-projects-need"></a>

不是。 SageMaker 管道是独立的实体，就像训练作业、处理作业和其他 SageMaker AI 作业一样。您可以使用 SageMaker Python SDK 直接在笔记本中创建、更新和运行管道，而无需使用 A SageMaker I 项目。

项目提供了一个附加层，可帮助您整理代码并采用生产质量系统所需的操作最佳实践。