Amazon SageMaker 中的托管的 Spot - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

Amazon SageMaker 中的托管的 Spot

利用托管的 Amazon EC2 Amazon SageMaker pot 实例,您可以轻松训练机器学习模型。托管的 Spot 训练可以针对按需实例优化训练模型的成本高达 90%。SageMaker 代表您管理竞价型中断。

托管的 Spot 训练使用 Amazon EC2 Spot 实例来运行训练作业而不是按需实例。您可以指定哪些训练作业使用 Spot 实例,以及指定使用 Amazon EC2 SageMaker pot 实例等待作业运行多长时间的停止条件。CloudWatch 中提供了在训练期间生成的指标和日志。

Amazon SageMaker 自动模型优化(也称为超参数优化)可以使用托管的 Spot 训练。有关自动模型优化的更多信息,请参阅使用 SageMaker 执行自动模型优化.

Spot 实例可能会中断,导致作业开始或结束所花的时间更长。您可以将托管的 Spot 训练作业配置为使用检查点。SageMaker 会将检查点数据从本地路径复制到 Amazon S3。重新启动作业时,SageMaker 会将来自 Amazon S3 的数据复制回本地路径。然后,训练作业可以从最后一个检查点恢复,而不是重新启动。有关检查点操作的更多信息,请参阅 在 Amazon SageMaker 中使用检查点

注意

除非您的训练作业能够快速完成,否则我们建议您对托管的 Spot 训练使用检查点。不执行检查点操作的 SageMaker 内置算法和市场算法目前将 MaxWaitTimeInSeconds 限制为 3600 秒(60 分钟)。

使用托管的 Spot 训练

要使用托管的 Spot 训练,请创建一个训练作业。将 EnableManagedSpotTraining 设置为 True 并指定 MaxWaitTimeInSecondsMaxWaitTimeInSeconds 必须大于 MaxRuntimeInSeconds。有关创建训练作业的更多信息,请参阅 DescribeTrainingJob

您可以使用公式 (1 - (BillableTimeInSeconds / TrainingTimeInSeconds)) * 100 计算使用托管的 Spot 训练时节省的时间。例如,如果 BillableTimeInSeconds 为 100,TrainingTimeInSeconds 为 500,则表示时间节省 80%。

要了解如何在 Amazon SageMaker 竞价型实例上运行培训作业以及托管竞价培训如何工作并缩短计费时间,请参阅以下示例笔记本:

托管的 Spot 训练生命周期

你可以使用TrainingJobStatusSecondaryStatus返回方DescribeTrainingJob. 下面的列表显示了 TrainingJobStatusSecondaryStatus 值如何根据训练场景而变化:

  • 在训练期间不间断地获得的 Spot 实例

    1. InProgress: StartingDownloadingTrainingUploading

  • Spot 实例中断一次。之后,获得了足够的 Spot 实例来完成训练工作。

    1. InProgress: StartingDownloadingTrainingInterruptedStartingDownloadingTrainingUploading

  • Spot 实例中断两次并且超出了 MaxWaitTimeInSeconds

    1. InProgress: StartingDownloadingTrainingInterruptedStartingDownloadingTrainingInterruptedDownloadingTraining

    2. Stopping: Stopping

    3. Stopped: MaxWaitTimeExceeded

  • Spot 实例从未启动。

    1. InProgress: Starting

    2. Stopping: Stopping

    3. Stopped: MaxWaitTimeExceeded