在 Amazon 中使用受管 Spot 訓練 SageMaker - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 Amazon 中使用受管 Spot 訓練 SageMaker

Amazon SageMaker 可讓您使用受管 Amazon EC2 競價型執行個體輕鬆訓練機器學習模型。相較於隨需執行個體,受管 Spot 訓練可以最佳化訓練模型成本高達 90%。 SageMaker 代表您管理 Spot 中斷。

受管 Spot 訓練會使用 Amazon EC2 Spot 執行個體來執行訓練任務,而不是隨需執行個體。您可以指定哪些訓練任務使用競價型執行個體,以及指定使用 Amazon EC2 Spot 執行個 SageMaker 體執行任務執行的等待時間長度的停止條件。在中提供訓練執行期間產生的指標和記錄 CloudWatch。

Amazon SageMaker 自動模型調整 (也稱為超參數調整) 可以使用受管 Spot 訓練。如需自動模型調校的詳細資訊,請參閱執行自動模型調整 SageMaker

Spot 執行個體可能會中斷,造成任務需要更長的時間來開始或完成。您可以將受管 Spot 訓練工作設定為使用檢查點。 SageMaker 將檢查點資料從本機路徑複製到 Amazon S3。重新啟動任務時,將資料從 Amazon S3 SageMaker 複製回本機路徑。然後,訓練任務可以從最後一個檢查點繼續,而不是重新啟動。如需檢查點作業的詳細資訊,請參閱在 Amazon 使用檢查站 SageMaker

注意

除非您的訓練工作將很快完成,否則我們建議您使用檢查點與受管 Spot 訓練。 SageMaker 不檢查點MaxWaitTimeInSeconds的內置算法和市場算法目前限制為 3600 秒(60 分鐘)。

使用受管 Spot 訓練

若要使用受管 Spot 訓練,請建立訓練任務。將 EnableManagedSpotTraining 設定為 True,並指定 MaxWaitTimeInSecondsMaxWaitTimeInSeconds 必須大於 MaxRuntimeInSeconds。如需建立訓練工作的詳細資訊,請參閱DescribeTrainingJob

您可以使用公式 (1 - (BillableTimeInSeconds / TrainingTimeInSeconds)) * 100,計算使用受管 Spot 訓練可以節省多少。例如,如果 BillableTimeInSeconds 為 100 且 TrainingTimeInSeconds 為 500,則表示您的訓練任務執行了 500 秒,但您只需支付 100 秒的費用。您節省了 (1 - (100 / 500)) * 100 = 80%。

若要了解如何在 Amazon SageMaker Spot 執行個體上執行訓練任務,以及受管 Spot 訓練的運作方式以及減少計費時間,請參閱下列範例筆記本:

受管 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