本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 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 算法之一训练模型,例如 XGBoost 或 SageMaker 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 |
大规模的 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 的分析和调试功能,深入了解模型训练工作负载、模型性能和资源利用率。要了解更多信息,请参阅调试和提高模型性能以及分析和优化计算性能。