适用于长流管线的 SageMaker 元件 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

适用于长流管线的 SageMaker 元件

本文档概述了如何将 SageMaker 组件用于久流管线 (KFP)。使用这些管道组件,您可以在 SageMaker 中创建和监控培训、调整、终端部署和批量转换作业。通过在 SageMaker 上运行 Kubeflow 管道作业,您可以将数据处理和培训作业从 Kubernetes 群集移动到 SageMaker 的机器学习优化托管服务。本文档假定事先知道库贝内特人和库贝流量。

什么是久保流管道?

Kubeflow 管道 (KFP) 是一个基于 Docker 容器构建和部署可移植、可扩展的机器学习 (ML) 工作流的平台。Kubeflow Peline 平台包含:

  • 用于管理和跟踪实验、作业和运行的用户界面 (UI)。

  • 用于调度多步骤 ML 工作流的引擎 (Argo)。

  • 用于定义和操作管道和组件的 Python 软件开发工具包。

  • 用于使用 SDK 与系统交互的笔记本电脑。

管道是以有向非循环表示的 ML 工作流的描述图表如下图所示。 工作流中的每个步骤都表示为一个 Kubeflow 管道组件,这是一个 Python 模块。

如果您的数据已经过预处理,则标准管道将获取数据的子集并运行模型的超参数优化。然后,管线使用最佳超参数来训练具有完整数据集的模型。此模型用于批量推理和终端创建。

有关 Kubeflow 管线的更多信息,请参阅。Kubeflow 管道文档.

Kubeflow 管道组件

Kubeflow 管道组件是用于在 Kubeflow 管道中执行一个步骤的一组代码。组件由转换为 Docker 映像的 Python 模块表示。这些组件使得无需与底层 Kubernetes 基础架构交互即可快速轻松地为实验和生产环境编写管道。

适用于 Kubeflow 管线的 SageMaker 组件提供了什么?

适用于 Kubeflow 管道的 SageMaker 组件提供了在 SageMaker 中启动计算密集型作业的替代方案。这些组件将 SageMaker 与 Kubeflow 管道的可移植性和编排功能集成在一起。使用 SageMaker 组件,管道工作流中的每个作业在 SageMaker 上运行,而不是在本地 Kubernetes 群集上运行。SageMaker 中的作业参数、状态、日志和输出仍然可以从 Kubeflow 管道 UI 访问。创建了以下 SageMaker 组件,以将六个关键的 SageMaker 功能集成到您的 ML 工作流程中。您可以创建完全使用这些组件构建的 Kubeflow 管道,或根据需要将各个组件集成到工作流中。

对于久保流管道使用 SageMaker 组件不收取任何额外费用。对于通过这些组件使用的任何 SageMaker 资源,您都需要支付费用。

训练构件

训练

“培训” 组件允许您直接从 Kubeflow 管道工作流中提交 SageMaker 培训作业。有关更多信息,请参阅 。SageMaker 训练久维流管道组件.

超参数优化

通过超参数优化组件,您可以直接从 Kubeflow 管道工作流向 SageMaker 提交超参数优化作业。有关更多信息,请参阅 。SageMaker 超参数优化库维流管线组件.

处理

使用 “处理” 组件,您可以直接从 “库布流管道” 工作流向 SageMaker 提交处理作业。有关更多信息,请参阅 。SageMaker 处理久保流管线组件.

推理组件

托管部署

使用 “部署” 组件,您可以通过 Kubeflow 管道工作流在 SageMaker 托管中部署模型。有关更多信息,请参阅 。SageMaker 托管服务-创建端点库布流管道组件.

Batch 转换组件

Batch 变换组件使您能够通过 Kubeflow 管道工作流为 SageMaker 中的整个数据集运行推理作业。有关更多信息,请参阅 。SageMaker Batch 量变换 KubeMaker 管线组件.

Ground Truth 组件

Ground Truth使用 “Ground Truth 值” 组件,您可以直接从 Kubeflow 管线工作流中提交 SageMaker Ground Truth 值标注作业。有关更多信息,请参阅 。SageMaker Ground Truth Truth Flow 管道组件.

工作团队

通过工作组组件,您可以直接从 Kubeflow 管道工作流创建 SageMaker 专用工作组作业。有关更多信息,请参阅 。SageMaker 创建专用工作组久维流管道组件.

IAM 权限

使用 SageMaker 组件部署 Kubeflow 管道需要以下三个级别的 IAM 权限:

  • 用于访问你的IAM 用户/角色Amazon帐户 (您的凭据)。注意:如果您已经有权访问 KFP Web UI 并在 Amazon S3 中拥有输入数据,或者您已经拥有具有 KFP 的亚马 Amazon Elastic Kubernetes Service (亚马逊 EKS) 集群,则根本不需要此功能。

    您可以使用网关节点(可以是本地计算机或远程实例)中的此用户/角色:

    • 创建 Amazon EKS 群集并安装 KFP

    • 创建IAM 角色/用户

    • 为示例输入数据创建 Amazon S3 存储桶

    IAM 用户/角色需要以下权限:

  • KFP 窗格用于访问 SageMaker (kfp 示例视窗角色) KFP 窗格使用此权限从 KFP 组件创建 SageMaker 作业。 注意:如果您要限制 KFP 窗格的权限,请创建自己的自定义策略并附加它们。

    该角色需要以下权限:

    • AmazonSageMakerFullAccess

  • SageMaker 作业所使用的 IAM 角色,用于访问诸如 Amazon S3 和亚马逊 ECR 等资源(kfp 示例-制作者-执行角色)。

    您的 SageMaker 职位使用此角色可以:

    • 访问 SageMaker 资源

    • 从 Amazon S3 输入数据

    • 将您的输出模型存储到 Amazon S3

    该角色需要以下权限:

    • AmazonSageMakerFullAccess

    • AmazonS3FullAccess

这些都是为 SageMaker 运行 KFP 组件所需的所有 IAM 用户/角色。

当您运行了组件并创建了 SageMaker 终端节点时,还需要一个具有sagemaker:InvokeEndpoint查询推理端点的权限。

将管线转换为使用 SageMaker

您可以通过移植通用 Python 将现有管道转换为使用 SageMaker处理容器训练容器. 如果您使用 SageMaker 进行推理,则还需要将 IAM 权限附加到您的集群并将工件转换为模型。