翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon SageMaker AI のチェックポイント
Amazon SageMaker 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 SageMaker AI のチェックポイントを Amazon S3 Express One Zone ストレージクラス (S3 Express One Zone) で使用して、チェックポイントにすばやくアクセスできます。チェックポイントを有効にし、チェックポイントの保存宛先に S3 URI を指定する場合、S3 汎用バケットまたは S3 ディレクトリバケットのいずれかのフォルダに S3 URI を指定できます。SageMaker AI と統合された S3 ディレクトリバケットは、Amazon S3 マネージドキー (SSE-S3) によるサーバー側の暗号化でのみ暗号化できます。 SageMaker AWS KMS キーによるサーバー側の暗号化 (SSE-KMS) は現在サポートされていません。S3 Express One Zone および S3 ディレクトリバケットの詳細については、「ディレクトリバケットと S3 Express One Zone」を参照してください。
SageMaker AI マネージドスポットトレーニングでチェックポイントを使用している場合、SageMaker AI はスポットインスタンスでのモデルトレーニングのチェックポイント作成と、次のスポットインスタンスでのトレーニングジョブの再開を管理します。SageMaker AI マネージドスポットトレーニングを使用すると、ML モデルのトレーニングにかかる請求対象時間を大幅に短縮できます。詳細については、「Amazon SageMaker AI でのマネージドスポットトレーニング」を参照してください。
トピック
SageMaker AI のフレームワークとアルゴリズムのチェックポイント
チェックポイントを使用して、任意のフレームワーク上に構築された ML モデルのスナップショットを SageMaker AI 内に保存します。
チェックポイントをサポートする SageMaker AI フレームワークとアルゴリズム
SageMaker AI は、トレーニングスクリプトを変更することなく、 AWS 深層学習コンテナと組み込みアルゴリズムのサブセットのチェックポイントをサポートしています。SageMaker AI はチェックポイントをデフォルトのローカルパスに保存'/opt/ml/checkpoints'
し、Amazon S3 にコピーします。
-
Deep Learning Containers: TensorFlow
、PyTorch 、MXNet 、HuggingFace 注記
HuggingFace フレームワークの推定器を使用する場合は、ハイパーパラメータにチェックポイントの出力パスを指定する必要があります。詳細については、HuggingFace ドキュメントのAmazon SageMaker AI でトレーニング
を実行する」を参照してください。 -
組み込みアルゴリズム: イメージ分類、オブジェクト検出、セマンティックセグメンテーション、XGBoost (0.90-1 以降)
注記
XGBoost アルゴリズムをフレームワークモード (スクリプトモード) で使用する場合は、手動で設定されたチェックポイントを持つ XGBoost トレーニングスクリプトを使用する必要があります。モデルのスナップショットを保存するための XGBoost トレーニングメソッドの詳細については、XGBoost Python SDK ドキュメントの「XGBoost をトレーニングする
」を参照してください。
チェックポイントをサポートしない構築済みのアルゴリズムがマネージドスポットトレーニングジョブで使用されている場合、SageMaker AI は割り込みからのトレーニング時間の浪費を制限するために、ジョブの最大待機時間を 1 時間を超えて許可しません。
カスタムトレーニングコンテナおよびその他のフレームワークの場合
前のセクションにリストされていない独自のトレーニングコンテナ、トレーニングスクリプト、またはその他のフレームワークを使用する場合、コールバックまたはトレーニング API を使用してトレーニングスクリプトを適正に設定し、チェックポイントをローカルパス ('/opt/ml/checkpoints'
) に保存して、トレーニングスクリプトでローカルパスからロードする必要があります。SageMaker AI 推定器はローカルパスと同期し、チェックポイントを Amazon S3 に保存できます。
チェックポイントに関する考慮事項
SageMaker AI でチェックポイントを使用する場合は、次の点を考慮してください。
-
複数のインスタンスを使った分散トレーニングで上書きされないようにするには、トレーニングスクリプトのチェックポイントファイル名とパスを手動で設定する必要があります。高レベルの SageMaker AI チェックポイント設定では、複数のインスタンスからチェックポイントにタグを付けるためのサフィックスやプレフィックスを追加せずに、単一の Amazon S3 の場所を指定します。
-
SageMaker Python SDK は、チェックポイント頻度の簡易設定をサポートしません。チェックポイントの頻度を制御するには、フレームワークのモデル保存関数またはチェックポイントのコールバックを使用してトレーニングスクリプトを変更します。
-
SageMaker Debugger と SageMaker AI が分散された SageMaker AI チェックポイントを使用していて、問題に直面する場合は、トラブルシューティングと考慮事項について以下のページを参照してください。