View a markdown version of this page

Amazon SageMaker Debugger Python モジュールを使用した基本的なプロファイリング用パラメータを用いた推定器の設定 - Amazon SageMaker AI

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

Amazon SageMaker Debugger Python モジュールを使用した基本的なプロファイリング用パラメータを用いた推定器の設定

注記

サポート終了通知: 2027 年 6 月 30 日に、 AWS は Amazon SageMaker Profiler のサポートを終了します。2027 年 6 月 30 日以降、プロファイラーコンソールまたはプロファイラーリソースにアクセスできなくなります。詳細については、「プロファイラーの可用性の変更」を参照してください。

デフォルトでは、SageMaker Debugger の基本プロファイリングはデフォルトでオンになっており、Amazon SageMaker Python SDK を使用して送信されたすべての SageMaker トレーニングジョブの CPU 使用率、GPU 使用率、GPU メモリ使用率、ネットワーク、I/O 待機時間などのリソース使用率のメトリクスをモニタリングします。SageMaker Debugger は、これらのリソース使用率のメトリクスを 500 ミリ秒ごとに収集します。基本的なリソース使用率を追跡するために、コード、トレーニングスクリプト、またはジョブランチャーに追加の変更を加える必要はありません。基本プロファイリングのメトリクス収集間隔を変更する場合は、SageMaker Python SDK、または AWS Command Line Interface (CLI) を使用して SageMaker トレーニングジョブランチャーを作成するときに AWS SDK for Python (Boto3)、デバッガー固有のパラメータを指定できます。このガイドでは、Amazon SageMaker Python SDK を使用してプロファイリングオプションを変更する方法に焦点を当てています。このページでは、この推定器オブジェクトを設定するための参照テンプレートを提供します。

SageMaker Studio でトレーニングジョブのリソース使用率メトリクスダッシュボードにアクセスする場合は、Amazon SageMaker Studio Classic Experiments の Amazon SageMaker Debugger UI に移動することができます。

システムリソースの使用率の問題を自動的に検出するルールをアクティブ化する場合は、ルールをアクティブ化する rules パラメータを推定器オブジェクトに追加できます。

重要

最新の SageMaker Debugger の機能を使うには、SageMaker Python SDK と SMDebug クライアントライブラリをアップグレードする必要があります。iPython カーネル、Jupyter ノートブック、または JupyterLab 環境で、次のコードを実行して最新バージョンのライブラリをインストールし、カーネルを再起動します。

import sys import IPython !{sys.executable} -m pip install -U sagemaker smdebug IPython.Application.instance().kernel.do_shutdown(True)

SageMaker AI Python SDK の SageMaker Debugger Python モジュールを使用して SageMaker AI 推定器オブジェクトを設定するためのコードテンプレート

基本的なプロファイリング設定 (profiler_config) を調整するか、プロファイラールール (rules) を追加するには、次のテンプレートを使用して SageMaker AI トレーニングジョブを設定します。以降のページでは、2 つのパラメータの設定方法について詳細を示します。

注記

次のコード例は、直接実行できません。次のセクションに進み、各パラメータの設定方法について説明します。

# An example of creating a training job with profiler configuration import boto3 from sagemaker.core import image_uris from sagemaker.core.resources import TrainingJob from sagemaker.core.shapes import ( AlgorithmSpecification, ResourceConfig, OutputDataConfig, StoppingCondition, ProfilerConfig as CoreProfilerConfig, ProfilerRuleConfiguration, ) session=boto3.session.Session() region=session.region_name # Retrieve the training image for your framework # Change framework to "tensorflow", "mxnet", "xgboost", etc. as needed training_image = image_uris.retrieve( framework="pytorch", # or "tensorflow", "mxnet", "xgboost" region=region, version="1.12.0", py_version="py37", instance_type="ml.p3.2xlarge", image_scope="training" ) profiler_config=CoreProfilerConfig(...) profiler_rule_configurations=[ ProfilerRuleConfiguration( rule_configuration_name="BuiltInRule", rule_evaluator_image="rule-evaluator-image-uri", ) ] TrainingJob.create( training_job_name="debugger-profiling-demo", algorithm_specification=AlgorithmSpecification( training_image=training_image, training_input_mode="File", ), role_arn="arn:aws:iam::123456789012:role/SageMakerRole", resource_config=ResourceConfig(instance_type="ml.p3.2xlarge", instance_count=1, volume_size_in_gb=30), output_data_config=OutputDataConfig(s3_output_path="s3://bucket/output"), stopping_condition=StoppingCondition(max_runtime_in_seconds=3600), # SageMaker Debugger parameters profiler_config=profiler_config, profiler_rule_configurations=profiler_rule_configurations, )
注記

MXNet および XGBoost の場合、 profiler_configパラメータを設定するときは、システムモニタリングのためにのみ を設定できます。フレームワークメトリクスのプロファイリングは、MXNet または XGBoost ではサポートされていません。

次に、パラメータについて簡単に説明します。

  • profiler_config - トレーニングジョブからシステムメトリクスとフレームワークメトリクスを収集し、セキュアな S3 バケット URI またはローカルマシンに保存するようにデバッガーを設定します。システムメトリクスを収集する頻度を設定できます。profiler_config パラメータの設定方法については、「システムリソース使用率の基本的なプロファイリング設定を行う」および「フレームワークプロファイリング用の推定器設定」を参照してください。

  • rules - 並列で実行する SageMaker Debugger の組み込みルールをアクティブ化するには、このパラメータを設定します。トレーニングジョブがこの S3 バケットに対するアクセス権を持っていることを確認してください。ルールは処理中のコンテナで実行され、トレーニングジョブを自動的に分析して計算上および運用上のパフォーマンスの問題を検索します。ProfilerReport ルールは、組み込みのプロファイリングルールをすべて実行し、プロファイリング結果をセキュリティで保護された S3 バケットにレポートとして保存する、最も統合されたルールです。rules パラメータの設定方法については、「Amazon SageMaker Debugger によって管理される組み込みプロファイラールールを使用する」を参照してください。

注記

デバッガーは、デフォルトの S3 バケットのサブフォルダに出力データを安全に保存します。例えば、デフォルトの S3 バケット URI の形式は、s3://sagemaker-<region>-<12digit_account_id>/<base-job-name>/<debugger-subfolders>/ です。デバッガーによって作成されるサブフォルダは、debug-outputprofiler-outputrule-output の 3 つです。SageMaker AI 推定器クラスメソッドを使用してデフォルトの S3 バケット URI を取得することもできます。

デバッガー固有パラメータの詳細な設定方法については、次のトピックを参照してください。