什么是SageMaker项目? - Amazon SageMaker
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

什么是SageMaker项目?

通过使用SageMaker项目,数据科学家和开发人员团队可以处理机器学习业务问题。您可以使用SageMaker提供的 MLOPs模板创建SageMaker项目,该模板使用持续集成和持续交付 (CI/CD) 来自动构建和部署模型管道。SageMaker 提供的模板根据您选择的模板,预配置完整的端到端 MLOps 系统(包括模型构建、训练和部署)所需的初始设置。您还可以提供自己的自定义模板来预置 MLOps 系统所需的资源。

SageMaker 项目是一种 AWS Service Catalog 预配置产品,可让您轻松创建端到端 ML 解决方案。有关 的信息AWS Service Catalog,请参阅什么是 AWS Service Catalog

每个SageMaker项目都有一个唯一的名称和 ID,将传递给项目中创建的所有 SageMaker 和 AWS 资源。通过使用 名称和 ID,您可以查看与您的项目关联的所有实体。包括:

  • 管道执行

  • 已注册的模型

  • 部署的模型(终端节点)

  • 数据集

  • AWS 服务目录产品

  • AWS CodePipeline 管道

  • AWS CodeCommit 存储库

具有 CICD 模板的典型SageMaker项目可能包括以下内容。

  • 一个或多个 CodeCommit 存储库,其中包含用于构建和部署 ML 解决方案的示例代码。这些是可本地克隆以探索 提供的代码SageMaker并根据您的需求进行修改的有效示例。您拥有此代码,并且可以使用存储库作为工作的版本控制。

  • 定义数据准备、训练、模型评估和模型部署步骤的SageMaker管道。

  • 每次签入新版本的代码时CodePipeline运行SageMaker管道的 。有关 的信息CodePipeline,请参阅什么是 AWS CodePipeline

  • 包含模型版本的模型组。每次SageMaker管道运行,如果在条件验证步骤中接受生成的模型版本,则会将新的模型版本部署到 SageMaker 终端节点。

什么时候应使用SageMaker项目?

尽管笔记本对于模型构建和实验很有用,但当您有数据科学家和/或机器学习工程师团队在处理 ML 问题时,您需要一种更可扩展的方式来保持代码一致性并具有更严格的版本控制。如果仅在笔记本文件中使用代码,则难于协作,并且可能会丢失代码或模型构件 (如果意外删除或更改笔记本)。通过使用 SageMaker 项目,您可以管理 Git 存储库的版本,以便您可以更高效地在团队之间协作、确保代码一致性并启用 CI/CD。

除了管理代码之外, SageMaker 项目还为模型构建、模型部署和端到端 ML 工作流启用 MLOps。您可以运行训练作业或SageMaker管道以在 SageMaker Studio 中构建模型。但是,如果您希望创建基于触发器生成模型的 CI/CD 系统(例如,当有人签入代码更改时),请考虑创建SageMaker项目并使用SageMaker提供的模板。有关 提供的项目模板的列表SageMaker,请参阅使用SageMaker提供的项目模板

我是否需要创建项目以使用SageMaker管道?

否SageMaker。管道是独立实体,就像 中的训练作业、处理作业和其他SageMaker作业一样SageMaker。您可以使用 SageMaker Python 开发工具包直接在笔记本中创建、更新和运行管道,而无需使用SageMaker项目。

项目提供了一个额外的层,以帮助您整理代码和采用生产质量系统所需的操作最佳实践。