ディープヘルスチェック - Amazon SageMaker AI

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

ディープヘルスチェック

SageMaker HyperPod は、HyperPod クラスターの作成と更新中にクラスターインスタンスに対してディープヘルスチェックを実行します。ディープヘルスチェックは、基盤となるハードウェアとインフラストラクチャコンポーネントを徹底的にテストして、SageMaker HyperPod クラスターの信頼性と安定性を確保してから、クラスターを機械学習モデルのトレーニングに使用できるようにします。このプロアクティブアプローチは、クラスターライフサイクルの早い段階で潜在的な問題を特定して軽減するのに役立ちます。

SageMaker HyperPod によって行われたディープヘルスチェックのリスト

SageMaker HyperPod は、次のディープヘルスチェックを実行します。

インスタンスレベルのディープヘルスチェック

カテゴリ ユーティリティ名 インスタンスタイプの互換性 [Description] (説明)
アクセラレーター GPU/NVLink の数 GPU GPU/NVLink の数を検証します。
アクセラレーター DCGM 診断レベル 4 GPU 追加のメモリテストなど、レベル 4 で DCGM (NVIDIA Data Center GPU Manager) 診断 GPU を実行して、NVIDIA GPU の状態と機能を評価します。
アクセラレーター Neuron sysfs Trainium Trainium 搭載インスタンスの場合、Neuron デバイスのヘルスは、Neuron ドライバーによって直接伝達される Neuron sysfs からカウンターを読み取ることで決まります。
アクセラレーター Neuron ハードウェアチェック Trainium トレーニングワークロードを実行して数値を生成し、ハードウェアのテストを目的として検証します。
アクセラレーター NCCOM ローカルテスト Trainium 単一の Trainium ノードでの一括通信オペレーションのパフォーマンスを評価します
ネットワーク EFA GPU と Trainium アタッチされた EFA デバイスでレイテンシーと帯域幅のベンチマークを実行します。

クラスターレベルのディープヘルスチェック

カテゴリ ユーティリティ名 インスタンスタイプの互換性 [Description] (説明)
アクセラレーター NCCL テスト GPU 複数の NVIDIA GPU 上での集合通信演算のパフォーマンスを検証します。
アクセラレーター NCCOM クラスターテスト Trainium 複数の Trainium ノードでの集合通信演算のパフォーマンスを検証します。

ディープヘルスチェックからのログ

SageMaker HyperPod のディープヘルスチェックからのログの例を次に示します。

クラスターレベルのログ

クラスターレベルのディープヘルスチェックログは、/aws/sagemaker/Clusters/<cluster_name>/<cluster_id> の CloudWatch ロググループに保存されます。

ログストリームは DeepHealthCheckResults/<log_stream_id> に記録されます。

以下に示されている例のように、ディープヘルスチェック出力ログには、チェックに失敗したインスタンス ID と失敗の原因が表示されます。

{ "level": "error", "ts": "2024-06-18T21:15:22Z", "msg": "Encountered FaultyInstance. Replace the Instance. Region: us-west-2, InstanceType: p4d.24xlarge. ERROR:Bandwidth has less than threshold: Expected minimum threshold :80,NCCL Test output Bw: 30" }

インスタンスレベルのログ

インスタンスレベルのディープヘルスチェックログは、各ノードの /var/log/aws/clusterscat/sagemaker-deep-health-check.log に保存されます。ノードに SSH を送り、次のコマンドを実行してログファイルを開きます。

cat /var/log/aws/clusterscat/sagemaker-deep-health-check.log

以下は、ハードウェアストレス、NVIDIA DCGM ストレス、EFA 接続テストの出力例です。

# Hardware Stress Test output 2024-08-20T21:53:58Z info Executing Hardware stress check with command: stress-ng, and args: [--cpu 32 --vm 2 --hdd 1 --fork 8 --switch 4 --timeout 60 --metrics] 2024-08-20T21:54:58Z info stress-ng success 2024-08-20T21:54:58Z info GpuPci Count check success # DCGM Stress Test 2024-08-20T22:25:02Z info DCGM diagnostic health summary: dcgmCheckLevel: 0 dcgmVersion: 3.3.7 gpuDriverVersion: 535.183.01, gpuDeviceIds: [2237] replacementRequired: false rebootRequired:false # EFA Loopback Test 2024-08-20T22:26:28Z info EFA Loopback check passed for device: rdmap0s29 . Output summary is MaxBw: 58.590000, AvgBw: 32.420000, MaxTypicalLat: 30.870000, MinTypicalLat: 20.080000, AvgLat: 21.630000

