翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CloudWatch を使用して GPU をモニタリングする
GPU で DLAMI を使用すると、トレーニングや推論中にその使用状況を追跡する方法が必要になることがあります。これは、データパイプラインの最適化や深層学習ネットワークのチューニングに役立ちます。
CloudWatch を使用して GPU メトリクスを設定するには、次の 2 つの方法があります。
AWS CloudWatch エージェントを使用してメトリクスを設定する (推奨)
DLAMI を統合 CloudWatch エージェントと統合して GPU メトリクスを設定し、Amazon EC2 高速インスタンスの GPU コプロセスの使用状況をモニタリングします。
DLAMI で GPU メトリクスを設定するには、次の 4 つの方法があります。
更新とセキュリティパッチの詳細については、「AWS CloudWatch エージェントのセキュリティパッチ適用」を参照してください。
前提条件
開始するには、Amazon EC2 インスタンスの 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
、Amazon Linux 2 DLAMI の最新の AWS CloudWatch エージェントセキュリティパッチを取得します。
sudo yum update
Ubuntu
Ubuntu で DLAMI の最新の AWS CloudWatch セキュリティパッチを取得するには、Amazon S3 ダウンロードリンクを使用して AWS CloudWatch エージェントを再インストールする必要があります。
wget https://s3.
region
.amazonaws.com/amazoncloudwatch-agent-region
/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb
Amazon S3 ダウンロードリンクを使用して AWS CloudWatch エージェントをインストールする方法の詳細については、「サーバーでの CloudWatch エージェントのインストールと実行」を参照してください。
プリインストールされた gpumon.py
スクリプトを使用してメトリクスを設定する
gpumon.py というユーティリティは、DLAMI にプリインストールされています。これは、CloudWatch と統合されており、GPU ごとの使用状況 (GPU メモリ、GPU 温度、GPU 電源) のモニタリングをサポートしています。このスクリプトは、モニタリングしたデータを CloudWatch に定期的に送信します。スクリプトでいくつかの設定を変更することで、CloudWatch に送信されるデータの詳細度レベルを設定できます。ただし、スクリプトを開始する前に、CloudWatch がメトリクスを受け取るように設定する必要があります。
CloudWatch を使用した GPU モニタリングを設定して実行する方法
-
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 でリージョンを変更します。
-
CloudWatch
namespace
や、store_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 モニタリングおよび最適化に関する他のトピックも参照できます。