翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon SageMaker AI のチェックポイント
Amazon SageMaker AI のチェックポイントを使用して、トレーニング中の機械学習モデルの状態を保存します。チェックポイントはモデルのスナップショットであり、機械学習フレームワークのコールバック関数を使用して設定できます。保存されたチェックポイントを使用して、トレーニングジョブを最後に保存したチェックポイントから再開できます。
チェックポイントを使用すると、以下を実行できます。
-
トレーニングジョブまたはインスタンスの予期せぬ中断の発生に備えて、トレーニング中のモデルのスナップショットを保存する。
-
後でモデルのトレーニングをチェックポイントから再開する。
-
トレーニングの中間段階にあるモデルを分析する。
-
アクセス速度を向上させるには 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) を使用するサーバー側の暗号化でのみ暗号化できます。AWS KMS キーを使用したサーバー側の暗号化 (SSE−KMS) はサポートされていません。S3 Express One Zone および S3 ディレクトリバケットの詳細については、「ディレクトリバケットと S3 Express One Zone」を参照してください。
SageMaker AI マネージドスポットトレーニングでチェックポイントを使用している場合、SageMaker AI がスポットインスタンスにあるモデルトレーニングのチェックポイントを管理し、次のスポットインスタンスでトレーニングジョブを再開します。SageMaker AI マネージドスポットトレーニングを使用すると、機械学習モデルのトレーニングにかかる請求対象時間を大幅に短縮できます。詳細については、「Amazon SageMaker AI でのマネージドスポットトレーニング」を参照してください。
トピック
SageMaker AI のフレームワークとアルゴリズムのチェックポイント
チェックポイントを使用して、任意のフレームワーク上に構築された SageMaker AI 内の機械学習モデルのスナップショットを保存します。
チェックポイントをサポートする SageMaker AI のフレームワークとアルゴリズム
SageMaker AI は、AWS 深層学習コンテナと組み込みアルゴリズムのサブセットのチェックポイントをサポートしています。トレーニングスクリプトの変更は不要です。SageMaker AI はチェックポイントを、デフォルトのローカルパス '/opt/ml/checkpoints' に保存して Amazon S3 にコピーします。
-
Deep Learning Containers: TensorFlow
、PyTorch 、MXNet 、HuggingFace 注記
HuggingFace フレームワークの推定器を使用する場合は、ハイパーパラメータにチェックポイントの出力パスを指定する必要があります。詳細については、HuggingFace ドキュメントの「Run training on 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 の場所が 1 か所指定されます。複数のインスタンスのチェックポイントにタグ付するためのサフィックスやプレフィックスは追加されません。
-
SageMaker Python SDK は、チェックポイント頻度の簡易設定をサポートしません。チェックポイントの頻度を制御するには、フレームワークのモデル保存関数またはチェックポイントのコールバックを使用してトレーニングスクリプトを変更します。
-
SageMaker デバッガーと SageMaker AI 分散データで SageMaker AI チェックポイントを使用しているときに問題が発生した場合は、以下のトラブルシューティングと考慮事項のページを参照してください。