次は、NCCL 接続テストの出力例です。

# size count type redop root time algbw busbw #wrong time algbw busbw #wrong # (B) (elements) (us) (GB/s) (GB/s) (us) (GB/s) (GB/s) 8 2 float sum -1 353.9 0.00 0.00 0 304.2 0.00 0.00 0 16 4 float sum -1 352.8 0.00 0.00 0 422.9 0.00 0.00 0 32 8 float sum -1 520.0 0.00 0.00 0 480.3 0.00 0.00 0 64 16 float sum -1 563.0 0.00 0.00 0 416.1 0.00 0.00 0 128 32 float sum -1 245.1 0.00 0.00 0 308.4 0.00 0.00 0 256 64 float sum -1 310.8 0.00 0.00 0 304.9 0.00 0.00 0 512 128 float sum -1 304.9 0.00 0.00 0 300.8 0.00 0.00 0 1024 256 float sum -1 509.3 0.00 0.00 0 495.4 0.00 0.00 0 2048 512 float sum -1 530.3 0.00 0.00 0 420.0 0.00 0.00 0 4096 1024 float sum -1 391.2 0.01 0.01 0 384.5 0.01 0.01 0 8192 2048 float sum -1 328.5 0.02 0.02 0 253.2 0.03 0.03 0 16384 4096 float sum -1 497.6 0.03 0.03 0 490.9 0.03 0.03 0 32768 8192 float sum -1 496.7 0.07 0.07 0 425.0 0.08 0.08 0 65536 16384 float sum -1 448.0 0.15 0.15 0 501.0 0.13 0.13 0 131072 32768 float sum -1 577.4 0.23 0.23 0 593.4 0.22 0.22 0 262144 65536 float sum -1 757.8 0.35 0.35 0 721.6 0.36 0.36 0 524288 131072 float sum -1 1057.1 0.50 0.50 0 1019.1 0.51 0.51 0 1048576 262144 float sum -1 1460.5 0.72 0.72 0 1435.6 0.73 0.73 0 2097152 524288 float sum -1 2450.6 0.86 0.86 0 2583.1 0.81 0.81 0 4194304 1048576 float sum -1 4344.5 0.97 0.97 0 4419.3 0.95 0.95 0 8388608 2097152 float sum -1 8176.5 1.03 1.03 0 8197.8 1.02 1.02 0 16777216 4194304 float sum -1 15312 1.10 1.10 0 15426 1.09 1.09 0 33554432 8388608 float sum -1 30149 1.11 1.11 0 29941 1.12 1.12 0 67108864 16777216 float sum -1 57819 1.16 1.16 0 58635 1.14 1.14 0 134217728 33554432 float sum -1 115699 1.16 1.16 0 115331 1.16 1.16 0 268435456 67108864 float sum -1 227507 1.18 1.18 0 228047 1.18 1.18 0 536870912 134217728 float sum -1 453751 1.18 1.18 0 456595 1.18 1.18 0 1073741824 268435456 float sum -1 911719 1.18 1.18 0 911808 1.18 1.18 0 2147483648 536870912 float sum -1 1804971 1.19 1.19 0 1806895 1.19 1.19 0 2024-08-20T16:22:43.831-07:00 # Out of bounds values : 0 OK 2024-08-20T16:22:43.831-07:00 # Avg bus bandwidth : 0.488398 2024-08-20T23:22:43Z info Nccl test successful. Summary: NcclMaxAlgoBw: 1.190000, NcclAvgAlgoBw: 0.488398, NcclThresholdAlgoBw: 1.180000, NcclOutOfBoundError: OK, NcclOperations: all_reduce_perf, NcclTotalDevices: 2, NcclNodes: 2, NcclClusterMessage: