亚马逊 A SageMaker I 中的检查点 - 亚马逊 SageMaker AI
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

亚马逊 A SageMaker I 中的检查点

在训练期间,使用 SageMaker Amazon AI 中的检查点保存机器学习 (ML) 模型的状态。检查点是模型的快照,可以通过机器学习框架的回调函数进行配置。您可以使用保存的检查点,根据上次保存的检查点重新启动训练作业。

通过使用检查点,可执行以下操作:

  • 当训练作业或实例意外中断时,保存训练中模型的快照。

  • 将来从检查点恢复模型训练。

  • 在训练的中间阶段分析模型。

  • 将检查站与 S3 Express One Zone 结合使用,可提高访问速度。

  • 将检查点与 SageMaker AI 托管的现场训练结合使用,以节省训练成本。

SageMaker 训练机制在 Amazon EC2 实例上使用训练容器,检查点文件保存在容器的本地目录下(默认为/opt/ml/checkpoints)。 SageMaker AI 提供了将检查点从本地路径复制到 Amazon S3 并自动将该目录中的检查点与 S3 同步的功能。S3 中的现有检查点会在作业开始时写入 SageMaker AI 容器,从而使作业能够从检查点恢复。任务启动后添加到 S3 文件夹的检查点不会复制到训练容器中。 SageMaker 在训练期间,AI 还会将新的检查点从容器写入 S3。如果在 SageMaker AI 容器中删除了某个检查点,该检查点也将在 S3 文件夹中删除。

您可以将 Amazon A SageMaker I 中的检查点与 Amazon S3 Express One 区域存储类别(S3 Express One 区域)配合使用,以便更快地访问检查点。启用检查点功能并为检查点存储目标指定 S3 URI 时,您可以为 S URI 3 通用存储桶或 S3 目录存储桶中的文件夹提供 S3。与 A SageMaker I 集成的 S3 目录存储桶只能使用 Amazon S3 托管密钥 (SSE-S3) 使用服务器端加密进行加密。目前不支持使用 Amazon KMS 密钥 (SSE-KMS) 进行服务器端加密。有关 S3 Express One Zone 和 S3 目录存储桶的更多信息,请参阅什么是 S3 Express One Zone

如果您在 SageMaker AI 托管的竞价训练中使用检查点, SageMaker AI 会管理在竞价实例上检查您的模型训练,并在下一个竞价实例上恢复训练作业。借助 SageMaker AI 托管的现场训练,您可以显著缩短训练 ML 模型的计费时间。有关更多信息,请参阅 亚马逊 A SageMaker I 中的托管竞技训练

SageMaker AI 中框架和算法的检查点

使用检查点在 SageMaker AI 中保存基于首选框架构建的 ML 模型的快照。

SageMaker 支持检查点的 AI 框架和算法

SageMaker AI 支持对 Dee Amazon p Learning Containers 和一部分内置算法进行检查点操作,无需更改训练脚本。 SageMaker AI 将检查点保存到默认本地路径'/opt/ml/checkpoints'并将其复制到 Amazon S3。

  • Deep Learning Containers:TensorFlowPyTorchMXNet、、和 HuggingFace

    注意

    如果您使用的是 HuggingFace 框架估算器,则需要通过超参数指定检查点输出路径。有关更多信息,请参阅HuggingFace文档中的在 Amazon A SageMaker I 上运行训练

  • 内置算法:图像分类物体检测语义分割XGBoost(0.90-1 或更高版本)

    注意

    如果您在框架模式(脚本模式)下使用XGBoost算法,则需要带上手动配置的带有检查点的XGBoost训练脚本。有关保存模型快照的XGBoost训练方法的更多信息,请参阅 XGBoostPython SDK 文档XGBoost中的训练

如果在托管点训练作业中使用了不支持检查点的预建算法, SageMaker AI 不允许该作业的最长等待时间超过一小时,以限制因中断而浪费的训练时间。

用于自定义训练容器和其他框架

如果您使用的是自己的训练容器、训练脚本或其他未在上一节中列出的框架,则必须使用回调或训练正确设置训练脚本,APIs以便将检查点保存到本地路径 ('/opt/ml/checkpoints') 并从训练脚本中的本地路径加载。 SageMaker AI 估算器可以与本地路径同步,并将检查点保存到 Amazon S3。

检查点的注意事项

在 SageMaker AI 中使用检查点时,请考虑以下几点。

  • 为避免在使用多个实例的分布式训练中发生覆盖,必须在训练脚本中手动配置检查点文件名和路径。高级别 SageMaker AI 检查点配置指定单个 Amazon S3 位置,无需额外的后缀或前缀来标记来自多个实例的检查点。

  • P SageMaker ython SDK 不支持检查点频率的高级配置。要控制检查点频率,请使用框架的模型保存功能或检查点回调来修改训练脚本。

  • 如果您使用 SageMaker 分布式 SageMaker 调试器和 SageMaker AI 的 AI 检查点并遇到问题,请参阅以下页面以了解故障排除和注意事项。