Amazon SageMaker Debugger のリファレンス - Amazon SageMaker

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

Amazon SageMaker Debugger のリファレンス

以下のトピックで、Amazon SageMaker Debugger の使用に関する詳細情報とリファレンスをご覧ください。

Amazon SageMaker デバッガー APIs

Amazon SageMaker Debugger には、モデルトレーニングのモニタリングと分析を実装するために使用されるAPIオペレーションが複数のロケーションにあります。

Amazon SageMaker Debugger は、組み込みルールの設定、カスタムルールの定義、トレーニングジョブから出力テンソルデータを収集するためのフックの登録に使用されるオープンソース sagemaker-debugger Python SDK も提供します。

Amazon SageMaker Python SDKは、機械学習実験に重点をSDK置いた大まかなソリューションです。を使用して、Python SMDebug ライブラリで定義された組み込みルールまたはカスタムルールをデプロイし、 SageMaker 推定器を使用してこれらのテンソルをモニタリングおよび分析SDKできます。

デバッガーは Amazon SageMaker API にオペレーションとタイプを追加しました。これにより、プラットフォームはモデルのトレーニング時にデバッガーを使用し、入力と出力の設定を管理できます。

ルール設定APIオペレーションは、モデルトレーニングを分析するときに SageMaker 処理機能を使用します。 SageMaker 処理の詳細については、「」を参照してください SageMaker 処理によるデータ変換ワークロード

デバッガールールの Docker イメージ

Amazon SageMaker は、ルール用の Docker イメージの 2 つのセットを提供します。1 つは SageMaker (組み込みルール) が提供するルールを評価するためのセットで、もう 1 つは Python ソースファイルで提供されるカスタムルールを評価するためのセットです。

Amazon SageMaker Python を使用する場合SDK、Debugger Docker イメージを手動で取得して を設定する必要なく、 SageMaker Estimator APIオペレーションで SageMaker 高レベルの Debugger APIオペレーションを使用できますConfigureTrainingJobAPI。

SageMaker Python を使用していない場合はSDK、デバッガールールに関連する構築済みのコンテナベースイメージを取得する必要があります。Amazon SageMaker デバッガーは、組み込みルールとカスタムルール用に構築済みの Docker イメージを提供し、イメージは Amazon Elastic Container Registry (Amazon ) に保存されますECR。Amazon ECRリポジトリからイメージをプルするには (またはイメージを リポジトリにプッシュするには)CreateTrainingJob、 を使用してイメージURLのフルネームレジストリを使用しますAPI。 は、デバッガールールコンテナイメージレジストリアドレスに次のURLパターン SageMaker を使用します。

<account_id>.dkr.ecr.<Region>.amazonaws.com/<ECR repository name>:<tag>

各 AWS リージョンのアカウント ID、Amazon ECRリポジトリ名、タグ値については、次のトピックを参照してください。

組み込みルール評価者URIsの Amazon SageMaker デバッガーイメージ

Amazon SageMaker Debugger の組み込みルールを提供するイメージURLsのレジストリのコンポーネントには、次の値を使用します。アカウント についてはIDs、次の表を参照してください。

ECR リポジトリ名: sagemaker-debugger-rules

タグ: latest

完全なレジストリの例: URL

904829902805.dkr.ecr.ap-south-1.amazonaws.com/sagemaker-debugger-rules:latest

AWS リージョン別の組み込みルールコンテナイメージIDsのアカウント

リージョン account_id
af-south-1

314341159256

ap-east-1

199566480951

ap-northeast-1

430734990657

ap-northeast-2

578805364391

ap-south-1

904829902805

ap-southeast-1

972752614525

ap-southeast-2

184798709955

ca-central-1

519511493484

cn-north-1

618459771430

cn-northwest-1

658757709296

eu-central-1

482524230118

eu-north-1

314864569078

eu-south-1

563282790590

eu-west-1

929884845733

eu-west-2

250201462417

eu-west-3

447278800020

me-south-1

986000313247

sa-east-1

818342061345

us-east-1

503895931360

us-east-2

915447279597

us-west-1

685455198987

us-west-2

895741380848

us-gov-west-1

515509971035

カスタムルール評価者URIsの Amazon SageMaker デバッガーイメージ

Amazon SageMaker Debugger のカスタムルール評価者を提供するイメージURLのレジストリのコンポーネントには、次の値を使用します。アカウント についてはIDs、次の表を参照してください。

ECR リポジトリ名: sagemaker-debugger-rule-evaluator

タグ: latest

完全なレジストリの例: URL

552407032007.dkr.ecr.ap-south-1.amazonaws.com/sagemaker-debugger-rule-evaluator:latest

AWS リージョン別のカスタムルールコンテナイメージIDsのアカウント

リージョン account_id
af-south-1

515950693465

ap-east-1

645844755771

ap-northeast-1

670969264625

ap-northeast-2

326368420253

ap-south-1

552407032007

ap-southeast-1

631532610101

