使用 Amazon SageMaker 训练模型 - 亚马逊 SageMaker AI

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

使用 Amazon SageMaker 训练模型

Amazon SageMaker Training 是 SageMaker 提供的全面管理机器学习 (ML) 服务,可帮助您高效地大规模训练各种 ML 模型。SageMaker AI 作业的核心是将 ML 工作负载容器化,并能够管理 AWS 计算资源。SageMaker Training 平台负责为 ML 训练工作负载设置和管理基础架构。通过 SageMaker Training,您可以专注于开发、训练和微调模型。本页面介绍了在 SageMaker 上开始训练模型的三种推荐方法,以及您可以考虑的其他选项。

提示

有关为生成式人工智能训练基础模型的信息,请参阅在 Amazon SageMaker Studio 中使用 SageMaker JumpStart 基础模型

在 Amazon SageMaker 训练中选择功能

在 SageMaker AI 中训练 ML 模型有三种主要使用案例。本节介绍这些使用案例,以及我们为每个使用案例推荐的 SageMaker AI 功能。

无论您是要训练复杂的深度学习模型,还是要实施较小的机器学习算法,SageMaker Training 都能提供简化且经济高效的解决方案,满足您的使用场景要求。

使用案例

以下是在 SageMaker AI 中训练 ML 模型的主要使用案例。

  • 使用场景 1:在低代码或无代码环境中开发机器学习模型。

  • 使用场景 2:使用代码开发更具灵活性和可控性的机器学习模型。

  • 使用场景 3:以最大的灵活性和控制力开发大规模机器学习模型。

下表描述了训练 ML 模型的三种常见场景以及 SageMaker Training 入门的相应选项。

描述符 应用场景 1 应用场景 2 使用案例 3
SageMaker AI 功能 使用 Amazon SageMaker Canvas 构建模型 通过 SageMaker Python SDK,使用 SageMaker AI 内置的 ML 算法之一训练模型,例如 XGBoostSageMaker JumpStart 的任务特定模型 利用 SageMaker AI 中的脚本模式自定义容器,以最大的灵活性大规模训练模型。
描述 自带数据。SageMaker AI 有助于管理构建 ML 模型以及设置训练基础架构和资源。

自带数据,并选择 SageMaker AI 提供的内置 ML 算法之一。使用 SageMaker Python SDK 设置模型超参数、输出指标和基本基础架构设置。SageMaker Training 平台有助于提供训练基础架构和资源。

开发自己的 ML 代码,并将其作为一个脚本或一组脚本引入 SageMaker AI。要了解更多信息,请参阅使用 SageMaker 进行分布式计算的最佳实践。此外,您还可以自带 Docker 容器。SageMaker Training 平台可根据您的自定义设置,帮助大规模配置训练基础架构和资源。

优化

低代码/无代码和用户界面驱动的模型开发,可使用训练数据集进行快速实验。构建自定义模型时,会根据您的数据自动选择算法。有关算法选择等高级自定义选项,请参阅高级模型构建配置

训练 ML 模型,可对超参数和基础架构设置进行高级自定义,并可直接使用 ML 框架和入口点脚本,从而提高灵活性。通过 Amazon SageMaker Python SDK 使用内置算法、预训练模型和 JumpStart 模型来开发 ML 模型。有关更多信息,请参阅使用 JumpStart 类进行低代码部署

大规模的 ML 训练工作负载需要多个实例和最大的灵活性。请参阅使用 SageMaker 进行分布式计算的最佳实践。SageMaker AI 使用 Docker 映像来托管所有模型的训练和服务。您可以使用任何 SageMaker AI 或外部算法,也可以使用 Docker 容器来构建模型

注意事项

Amazon SageMaker Canvas 提供的自定义模型灵活性极低。

与低级别的 SageMaker Training API 相比,SageMaker Python SDK 提供了简化的界面和更少的配置选项。

需要了解 AWS 基础架构和分布式训练选项。另请参阅使用 SageMaker 训练工具包创建自己的训练容器

建议的环境 使用 Amazon SageMaker Canvas。要了解如何进行设置,请参阅 SageMaker Canvas 使用入门 Amazon SageMaker Studio 中使用 SageMaker AI JupyterLab。要了解如何设置,请参阅启动 Amazon SageMaker Studio Amazon SageMaker Studio 中使用 SageMaker JupyterLab。要了解如何设置,请参阅启动 Amazon SageMaker Studio

其他选项

SageMaker AI 为训练 ML 模型提供了以下附加选项。

可提供训练功能的 SageMaker AI 功能

  • SageMaker JumpStart:SageMaker JumpStart 提供对 SageMaker AI 公共模型中心的访问权限,此中心包含最新的公开可用和专有基础模型(FM)。您可以在 Amazon SageMaker Studio 中对这些模型进行微调、评估和部署。SageMaker JumpStart 简化了为生成式人工智能使用场景利用基础模型的流程,并允许您创建私有模型中心来使用基础模型,同时实施管理防护,确保您的组织只能访问经批准的模型。要开始使用 SageMaker JumpStart,请参阅 SageMaker JumpStart 基础模型

  • SageMaker HyperPod:SageMaker HyperPod 是一种持久性集群服务,适用于需要弹性集群来处理大规模机器学习(ML)工作负载和开发最先进的基础模型(FM)的使用场景。它消除了在构建和维护由 AWS Trainium 或英伟达™(NVIDIA®)A100 和 H100 图形处理器(GPU)等数千个加速器驱动的大规模计算集群时所涉及的无差别繁重工作,从而加速了此类模型的开发。您可以在 HyperPod 上使用 Slurm 等工作负载管理软件。

SageMaker 训练的更多功能

  • 超参数调整:这项 SageMaker AI 功能有助于为模型定义一组超参数,并在数据集上启动多项训练作业。根据超参数值的不同,模型训练的性能也可能不同。此功能可在您设定的超参数范围内提供一组性能最佳的超参数。

  • 分布式训练:对使用 PyTorch、英伟达 CUDA 和其他基于 PyTorch 的框架构建的 FM 进行预训练或微调。要高效地利用 GPU 实例,请使用 SageMaker AI 分布式训练库,此库提供集体通信操作和各种模型并行技术,例如已针对 AWS 基础设施进行了优化的专家并行和共享数据并行。

  • 可观测性功能:使用 SageMaker Training 的分析和调试功能,深入了解模型训练工作负载、模型性能和资源利用率。要了解更多信息,请参阅调试和提高模型性能以及分析和优化计算性能

  • 节省成本和高效的实例选项:要优化训练实例配置的计算成本和效率,请使用异构集群托管竞价型实例托管的暖池