Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Überwachen Sie GPUs mit CloudWatch
Wenn Sie Ihre DLAMI mit einem GPU verwenden, stellen Sie möglicherweise fest, dass Sie auf der Suche nach Möglichkeiten zur Nachverfolgung der Nutzung während der Schulung oder Inferenz sind. Dies kann nützlich sein, um Ihre Datenpipeline zu optimieren und Ihr Deep Learning-Netzwerk zu verfeinern.
Es gibt zwei Möglichkeiten, GPU-Metriken zu konfigurieren mit CloudWatch:
Konfigurieren Sie Metriken mit dem AWS CloudWatch Agent (empfohlen)
Integrieren Sie Ihr DLAMI in den Unified CloudWatch Agent, um GPU-Metriken zu konfigurieren und die Nutzung von GPU-Coprozessen in Amazon EC2-beschleunigten Instances zu überwachen.
Es gibt vier Möglichkeiten, GPU-Metriken mit Ihrem DLAMI zu konfigurieren:
Informationen zu Updates und Sicherheitspatches finden Sie unter Sicherheits-Patches für AWS CloudWatch Agent
Voraussetzungen
Zunächst müssen Sie die IAM-Berechtigungen für Amazon EC2-Instances konfigurieren, die es Ihrer Instance ermöglichen, Metriken per Push an diese zu übertragen. CloudWatch Eine ausführliche Anleitung finden Sie unter IAM-Rollen und -Benutzer zur Verwendung mit dem Agenten erstellen. CloudWatch
Konfigurieren Sie minimale GPU-Metriken
Konfigurieren Sie mithilfe des dlami-cloudwatch-agent@minimal systemd Dienstes minimale GPU-Metriken. Dieser Dienst konfiguriert die folgenden Metriken:
utilization_gpuutilization_memory
Sie finden den systemd Service für minimale vorkonfigurierte GPU-Metriken an der folgenden Stelle:
/opt/aws/amazon-cloudwatch-agent/etc/dlami-amazon-cloudwatch-agent-minimal.json
Aktivieren und starten Sie den systemd Dienst mit den folgenden Befehlen:
sudo systemctl enable dlami-cloudwatch-agent@minimal sudo systemctl start dlami-cloudwatch-agent@minimal
Konfigurieren Sie teilweise GPU-Metriken
Konfigurieren Sie teilweise GPU-Metriken mithilfe des dlami-cloudwatch-agent@partial systemd Dienstes. Dieser Dienst konfiguriert die folgenden Metriken:
utilization_gpuutilization_memorymemory_totalmemory_usedmemory_free
Den systemd Service für teilweise vorkonfigurierte GPU-Metriken finden Sie am folgenden Ort:
/opt/aws/amazon-cloudwatch-agent/etc/dlami-amazon-cloudwatch-agent-partial.json
Aktivieren und starten Sie den systemd Dienst mit den folgenden Befehlen:
sudo systemctl enable dlami-cloudwatch-agent@partial sudo systemctl start dlami-cloudwatch-agent@partial
Konfigurieren Sie alle verfügbaren GPU-Metriken
Konfigurieren Sie alle verfügbaren GPU-Metriken mithilfe des dlami-cloudwatch-agent@all systemd Dienstes. Dieser Dienst konfiguriert die folgenden Metriken:
utilization_gpuutilization_memorymemory_totalmemory_usedmemory_freetemperature_gpupower_drawfan_speedpcie_link_gen_currentpcie_link_width_currentencoder_stats_session_countencoder_stats_average_fpsencoder_stats_average_latencyclocks_current_graphicsclocks_current_smclocks_current_memoryclocks_current_video
Sie finden den systemd Service für alle verfügbaren vorkonfigurierten GPU-Metriken am folgenden Ort:
/opt/aws/amazon-cloudwatch-agent/etc/dlami-amazon-cloudwatch-agent-all.json
Aktivieren und starten Sie den systemd Dienst mit den folgenden Befehlen:
sudo systemctl enable dlami-cloudwatch-agent@all sudo systemctl start dlami-cloudwatch-agent@all
Konfigurieren Sie benutzerdefinierte GPU-Metriken
Wenn die vorkonfigurierten Metriken Ihre Anforderungen nicht erfüllen, können Sie eine benutzerdefinierte CloudWatch Agentenkonfigurationsdatei erstellen.
Erstellen Sie eine benutzerdefinierte Konfigurationsdatei
Informationen zum Erstellen einer benutzerdefinierten Konfigurationsdatei finden Sie in den detaillierten Schritten unter CloudWatch Agentenkonfigurationsdatei manuell erstellen oder bearbeiten.
Gehen Sie für dieses Beispiel davon aus, dass sich die Schemadefinition unter befindet/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json.
Konfigurieren Sie Metriken mit Ihrer benutzerdefinierten Datei
Führen Sie den folgenden Befehl aus, um den CloudWatch Agenten gemäß Ihrer benutzerdefinierten Datei zu konfigurieren:
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
Sicherheits-Patches für AWS CloudWatch Agent
Neu veröffentlichte DLAMIs sind mit den neuesten verfügbaren AWS CloudWatch Agenten-Sicherheitspatches konfiguriert. Lesen Sie die folgenden Abschnitte, um Ihr aktuelles DLAMI je nach Betriebssystem Ihrer Wahl mit den neuesten Sicherheitspatches zu aktualisieren.
Amazon Linux 2
Verwenden Sieyum, um die neuesten AWS CloudWatch Agenten-Sicherheitspatches für ein Amazon Linux 2-DLAMI zu erhalten.
sudo yum update
Ubuntu
Um die neuesten AWS CloudWatch Sicherheitspatches für ein DLAMI mit Ubuntu zu erhalten, müssen Sie den AWS CloudWatch Agenten mithilfe eines Amazon S3-Downloadlinks erneut installieren.
wget https://s3.region.amazonaws.com/amazoncloudwatch-agent-region/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb
Weitere Informationen zur Installation des AWS CloudWatch Agenten mithilfe von Amazon S3-Download-Links finden Sie unter Installation und Ausführung des CloudWatch Agenten auf Ihren Servern.
Konfigurieren Sie Messobjekte mit dem vorinstallierten Skript gpumon.py
Das Dienstprogramm gpumon.py ist auf Ihrem DLAMI vorinstalliert. Es ist in die Nutzung pro GPU integriert CloudWatch und unterstützt deren Überwachung: GPU-Speicher, GPU-Temperatur und GPU-Leistung. Das Skript sendet die überwachten Daten regelmäßig an CloudWatch. Sie können den Granularitätsgrad für die Daten, an die gesendet werden, konfigurieren, CloudWatch indem Sie einige Einstellungen im Skript ändern. Bevor Sie das Skript starten, müssen Sie es jedoch einrichten, um die CloudWatch Metriken zu empfangen.
Wie richte ich das GPU-Monitoring ein und führe es aus mit CloudWatch
-
Erstellen Sie einen IAM-Benutzer oder ändern Sie einen vorhandenen, sodass eine Richtlinie für die Veröffentlichung der Metrik festgelegt ist. CloudWatch Wenn Sie einen neuen Benutzer erstellen, notieren Sie sich die Anmeldeinformationen, da Sie diese im nächsten Schritt benötigen.
Die IAM-Richtlinie, nach der gesucht werden soll, lautet „cloudwatch:“. PutMetricData Die Richtlinie, die hinzugefügt wird, lautet wie folgt:
Tipp
Weitere Informationen zum Erstellen eines IAM-Benutzers und zum Hinzufügen von Richtlinien für CloudWatch finden Sie in der Dokumentation. CloudWatch
-
Führen Sie auf Ihrem DLAMI den Befehl AWS configure aus und geben Sie die IAM-Benutzeranmeldeinformationen an.
$aws configure -
Möglicherweise müssen Sie einige Änderungen am gpumon-Dienstprogramm vornehmen, bevor Sie es ausführen können. Sie finden das gpumon-Hilfsprogramm und die README-Datei an der Stelle, die im folgenden Codeblock definiert ist. Weitere Informationen zum
gpumon.pySkript finden Sie unter dem Amazon S3-Speicherort des Skripts.Folder: ~/tools/GPUCloudWatchMonitor Files: ~/tools/GPUCloudWatchMonitor/gpumon.py ~/tools/GPUCloudWatchMonitor/READMEOptionen:
-
Ändern Sie die Region in gpumon.py, wenn sich Ihre Instance NICHT in us-east-1 befindet.
-
Ändern Sie andere Parameter wie den CloudWatch
namespaceoder den Berichtszeitraum mitstore_reso.
-
-
Derzeit unterstützt das Skript nur Python 3. Aktivieren Sie die Python-3-Umgebung Ihres bevorzugten Frameworks oder aktivieren Sie die allgemeine Python-3-Umgebung von DLAMI.
$source activate python3 -
Führen Sie das gpumon-Dienstprogramm im Hintergrund aus.
(python3)$python gpumon.py & -
Öffnen Sie Ihren Browser mit https://console.aws.amazon.com/cloudwatch/
und wählen Sie dann die Metrik. Es wird einen Namespace '' haben. DeepLearningTrain Tipp
Sie können den Namespace durch Modifizierung von gpumon.py ändern. Sie können auch das Berichtsintervall durch Anpassung von
store_resoändern.
Im Folgenden finden Sie ein CloudWatch Beispieldiagramm, das über eine Ausführung von gpumon.py berichtet, die einen Trainingsauftrag auf einer p2.8xlarge-Instance überwacht.
Möglicherweise sind diese weiteren Themen zur GPU-Überwachung und -Optimierung für Sie interessant:
-
-
Überwachen Sie GPUs mit CloudWatch
-