本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon 中使用托管竞技训练 SageMaker
借助 Amazon EC2 竞价型托管实例,Amazon SageMaker 可以轻松训练机器学习模型。与按需实例相比,托管竞价型训练最多可以将训练模型的成本减少 90%。 SageMaker 代表您管理 Spot 中断。
托管竞价型训练使用 Amazon EC2 竞价型实例而不是按需实例来运行训练作业。您可以指定哪些训练作业使用竞价型实例,并指定使用 Amazon EC2 竞价型实例 SageMaker 等待任务运行多长时间的停止条件。训练期间生成的指标和日志可在中找到 CloudWatch。
Amazon SageMaker 自动模型调整(也称为超参数调整)可以使用托管现场训练。有关自动模型调优的更多信息,请参阅使用执行自动模型调整 SageMaker。
Spot 实例可能会中断,导致作业开始或结束所花的时间更长。您可以将托管现场训练作业配置为使用检查点。 SageMaker 将检查点数据从本地路径复制到 Amazon S3。任务重新启动后,将 Amazon S3 中的数据 SageMaker 复制回本地路径。然后,训练作业可以从最后一个检查点恢复,而无需重新开始。有关检查点操作的更多信息,请参阅 在 Amazon 中使用检查点 SageMaker。
注意
除非您的训练作业很快完成,否则我们建议您将检查点与托管现场训练配合使用。 SageMaker 不使用检查点的内置算法和市场算法目前限制在 3600 秒(60 分钟)以内。MaxWaitTimeInSeconds
使用托管的 Spot 训练
要使用托管的 Spot 训练,请创建一个训练作业。将 EnableManagedSpotTraining
设置为 True
并指定 MaxWaitTimeInSeconds
。MaxWaitTimeInSeconds
必须大于 MaxRuntimeInSeconds
。有关创建训练作业的更多信息,请参阅DescribeTrainingJob。
您可以使用公式 (1 -
(BillableTimeInSeconds / TrainingTimeInSeconds)) * 100
计算使用托管的 Spot 训练时节省的时间。例如,如果 BillableTimeInSeconds
为 100 而 TrainingTimeInSeconds
为 500,表示您的训练作业运行了 500 秒,但只收取 100 秒的费用。可节约 (1 - (100 / 500)) * 100 = 80%。
要了解如何在 Amazon SageMaker 竞价型实例上运行训练作业,以及托管竞价训练的工作原理和缩短计费时间,请参阅以下示例笔记本:
托管的 Spot 训练生命周期
您可以使用监控训练作业,TrainingJobStatus
并由SecondaryStatus
返回DescribeTrainingJob。下面的列表显示了 TrainingJobStatus
和 SecondaryStatus
值如何根据训练场景而变化:
-
在训练期间不间断地获得的 Spot 实例
-
InProgress
:Starting
↠Downloading
↠Training
↠Uploading
-
-
竞价型实例中断一次。之后,获得了足够的竞价型实例来完成训练作业。
-
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
-