本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
中的托管的 Spot 训练Amazon SageMaker
使用托管的 Amazon SageMaker Spot 实例,Amazon EC2 可以轻松训练机器学习模型。托管的 Spot 训练可以针对按需实例优化训练模型的成本高达 90%。SageMaker 代表您管理 Spot 中断。
托管的 Spot 训练使用 Amazon EC2 Spot 实例来运行训练作业而不是按需实例。您可以指定哪些训练作业使用 Spot 实例,以及指定 SageMaker 使用 Amazon EC2 Spot 实例等待作业运行多长时间的停止条件。 中提供了在训练期间生成的指标和日志。CloudWatch.
Amazon SageMaker 自动模型优化(也称为超参数优化)可以使用托管的 Spot 训练。有关自动模型训练的更多信息,请参阅执行自动模型优化。
Spot 实例可能会中断,导致作业开始或结束所花的时间更长。您可以将托管的 Spot 训练作业配置为使用检查点。SageMaker 会将检查点数据从本地路径复制到 Amazon S3. 重新启动作业时,SageMaker 会将数据从 Amazon S3 复制回本地路径。然后,训练作业可以从上一个检查点恢复,而不是重新启动。有关检查点操作的更多信息,请参阅 使用 Amazon SageMaker 中的检查点.
除非您的训练作业快速完成,否则我们建议您将检查点操作用于托管的 Spot 训练。目前,不执行检查点的SageMaker内置算法和 Marketplace 算法限制为
MaxWaitTimeInSeconds
3600 秒(60 分钟)。
使用托管的 Spot 训练
要使用托管的 Spot 训练,请创建一个训练作业。将 EnableManagedSpotTraining
设置为 True
并指定 MaxWaitTimeInSeconds
。 MaxWaitTimeInSeconds
必须大于 MaxRuntimeInSeconds
。 有关创建训练作业的更多信息,DescribeTrainingJob请参阅。
您可以使用公式 计算使用托管的 Spot 训练节省的成本(1 -
BillableTimeInSeconds / TrainingTimeInSeconds) * 100
。 例如,如果 BillableTimeInSeconds
为 100, TrainingTimeInSeconds
为 500,则节省 80%。
托管的 Spot 训练生命周期
您可以使用 TrainingJobStatus
和 SecondaryStatus
返回的 DescribeTrainingJob 监控训练作业。 下面的列表显示了 TrainingJobStatus
和 SecondaryStatus
值如何根据训练场景而变化:
-
在训练期间不间断地获得的 Spot 实例
-
InProgress
:Starting
↠Downloading
↠Training
↠Uploading
-
-
Spot 实例中断一次。之后,获得了足够的 Spot 实例来完成训练工作。
-
InProgress
:Starting
↠Downloading
↠Training
↠Interrupted
↠Starting
↠Downloading
↠Training
↠Uploading
-
-
Spot 实例中断两次并
MaxWaitTimeInSeconds
超过 。-
InProgress
:Starting
↠Downloading
↠Training
↠Interrupted
↠Starting
↠Downloading
↠Training
↠Interrupted
↠Downloading
↠Training
-
Stopping
:Stopping
-
Stopped
:MaxWaitTimeExceeded
-
-
Spot 实例从未启动。
-
InProgress
:Starting
-
Stopping
:Stopping
-
Stopped
:MaxWaitTimeExceeded
-