Amazon SageMaker Debugger によって管理される組み込みプロファイラールールを設定する - Amazon SageMaker

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

Amazon SageMaker Debugger によって管理される組み込みプロファイラールールを設定する

Amazon SageMaker Debugger の組み込みプロファイラールールは、モデルのトレーニング中に収集されたシステムメトリクスとフレームワークオペレーションを分析します。Debugger には、トレーニング用のコンピューティングリソースとオペレーションを監視し、異常を検出するためのルールを設定するのに役立つ ProfilerRule API オペレーションが用意されています。例えば、プロファイリングルールは、CPU のボトルネック、過度の I/O 待機時間、GPU ワーカー間のワークロードの不均衡、コンピュートリソースの未使用などの計算上の問題があるかどうかを検出するのに役立ちます。使用可能な組み込みプロファイリングルールの完全なリストについては、「Debugger の組み込みプロファイラールールのリスト」を参照してください。

注記

組み込みルールは Amazon SageMaker 処理コンテナを通じて提供され、 SageMaker デバッガーによって追加料金なしで完全に管理されます。請求の詳細については、「Amazon の SageMaker 料金」ページを参照してください。

次のトピックでは、デバッガーの組み込みルールの使用方法を学習します。

デフォルトのパラメータ設定で SageMaker デバッガーの組み込みプロファイラールールを使用する

推定器に SageMaker デバッガーの組み込みルールを追加するには、rulesリストオブジェクトを設定する必要があります。次のコード例は、 SageMaker デバッガーの組み込みルールを一覧表示する基本的な構造を示しています。

from sagemaker.debugger import Rule, ProfilerRule, rule_configs rules=[ ProfilerRule.sagemaker(rule_configs.BuiltInProfilerRuleName_1()), ProfilerRule.sagemaker(rule_configs.BuiltInProfilerRuleName_2()), ... ProfilerRule.sagemaker(rule_configs.BuiltInProfilerRuleName_n()), ... # You can also append more debugging rules in the Rule.sagemaker(rule_configs.*()) format. ] estimator=Estimator( ... rules=rules )

組み込みルールの完全なリストについては、「Debugger の組み込みプロファイラールールのリスト」を参照してください。

プロファイリングルールを使用し、トレーニングジョブの計算パフォーマンスと進行状況を検査するには、 SageMaker デバッガーのProfilerReportルールを追加します。このルールは、デバッガー ProfilerRuleProfilerRuleファミリーのすべての組み込みルールをアクティブ化します。さらに、このルールは集約されたプロファイリングレポートを生成します。詳細については、 SageMaker 「デバッガーを使用して生成されたレポートのプロファイリング」を参照してください。次のコードを使用して、プロファイリングレポートルールをトレーニング推定器に追加できます。

from sagemaker.debugger import Rule, rule_configs rules=[ ProfilerRule.sagemaker(rule_configs.ProfilerReport()) ]

ProfilerReport ルールを使用してトレーニングジョブを開始すると、Debugger は 500 ミリ秒ごとにリソース使用状況データを収集します。デバッガーは、リソース使用率を分析して、モデルにボトルネックの問題があるかどうかを特定します。ルールがトレーニングの異常を検出すると、ルールの評価ステータスが IssueFound に変わります。Amazon CloudWatch Events と を使用して、トレーニングの問題の通知やトレーニングジョブの停止などの自動アクションを設定できます AWS Lambda。詳細については、「Amazon SageMaker Debugger ルールのアクション」を参照してください。

Debugger の組み込みプロファイラールールをカスタムパラメータ値で使用する

組み込みルールのパラメータ値を調整し、テンソルコレクションの正規表現をカスタマイズする場合は、ProfilerRule.sagemaker および Rule.sagemaker クラスメソッドの base_config および rule_parameters パラメータを設定します。Rule.sagemaker クラスメソッドの場合、collections_to_save パラメータを使用してテンソルコレクションをカスタマイズすることもできます。CollectionConfig クラスの使用方法については、「を使用して Tensor コレクションを設定する CollectionConfig API」を参照してください。

パラメータ値をカスタマイズするには、組み込みルールに次の設定テンプレートを使用します。好きなようにルールパラメータを変更することで、開始されるルールの感度を調整できます。

デバッガールールクラス、メソッド、パラメータの詳細については、Amazon SageMaker SageMaker Python SDK の「デバッガールールクラス」を参照してください。

from sagemaker.debugger import Rule, ProfilerRule, rule_configs, CollectionConfig rules=[ ProfilerRule.sagemaker( base_config=rule_configs.BuiltInProfilerRuleName(), rule_parameters={ "key": "value" } ) ]

各ルールのパラメータの説明と値のカスタマイズ例については、「Debugger の組み込みプロファイラールールのリスト」を参照してください。

CreateTrainingJob API を使用した Debugger の組み込みルールの低レベル JSON の設定については、「Amazon SageMaker API を使用してデバッガーを設定する」を参照してください。