使用 Amazon 训练模型 SageMaker - Amazon SageMaker

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

使用 Amazon 训练模型 SageMaker

Amazon SageMaker Training 是一项完全托管的机器学习 (ML) 服务 SageMaker ,可帮助您高效地大规模训练各种机器学习模型。 SageMaker 作业的核心是机器学习工作负载的容器化以及管理 AWS 计算资源的能力。Training 平台负责为机器学习 SageMaker 培训工作负载设置和管理基础架构相关的繁重工作。借 SageMaker 助 Training,您可以专注于开发、训练和微调模型。本页介绍了三种开始训练模型的推荐方法 SageMaker,然后是您可以考虑的其他选项。

提示

有关生成式 AI 训练基础模型的信息,请参阅在 A mazon SageMaker Studio 中使用 SageMaker JumpStart 基础模型

在 Amazon SageMaker 培训中选择一项功能

其中训练机器学习模型有三个主要用例 SageMaker。本节介绍这些用例,以及我们为每个用例推荐的 SageMaker 功能。

无论您是在训练复杂的深度学习模型,还是要实现较小的机器学习算法, SageMaker Training 都能提供符合您用例要求的简化且经济实惠的解决方案。

用例

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

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

  • 用例 2:使用代码开发具有更大灵活性和控制力的机器学习模型。

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

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

应用场景 1 应用场景 2 使用案例 3
SageMaker 特征 使用 Amazon C SageMaker anvas 构建模型 使用 Python SDK 使用SageMaker 内置的机器学习算法(例如 XGBoost任务特定模型)来训练模型。 SageMaker JumpStart SageMaker 利用脚本模式自定义容器,以最大的灵活性大规模训练模型 SageMaker。
描述 带上你的数据。 SageMaker 帮助管理机器学习模型的构建、培训基础架构和资源的设置。

带上您的数据并选择提供的内置机器学习算法之一 SageMaker。使用 Py SageMaker thon SDK 设置模型超参数、输出指标和基本基础设施设置。 SageMaker 培训平台有助于提供培训基础设施和资源。

开发自己的机器学习代码,并将其作为脚本或一组脚本带到 SageMaker。要了解更多信息,请参阅分布式计算和 SageMaker 最佳实践。此外,你可以自带 Docker 容器。T SageMaker raining 平台可帮助根据您的自定义设置大规模配置培训基础设施和资源。

经过优化

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

训练机器学习模型,对超参数、基础架构设置进行高级自定义,并能够直接使用机器学习框架和入口点脚本以获得更大的灵活性。通过 Amaz SageMaker on Python 软件开发工具包使用内置算法、预训练 JumpStart 模型和模型来开发机器学习模型。有关更多信息,请参阅使用 JumpStart类进行低代码部署。

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

注意事项

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

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

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

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

其他选项

SageMaker 为训练 ML 模型提供了以下其他选项。

SageMaker 提供训练功能的功能

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

  • SageMaker HyperPod: SageMaker HyperPod 是一项持久性群集服务,适用于需要弹性集群来处理大规模机器学习 (ML) 工作负载和开发 state-of-the-art 基础模型 (FM) 的用例。它消除了构建和维护由数千个加速器(例如 AWS Trainium 或 NVIDIA A100 和 H100 图形处理单元 (GPU))提供支持的大型计算集群所涉及的无差别繁重的工作,从而加快了此类模型的开发。您可以在 Slurm 上使用工作负载管理器软件。 HyperPod

SageMaker 培训的更多功能

  • 超参数调整:此 SageMaker 功能有助于为模型定义一组超参数,并在数据集中启动许多训练作业。根据超参数值,模型训练性能可能会有所不同。在您设置为搜索的给定超参数范围内,此功能提供了一组性能最佳的超参数。

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

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

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