Amazon のチェックポイント SageMaker - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon のチェックポイント SageMaker

Amazon のチェックポイント SageMaker を使用して、トレーニング中に機械学習 (ML) モデルの状態を保存します。チェックポイントはモデルのスナップショットであり、機械学習フレームワークのコールバック関数を使用して設定できます。保存されたチェックポイントを使用して、トレーニングジョブを最後に保存したチェックポイントから再開できます。

チェックポイントを使用すると、以下を実行できます。

  • トレーニングジョブまたはインスタンスの予期せぬ中断の発生に備えて、トレーニング中のモデルのスナップショットを保存する。

  • 後でモデルのトレーニングをチェックポイントから再開する。

  • トレーニングの中間段階にあるモデルを分析する。

  • S3 Express One Zone でチェックポイントを使用すると、アクセス速度が向上します。

  • SageMaker マネージドスポットトレーニングでチェックポイントを使用すると、トレーニングコストを節約できます。

SageMaker トレーニングメカニズムは Amazon EC2インスタンスのトレーニングコンテナを使用し、チェックポイントファイルはコンテナのローカルディレクトリ (デフォルトは ) に保存されます/opt/ml/checkpoints。 は、ローカルパスから Amazon S3 にチェックポイントをコピーする機能 SageMaker を提供し、そのディレクトリ内のチェックポイントを S3 と自動的に同期します。S3 の既存のチェックポイントはジョブの開始時にコンテナに SageMaker書き込まれ、チェックポイントからジョブを再開できます。ジョブ開始後に S3 フォルダに追加されるチェックポイントは、トレーニングコンテナにコピーされません。 は、トレーニング中にコンテナから S3 に新しいチェックポイント SageMaker も書き込みます。 SageMaker コンテナでチェックポイントが削除された場合、S3 フォルダでも削除されます。

Amazon S3 Express One Zone ストレージクラス (S3 Express One Zone) SageMaker で Amazon のチェックポイントを使用すると、チェックポイントにすばやくアクセスできます。 Amazon S3 チェックポイントを有効にし、チェックポイントストレージの宛先URIに S3 を指定する場合、S3 汎用バケットまたは S3 ディレクトリバケットのいずれかのURIフォルダに S3 を指定できます。と統合された S3 ディレクトリバケットは、Amazon S3 マネージドキー (-S3) によるサーバー側の暗号化でのみ暗号化 SageMaker できます。SSE-S3 AWS KMS キー (SSE-KMS) によるサーバー側の暗号化は現在サポートされていません。S3 Express One Zone および S3 ディレクトリバケットの詳細については、S3 Express One Zone とは」を参照してください。

SageMaker マネージドスポットトレーニングでチェックポイントを使用している場合、 SageMaker はスポットインスタンスでモデルトレーニングをチェックポイントし、次のスポットインスタンスでトレーニングジョブを再開します。 SageMaker マネージドスポットトレーニングを使用すると、ML モデルのトレーニングの請求対象時間を大幅に短縮できます。詳細については、「Amazon でのマネージドスポットトレーニング SageMaker」を参照してください。

のフレームワークとアルゴリズムのチェックポイント SageMaker

チェックポイントを使用して、 内の任意のフレームワーク上に構築された ML モデルのスナップショットを保存します SageMaker。

SageMaker チェックポイントをサポートするフレームワークとアルゴリズム

SageMaker は、トレーニングスクリプトの変更を必要とせずに AWS Deep Learning Containers と組み込みアルゴリズムのサブセットのチェックポイントをサポートします。 はチェックポイントをデフォルトのローカルパスに保存'/opt/ml/checkpoints'し、Amazon SageMaker S3 にコピーします。 Amazon S3

チェックポイントをサポートしていない構築済みアルゴリズムがマネージドスポットトレーニングジョブで使用されている場合、 SageMaker は、中断によるトレーニング時間の無駄を制限するために、ジョブの最大待機時間を 1 時間を超えて許可しません。

カスタムトレーニングコンテナおよびその他のフレームワークの場合

前のセクションに記載されていない独自のトレーニングコンテナ、トレーニングスクリプト、またはその他のフレームワークを使用している場合は、コールバックまたはトレーニングを使用してトレーニングスクリプトを適切にセットアップし、チェックポイントAPIsをローカルパス ('/opt/ml/checkpoints') に保存し、トレーニングスクリプトのローカルパスからロードする必要があります。 SageMaker 推定器はローカルパスと同期してチェックポイントを Amazon S3 に保存できます。

チェックポイントに関する考慮事項

でチェックポイントを使用する場合は、次の点を考慮してください SageMaker。

  • 複数のインスタンスを使った分散トレーニングで上書きされないようにするには、トレーニングスクリプトのチェックポイントファイル名とパスを手動で設定する必要があります。高レベルの SageMaker チェックポイント設定では、複数のインスタンスからチェックポイントにタグを付けるためのサフィックスやプレフィックスを追加せずに、単一の Amazon S3 の場所を指定します。

  • SageMaker Python SDKは、チェックポイント頻度の高レベル設定をサポートしていません。チェックポイントの頻度を制御するには、フレームワークのモデル保存関数またはチェックポイントのコールバックを使用してトレーニングスクリプトを変更します。

  • SageMaker デバッガーと SageMaker 分散で SageMaker チェックポイントを使用していて、問題に直面している場合は、トラブルシューティングと考慮事項については、次のページを参照してください。