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

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

Amazon SageMaker Debugger リファレンス

Amazon SageMaker Debugger の使用に関する詳細情報とリファレンスについては、以下のトピックを参照してください。

Amazon SageMaker Debugger API

Amazon SageMaker デバッガーには、モデルトレーニングのモニタリングと分析の実装に使用される API オペレーションが数か所に用意されています。

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

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

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

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

Debugger ルールの Docker イメージ

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

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

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

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

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

組み込みルール評価用の Amazon SageMaker Debugger イメージの URL

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

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

カスタムルール評価用の Amazon SageMaker Debugger イメージの URI

Amazon SageMaker デバッガーのカスタムルールエバリュエーターを提供するイメージのレジストリ URL のコンポーネントには、次の値を使用します。アカウント ID については、次の表を参照してください。

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 Debugger の例外

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 2.x (Keras を使用) PyTorch
    システムのボトルネックのモニタリング あり あり あり あり あり
    フレームワークオペレーションのプロファイリング いいえ いいえ いいえ はい あり
    モデル出力テンソルのデバッグ あり あり あり あり あり
  • SageMaker AI 分散データ並列

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

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

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

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

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

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

    SMDebug Does Not Currently Support Distributed Training Jobs With Checkpointing Enabled

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

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

  • SageMaker AI 分散データ並列オペレーションや Horovod AllReducedオペレーションなどの分散トレーニングフレームワークオペレーションのプロファイリングは利用できません。 https://horovod.readthedocs.io/en/stable/timeline_include.html