ap-southeast-2

445670767460

ca-central-1

105842248657

cn-north-1

617202126805

cn-northwest-1

658559488188

eu-central-1

691764027602

eu-north-1

091235270104

eu-south-1

335033873580

eu-west-1

606966180310

eu-west-2

074613877050

eu-west-3

224335253976

me-south-1

050406412588

sa-east-1

466516958431

us-east-1

864354269164

us-east-2

840043622174

us-west-1

952348334681

us-west-2

759209512951

us-gov-west-1

515361955729

Amazon SageMaker デバッガーの例外

Amazon SageMaker Debugger は、ルールの実行に必要なテンソルがすべてのステップで利用できない場合があることを認識するように設計されています。そのため、いくつかの例外を発生させ、テンソルの欠落時に生じることを制御できるようにします。これらの例外は、smdebug.exceptions モジュールで利用可能です。次のようにインポートできます。

from smdebug.exceptions import *

利用可能な例外は次のとおりです。

  • TensorUnavailableForStep – リクエストされたテンソルはこのステップで使用できません。これは、このステップがフックによってまったく保存されないか、ステップによって保存されたテンソルに、リクエストされたテンソルが含まれていないことを意味します。この例外が表示された場合、このテンソルは将来このステップで利用できないことを意味します。テンソルがステップに対して縮小版を保存している場合は、それらを照会できることを通知します。

  • TensorUnavailable – このテンソルは保存されていないか、 smdebug によって保存されていませんAPI。これは、このテンソルは smdebug のどのステップに対しても決して見られないことを意味する。

  • StepUnavailable - このステップは保存されておらず、デバッガーにはこのステップからのデータがありません。

  • StepNotYetAvailable - このステップは smdebug によってまだ確認されていません。トレーニングがまだ進行中の場合は、将来利用可能になる可能性があります。デバッガーは、新しいデータが利用可能になった時点でそれを自動的にロードします。

  • NoMoreData - トレーニング終了時に発生します。これが表示されると、これ以上保存するステップもテンソルもないことがわかります。

  • IndexReaderException - インデックスリーダーが有効ではありません。

  • InvalidWorker - 無効なワーカーが呼び出されました。

  • RuleEvaluationConditionMet - ステップでのルールの評価により、条件が満たされました。

  • InsufficientInformationForRuleInvocation - ルールを起動するための情報が不足しています。

Amazon SageMaker Debugger でサポートされている分散トレーニング

次のリストは、深層学習フレームワークやさまざまな分散トレーニングオプションを使ったトレーニングジョブでデバッガーを使用する場合の有効範囲と考慮事項を示しています。

  • Horovod

    Horovod でのトレーニングジョブへのデバッガー使用の有効範囲

    深層学習フレームワーク Apache MXNet TensorFlow 1.x TensorFlow 2.x TensorFlow Keras を使用した 2.x PyTorch
    システムのボトルネックのモニタリング あり はい はい はい 可能
    フレームワークオペレーションのプロファイリング 不可 いいえ いいえ はい 可能
    モデル出力テンソルのデバッグ あり はい はい はい 可能
  • SageMaker 分散データ並列

    SageMaker 分散データ並列でジョブをトレーニングするためのデバッガーの使用の有効性の範囲

    深層学習フレームワーク TensorFlow 2.x TensorFlow Keras を使用した 2.x PyTorch
    システムのボトルネックのモニタリング あり はい 可能
    フレームワークオペレーションのプロファイリング いいえ* いいえ** 可能
    モデル出力テンソルのデバッグ あり はい 可能

    * デバッガーは TensorFlow 2.x のフレームワークプロファイリングをサポートしていません。

    ** SageMaker 分散データ並列は、Keras 実装による TensorFlow 2.x をサポートしていません。

  • SageMaker 分散モデル並列 – デバッガーは SageMaker 分散モデル並列トレーニングをサポートしていません。

  • SageMaker チェックポイントを使用した分散トレーニング – 分散トレーニングオプションと SageMaker チェックポイントの両方が有効になっている場合、デバッガーはトレーニングジョブでは使用できません。次のようなエラーが表示されることがあります。

    SMDebug Does Not Currently Support Distributed Training Jobs With Checkpointing Enabled

    分散トレーニングオプションを使用してジョブをトレーニングするためにデバッガーを使用するには、 SageMaker チェックポイントを無効にし、トレーニングスクリプトに手動チェックポイント関数を追加する必要があります。分散トレーニングオプションとチェックポイントを使うデバッガーの使用の詳細については、「Amazon SageMaker Debugger とチェックポイントでの SageMaker 分散データ並列の使用」と「チェックポイントを保存する」を参照してください。

  • パラメータサーバー - デバッガーは、パラメータサーバーベースの分散トレーニングをサポートしていません。

  • 分散データ並列AllReducedオペレーションや Horovod オペレーション などの SageMaker 分散トレーニングフレームワークオペレーションのプロファイリングは利用できません。