SageMaker AI 项目中有哪些内容?
SageMaker 项目可帮助组织为数据科学家建立和标准化开发人员环境,为 MLOps 工程师建立和标准化 CI/CD 系统。Projects 还可帮助组织设置依赖关系管理、代码存储库管理、构建可重复性和构件共享。
您可以使用自定义模板或 SageMaker AI 提供的模板从 Amazon Service Catalog 预调配 SageMaker 项目。有关 Amazon Service Catalog 的信息,请参阅什么是 Amazon Service Catalog。借助 SageMaker 项目,MLOps 工程师和组织管理员可以定义其自己的模板,也可以使用 SageMaker AI 提供的模板。SageMaker AI 提供的模板通过源代码版本控制、自动化机器学习管道和一组代码来引导机器学习工作流,从而快速开始迭代机器学习使用案例。
什么时候应使用 SageMaker AI 项目?
重要
自 2024 年 9 月 9 日起,使用 Amazon CodeCommit 存储库的项目模板将不再受支持。对于新项目,可从使用第三方 Git 存储库的可用项目模板中进行选择。
虽然笔记本对模型构建和实验很有帮助,但共享代码的数据科学家和 ML 工程师团队需要一种更可扩展的方式来保持代码一致性和严格的版本控制。
每个组织都有自己的一套标准和实践,为其 Amazon 环境提供安全和治理。SageMaker AI 为想要快速开始使用机器学习工作流和 CI/CD 的组织提供了一组第一方模板。这些模板包括使用 Amazon 原生服务进行 CI/CD 的项目,如 Amazon CodeBuild、Amazon CodePipeline 和 Amazon CodeCommit。这些模板还提供了创建使用第三方工具(如 Jenkins 和 GitHub)的项目的选项。有关 SageMaker AI 提供的项目模板的列表,请参阅使用 SageMaker AI 提供的项目模板。
组织通常需要严格控制他们预置和管理的 MLOps 资源。此类责任承担某些任务,包括配置 IAM 角色和策略、强制执行资源标签、强制加密以及在多个账户间解耦资源。SageMaker 项目可通过自定义模板产品来支持所有这些任务,组织可以使用 Amazon CloudFormation 模板来定义机器学习工作流所需的资源。数据科学家可以选择一个模板来引导和预配置他们的机器学习工作流。这些自定义模板被创建为服务目录产品,您可以在 Studio 或 Studio Classic UI 的组织模板下配置它们。Service Catalog 是一项可帮助组织创建和管理已批准在 Amazon 上使用的产品目录的服务。有关创建自定义模板的更多信息,请参阅构建自定义 SageMaker AI 项目模板 - 最佳实践
SageMaker 项目可帮助您管理 Git 存储库,这样您就可以更有效地跨团队协作,确保代码一致性并支持 CI/CD。SageMaker 项目可帮助您完成以下任务:
-
将机器学习生命周期的所有实体整理到一个项目下。
-
建立一键式方法,为采用最佳实践的模型训练和部署设置标准机器学习基础设施。
-
为机器学习基础设施创建和共享模板,以处理多个使用案例。
-
利用 SageMaker AI 提供的预构建模板快速开始专注于模型构建,或者使用特定于组织的资源和指南创建自定义模板。
-
通过扩展项目模板,与您选择的工具集成。有关示例,请参阅创建 SageMaker AI 项目以与 GitLab 和 GitLab Pipelines 集成
。 -
将机器学习生命周期的所有实体整理到一个项目下。
SageMaker AI 项目中有哪些内容?
客户可以灵活地使用最适合其使用案例的资源来设置项目。以下示例展示了机器学习工作流的 MLOps 设置,包括模型训练和部署。
使用 SageMaker AI 提供的模板的典型项目可能包括以下内容:
-
一个或多个存储库,其中包含用于构建和部署机器学习解决方案的示例代码。这些都是工作示例,您可以根据自己的需要进行修改。您拥有此代码,并可利用版本控制的存储库来完成任务。
-
SageMaker AI 管道,用于定义数据准备、训练、模型评测和模型部署的步骤,如下图所示。
-
CodePipeline 或 Jenkins 管道,每次签入新版本代码时都会运行您的 SageMaker AI 管道。有关 CodePipeline 的信息,请参阅什么是 Amazon CodePipeline。有关 Jenkins 的信息,请参阅 Jenkins 用户文档
。 -
包含模型版本的模型组。每次批准通过 SageMaker AI 管道运行生成的模型版本时,都可以将其部署到 SageMaker AI 端点。
每个 SageMaker AI 项目都有唯一的名称和 ID,它们作为标签应用于项目中创建的所有 SageMaker AI 和 Amazon 资源。通过名称和 ID,您可以查看与您的项目关联的所有实体。这些指令包括:
-
Pipelines
-
注册的模型
-
部署的模型(端点)
-
数据集
-
Service Catalog 产品
-
CodePipeline 和 Jenkins 管道
-
CodeCommit 和第三方 Git 存储库
我是否需要创建项目才能使用 SageMaker AI Pipelines?
否。SageMaker Pipelines 是独立的实体,就像训练作业、处理作业和其他 SageMaker AI 作业一样。您可以使用 SageMaker Python SDK 直接在笔记本中创建、更新和运行管道,而无需使用 SageMaker AI 项目。
项目提供了一个附加层,可帮助您整理代码并采用生产质量系统所需的操作最佳实践。