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

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

What是一个 SageMaker 项目?

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

SageMaker 项目是一个Amazon Service Catalog— 预配置产品,您可以使用它创建端到端 ML 解决方案。有关 Amazon Service Catalog 的信息,请参阅什么是 Amazon Service Catalog

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

  • 管道执行

  • 已注册的模型

  • 部署的模型(端点)

  • 数据集

  • Amazon Service Catalog产品

  • Amazon CodePipeline管道和詹金斯管道

  • Amazon CodeCommit存储库和第三方 Git 存储库

使用 SageMaker 提供的模板的典型 SageMaker 项目可能包括以下内容。

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

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

  • 每次签入新版本的代码时,都会运行 SageMaker 管道的 CodePipeline 管道或詹金斯管道。有关 CodePipeline 的信息,请参阅是什么Amazon CodePipeline. 有关詹金斯的信息,请参阅。Jenkins 用户文档.

  • 包含模型版本的模型组。每次 SageMaker 管道运行并且生成的模型版本在条件验证步骤中被接受时,一个新的模型版本将部署到 SageMaker 终端节点。

什么时候应该使用 SageMaker 项目?

虽然笔记本电脑对于模型构建和实验非常有帮助,但当您有一个数据科学家和 ML 工程师团队处理 ML 问题时,您需要一种更具可扩展性的方式来维护代码一致性并实现更严格的版本控制。仅在笔记本文件中使用代码会使协作变得更加困难,如果笔记本被意外删除或更改,则可能会丢失代码或模型工件。通过使用 SageMaker 项目,您可以管理 Git 存储库的版本,以便更高效地跨团队协作,确保代码一致性,并启用 CI/CD。

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

我是否需要创建一个项目才能使用 SageMaker 管道?

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

项目提供了一个额外的层来帮助您组织代码并采用生产质量系统所需的最佳操作实践。