翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
GPUs によるモニタリング CloudWatch
DLAMI で を使用するとGPU、トレーニングまたは推論中にその使用状況を追跡する方法を探している場合があります。これは、データパイプラインの最適化や深層学習ネットワークのチューニングに役立ちます。
でGPUメトリクスを設定するには、次の 2 つの方法があります CloudWatch。
を使用してメトリクスを設定する AWS CloudWatch エージェント (推奨)
を統合 CloudWatch エージェントDLAMIと統合してGPUメトリクスを設定し、Amazon EC2 高速インスタンスでのGPUコプロセスの使用状況をモニタリングします。
でGPUメトリクスを設定するには、次の 4 つの方法がありますDLAMI。
更新とセキュリティパッチの詳細については、「のセキュリティパッチ適用 AWS CloudWatch エージェント」を参照してください。
前提条件
開始するには、EC2インスタンスがメトリクスを にプッシュできるようにする Amazon インスタンスのIAMアクセス許可を設定する必要があります CloudWatch。詳細な手順については、 CloudWatch 「 エージェントで使用するIAMロールとユーザーを作成する」を参照してください。
最小GPUメトリクスを設定する
dlami-cloudwatch-agent@minimal
systemd
サービスを使用して最小限のGPUメトリクスを設定します。このサービスは以下のメトリクスを設定します。
utilization_gpu
utilization_memory
事前設定された最小限のGPUメトリクスのsystemd
サービスは、次の場所にあります。
/opt/aws/amazon-cloudwatch-agent/etc/dlami-amazon-cloudwatch-agent-minimal.json
以下のコマンドで systemd
サービスを有効にして起動します。
sudo systemctl enable dlami-cloudwatch-agent@minimal sudo systemctl start dlami-cloudwatch-agent@minimal
部分的なGPUメトリクスを設定する
dlami-cloudwatch-agent@partial
systemd
サービスを使用して部分的なGPUメトリクスを設定します。このサービスは以下のメトリクスを設定します。
utilization_gpu
utilization_memory
memory_total
memory_used
memory_free
事前設定済みのメトリクスの一部については、次の場所GPUにあるsystemd
サービスを参照してください。
/opt/aws/amazon-cloudwatch-agent/etc/dlami-amazon-cloudwatch-agent-partial.json
以下のコマンドで systemd
サービスを有効にして起動します。
sudo systemctl enable dlami-cloudwatch-agent@partial sudo systemctl start dlami-cloudwatch-agent@partial
使用可能なすべてのGPUメトリクスを設定する
dlami-cloudwatch-agent@all
systemd
サービスを使用して、使用可能なすべてのGPUメトリクスを設定します。このサービスは以下のメトリクスを設定します。
utilization_gpu
utilization_memory
memory_total
memory_used
memory_free
temperature_gpu
power_draw
fan_speed
pcie_link_gen_current
pcie_link_width_current
encoder_stats_session_count
encoder_stats_average_fps
encoder_stats_average_latency
clocks_current_graphics
clocks_current_sm
clocks_current_memory
clocks_current_video
使用可能なすべての事前設定済みGPUメトリクスのsystemd
サービスは、次の場所にあります。
/opt/aws/amazon-cloudwatch-agent/etc/dlami-amazon-cloudwatch-agent-all.json
以下のコマンドで systemd
サービスを有効にして起動します。
sudo systemctl enable dlami-cloudwatch-agent@all sudo systemctl start dlami-cloudwatch-agent@all
カスタムGPUメトリクスを設定する
事前設定されたメトリクスが要件を満たさない場合は、カスタム CloudWatch エージェント設定ファイルを作成できます。
カスタム設定を作成する
カスタム設定ファイルを作成するには、 CloudWatch 「エージェント設定ファイル を手動で作成または編集する」の詳細なステップを参照してください。
この例では、スキーマ定義が /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json
にあると仮定します。
カスタムファイルを使用してメトリクスを設定する
次のコマンドを実行して、カスタムファイルに従って CloudWatch エージェントを設定します。
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl \ -a fetch-config -m ec2 -s -c \ file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json
のセキュリティパッチ適用 AWS CloudWatch エージェント
新しくリリースされた DLAMIsは、利用可能な最新の で設定されます。 AWS CloudWatch エージェントセキュリティパッチ。選択したオペレーティングシステムに応じて、現在の を最新のセキュリティパッチDLAMIで更新するには、以下のセクションを参照してください。
Amazon Linux 2
yum
を使用して最新の を取得する AWS CloudWatch Amazon Linux 2 の エージェントセキュリティパッチDLAMI。
sudo yum update
Ubuntu
最新の を取得するには AWS CloudWatch Ubuntu DLAMI を使用する のセキュリティパッチは、 を再インストールする必要があります。 AWS CloudWatch Amazon S3 ダウンロードリンクを使用する エージェント。
wget https://s3.
region
.amazonaws.com/amazoncloudwatch-agent-region
/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb
のインストールの詳細については、「」を参照してください。 AWS CloudWatch Amazon S3 ダウンロードリンクを使用する エージェントについては、「サーバーへの CloudWatch エージェントのインストールと実行」を参照してください。
プリインストールされた gpumon.py
スクリプトを使用してメトリクスを設定する
gpumon.py というユーティリティが にプリインストールされていますDLAMI。と統合 CloudWatch され、GPUメモリ、GPU温度、GPU電力などの使用量ごとのGPUモニタリングをサポートします。このスクリプトは、モニタリング対象データを に定期的に送信します CloudWatch。スクリプトのいくつかの設定を変更 CloudWatch することで、 に送信されるデータの粒度を設定できます。ただし、スクリプトを開始する前に、メトリクスを受信する CloudWatch ように を設定する必要があります。
でGPUモニタリングをセットアップして実行する方法 CloudWatch
-
ユーザーを作成するか、既存のIAMユーザーを変更して、メトリクスを に発行するためのポリシーを設定します CloudWatch。新しいユーザーを作成する場合、認証情報をメモしてください。次のステップで必要になります。
検索するIAMポリシーは「cloudwatch:PutMetricData」です。追加されるポリシーは次のようになります。
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:PutMetricData" ], "Effect": "Allow", "Resource": "*" } ] }
ヒント
IAM ユーザーの作成と のポリシーの追加の詳細については CloudWatch、「」の CloudWatch ドキュメントを参照してください。
-
でDLAMI、 を実行します。 AWS IAM ユーザー認証情報を設定して指定します。
$
aws configure -
実行する前に、gpumon ユーティリティにいくつかの変更が必要になる場合があります。gpumon ユーティリティ と はREADME、次のコードブロックで定義されている場所に配置できます。
gpumon.py
スクリプトの詳細については、スクリプトの Amazon S3 の場所を参照してください。 Folder: ~/tools/GPUCloudWatchMonitor Files: ~/tools/GPUCloudWatchMonitor/gpumon.py ~/tools/GPUCloudWatchMonitor/README
オプション:
-
インスタンスが us-east-1 にある場合は、gpumon.py NOTでリージョンを変更します。
-
namespace
やレポート期間などの他のパラメータを で変更します CloudWatchstore_reso
。
-
-
現在、スクリプトでは Python 3 のみがサポートされています。任意のフレームワークの Python 3 環境をアクティブ化するか、DLAMI一般的な Python 3 環境をアクティブ化します。
$
source activate python3 -
gpumon ユーティリティをバックグラウンドで実行します。
(python3)$
python gpumon.py & -
ブラウザを開き、 https://console.aws.amazon.com/cloudwatch/
メトリクスを選択します。名前空間DeepLearningTrain「」があります。 ヒント
gpumon.py を変更することで名前空間を変更できます。
store_reso
を調整することで、レポートの間隔を調整することもできます。
以下は、p2.8xlarge インスタンスでトレーニングジョブをモニタリングする gpumon.py の実行に関する CloudWatch グラフレポートの例です。
GPU モニタリングと最適化に関する他のトピックに興味があるかもしれません。