本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊 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 检查点并遇到问题,请参阅以下页面以了解故障排除和注意事项。