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.
SageMaker Interaktiver Debugger-Bericht
Erhalten Sie vom Debugger automatisch generierte Profiling-Berichte. Der Debugger-Bericht bietet Einblicke in Ihre Trainingsaufträge und gibt Empfehlungen zur Verbesserung der Modellleistung. Der folgende Screenshot zeigt eine Collage des Debugger-Profilerstellungsberichts. Weitere Informationen hierzu finden Sie unter SageMaker Bericht zur Debugger-Profilerstellung.
Anmerkung
Sie können Debugger-Berichte herunterladen, während Ihr Trainingsauftrag läuft oder nachdem der Job abgeschlossen ist. während des Trainings aktualisiert der Debugger gleichzeitig den Bericht, der den Auswertungsstatus der aktuellen Regeln wiedergibt. Sie können einen vollständigen Debugger-Bericht erst herunterladen, wenn der Trainingsauftrag abgeschlossen ist.
Wichtig
Die Berichte, Diagramme und Empfehlungen dienen zu Informationszwecken und sind nicht endgültig. Sie übernehmen die Verantwortung dafür, die Informationen unabhängig zu bewerten.
SageMaker Bericht zur Debugger-Profilerstellung
Für alle SageMaker Trainingsjobs ruft die SageMaker ProfilerReport Debugger-Regel alle Überwachungs- und Profilerstellungsregeln auf und fasst die Regelanalyse in einem umfassenden Bericht zusammen. Folgen Sie dieser Anleitung, laden Sie den Bericht mit dem Amazon SageMaker Python SDK
Wichtig
Der Bericht enthält Diagramme und Empfehlungen zu Informationszwecken und sind nicht endgültig. Es liegt in Ihrer Verantwortung, die Informationen eigenständig zu bewerten.
Laden Sie den SageMaker Debugger-Profiling-Bericht herunter
Laden Sie den SageMaker Debugger-Profiling-Bericht herunter, während Ihr Trainingsjob läuft oder nachdem der Job mit dem Amazon SageMaker Python SDK
Anmerkung
Um den vom Debugger generierten Profilerstellungsbericht zu erhalten, müssen Sie die vom SageMaker Debugger angebotene integrierte ProfilerReportRegel verwenden. SageMaker Informationen zur Aktivierung der Regel bei Ihrem Trainingsauftrag finden Sie unter Integrierte Profiler-Regeln konfigurieren.
Tipp
Sie können den Bericht auch mit einem einzigen Klick im SageMaker Studio Debugger Insights-Dashboard herunterladen. Dies erfordert kein zusätzliches Scripting, um den Bericht herunterzuladen. Informationen zum Herunterladen des Berichts aus Studio finden Sie unter Öffnen Sie das Amazon SageMaker Debugger Insights-Dashboard.
Anmerkung
Wenn Sie Ihren Trainingsauftrag gestartet haben, ohne die Debugger-spezifischen Parameter zu konfigurieren, generiert Debugger den Bericht nur auf der Grundlage der Systemüberwachungsregeln, da die Debugger-Parameter nicht zum Speichern von Framework-Metriken konfiguriert sind. Um die Profilerstellung von Framework-Metriken zu aktivieren und einen erweiterten Debugger-Profilerstellungsbericht zu erhalten, konfigurieren Sie den Parameter bei der Erstellung oder Aktualisierung von Schätzern. profiler_config
SageMaker
Informationen zur Konfiguration des profiler_config
Parameters vor Beginn eines Trainingsauftrags finden Sie unter Konfigurieren für Framework-Profiling.
Informationen zum Aktualisieren des aktuellen Trainingsauftrags und zum Aktivieren der Profilerstellung für Framework-Metriken finden Sie unter Aktualisieren der Konfiguration der Debugger-Framework-Profilkonfiguration.
Exemplarische Vorgehensweise für den Bericht zur Debugger-Profilerstellung
In diesem Abschnitt wird der Debugger-Profilerstellungsbericht beschrieben. Der Profilerstellungsbericht wird auf der Grundlage der integrierten Regeln für Überwachung und Profilerstellung generiert. Der Bericht zeigt nur Ergebnisdiagramme für die Regeln, bei denen Probleme festgestellt wurden.
Wichtig
In dem Bericht werden die Diagramme und Empfehlungen zu Informationszwecken bereitgestellt und sind nicht endgültig. Sie übernehmen die Verantwortung dafür, die Informationen unabhängig zu bewerten.
Themen
Zusammenfassung der Ausbildungsberufe
Zu Beginn des Berichts bietet Debugger eine Zusammenfassung Ihres Trainingsauftrags. In diesem Abschnitt können Sie sich einen Überblick über die Dauer und die Zeitstempel der verschiedenen Trainingsphasen verschaffen.
Die Übersichtstabelle enthält die folgenden Informationen:
-
start_time – Die genaue Uhrzeit, zu der der Trainingsauftrag gestartet wurde.
-
end_time – Die genaue Uhrzeit, zu der der Trainingsauftrag beendet wurde.
-
job_duration_in_seconds – Die gesamte Trainingszeit von der start_time bis zur end_time.
-
training_loop_start – Der genaue Zeitpunkt, zu dem der erste Schritt der ersten Epoche begonnen hat.
-
training_loop_end – Der genaue Zeitpunkt, zu dem der letzte Schritt der letzten Epoche abgeschlossen ist.
-
training_loop_duration_in_seconds – Die Gesamtzeit zwischen der Startzeit der Trainingsschleife und der Endzeit der Trainingsschleife.
-
initialization_in_seconds – Zeit, die für die Initialisierung des Trainingsauftrags aufgewendet wurde. Die Initialisierungsphase umfasst den Zeitraum von der start_time bis zur training_loop_start. Die Initialisierungszeit wird für das Kompilieren des Trainingsskripts, das Starten des Trainingsskripts, das Erstellen und Initialisieren des Modells, das Initiieren von EC2-Instances und das Herunterladen von Trainingsdaten aufgewendet.
-
finalization_in_seconds – Zeit, die für den Abschluss des Trainingsauftrags aufgewendet wird, z. B. für den Abschluss des Modelltrainings, die Aktualisierung der Modellartefakte und das Schließen der EC2-Instances. Die Finalisierungsphase umfasst den Zeitraum von der Zeit training_loop_end bis end_time.
-
initialization (%) – Der Prozentsatz der für die Initialisierung aufgewendeten Zeit über die gesamte Dauer von job_duration_in_seconds.
-
Trainingsschleife (%) – Der Prozentsatz der für training loop aufgewendeten Zeit über die gesamte Dauer von job_duration_in_seconds.
-
Abschluss (%) – Der Prozentsatz der für die Finalisierung aufgewendeten Zeit an der gesamten Dauer von job_duration_in_seconds.
Statistiken der Systemnutzung
In diesem Abschnitt finden Sie einen Überblick über die Statistiken zur Systemauslastung.
Der Debugger-Profiling-Bericht enthält die folgenden Informationen:
-
node – Listet die Namen der Knoten auf. Wenn Sie verteiltes Training auf mehreren Knoten (mehrere EC2-Instances) verwenden, haben die Knotennamen das Format von
algo-n
. -
Metrik – Die vom Debugger gesammelten Systemmetriken: CPU, GPU, CPU-Speicher, GPU-Speicher, I/O und Netzwerkmetriken.
-
unit – Die Einheit der Systemmetrik.
-
max – Der Maximalwert jeder Systemmetrik.
-
p99 – Das 99. Perzentil jeder Systemauslastung.
-
p95 – Das 95. Perzentil jeder Systemauslastung.
-
p50 – Das 50. Perzentil (Median) jeder Systemauslastung.
-
min – Der Mindestwert jeder Systemmetrik.
Übersicht der Framework-Metriken
In diesem Abschnitt zeigen die folgenden Kreisdiagramme die Aufschlüsselung der Framework-Operationen auf CPUs und GPUs.
In jedem der Kreisdiagramme werden die gesammelten Framework-Metriken unter verschiedenen Aspekten wie folgt analysiert:
-
Verhältnis zwischen TRAIN/EVAL-Phasen und anderen – Zeigt das Verhältnis zwischen der Zeit, die für verschiedene Trainingsphasen aufgewendet wurde.
-
Verhältnis zwischen Vorwärts- und Rückwärtsdurchgang – Zeigt das Verhältnis zwischen der Zeit, die in der Trainingsschleife für das Vorwärts- und Rückwärtsspiel aufgewendet wurde.
-
Verhältnis zwischen CPU/GPU-Operatoren – Zeigt das Verhältnis zwischen der Zeit an, die für Operatoren aufgewendet wurde, die auf einer CPU oder GPU laufen, wie z. B. Faltungsoperatoren.
-
Im Framework aufgezeichnete allgemeine Metriken – Zeigt das Verhältnis zwischen der Zeit an, die für wichtige Framework-Metriken wie das Laden von Daten, Vorwärts- und Rückwärtsdurchlauf aufgewendet wurde.
Überblick: CPU-Operatoren
Dieser Abschnitt enthält detaillierte Informationen zu den CPU-Operatoren. Die Tabelle zeigt den Prozentsatz der Zeit und die absolute Gesamtzeit, die für die am häufigsten aufgerufenen CPU-Operatoren aufgewendet wurde.
Überblick: GPU-Operatoren
Dieser Abschnitt enthält detaillierte Informationen zu den GPU-Operatoren. Die Tabelle zeigt den Prozentsatz der Zeit und die absolute Gesamtzeit, die für die am häufigsten aufgerufenen GPU-Operatoren aufgewendet wurde.
Übersicht der Regeln
In diesem Abschnitt fasst der Debugger alle Ergebnisse, Analysen, Regelbeschreibungen und Vorschläge der Regelauswertung zusammen.
Analyse der Trainingsschleife – Schrittdauer
In diesem Abschnitt finden Sie eine detaillierte Statistik der Schrittdauer auf jedem GPU-Kern jedes Knotens. Der Debugger wertet Mittel-, Maximal-, P99-, P95-, P50- und Mindestwert der Schrittdauer aus und wertet Schrittausreißer aus. Das folgende Histogramm zeigt die Schrittdauer, die auf verschiedenen Worker-Knoten und GPUs erfasst wurde. Sie können das Histogramm jedes Workers aktivieren oder deaktivieren, indem Sie die Legenden auf der rechten Seite auswählen. Sie können überprüfen, ob es eine bestimmte GPU gibt, die Ausreißer bei der Schrittdauer verursacht.
Analyse der GPU-Auslastung
In diesem Abschnitt werden detaillierte Statistiken zur GPU-Kernauslastung basierend auf der LowGPUUtilization-Regel angezeigt. Außerdem werden die Statistiken zur GPU-Auslastung (Mittelwert, P95 und P5) zusammengefasst, um festzustellen, ob bei dem Trainingsauftrag die GPUs nicht ausreichend genutzt werden.
Batch-Größe
In diesem Abschnitt werden detaillierte Statistiken zur gesamten CPU-Auslastung, zur individuellen GPU-Auslastung und zur GPU-Speicherbelegung angezeigt. Die BatchSize Regel legt fest, ob Sie die Batchgröße ändern müssen, um die GPUs besser nutzen zu können. Sie können überprüfen, ob die Batch-Größe zu klein ist, was zu einer Unterauslastung führt, oder ob sie zu groß ist, was zu Überauslastung und Speichermangel führt. Im Diagramm zeigen die Felder die Perzentilbereiche p25 und p75 (jeweils dunkelviolett bzw. hellgelb gefüllt) vom Median (p50), und die Fehlerbalken zeigen das 5. Perzentil für die untere Grenze und das 95. Perzentil für die obere Grenze.
CPU-Engpässe
In diesem Abschnitt können Sie sich detailliert mit den CPU-Engpässen befassen, die die CPUBottleneck-Regel bei Ihrem Trainingsauftrag erkannt hat. Die Regel prüft, ob die CPU-Auslastung über cpu_threshold
(standardmäßig 90%) und ob die GPU-Auslastung unter gpu_threshold
liegt (standardmäßig 10%).
Die Kreisdiagramme enthalten die folgenden Informationen:
-
Niedrige GPU-Auslastung aufgrund von CPU-Engpässen – Zeigt das Verhältnis der Datenpunkte zwischen den Datenpunkten mit einer GPU-Auslastung über und unter dem Schwellenwert und denen, die den CPU-Engpasskriterien entsprechen.
-
Verhältnis zwischen TRAIN/EVAL-Phasen und anderen – Zeigt das Verhältnis zwischen den Zeitdauern, die für verschiedene Trainingsphasen aufgewendet wurden.
-
Verhältnis zwischen Vorwärts- und Rückwärtsdurchgang – Zeigt das Verhältnis zwischen der Zeit, die in der Trainingsschleife für das Vorwärts- und Rückwärtsspiel aufgewendet wurde.
-
Verhältnis zwischen CPU/GPU-Operatoren – Zeigt das Verhältnis zwischen der Zeitdauer, die Python-Operatoren wie Dataloader-Prozesse und Vorwärts- und Rückwärts-Pass-Operatoren für GPUs und CPUs aufgewendet haben.
-
Im Framework aufgezeichnete allgemeine Metriken – Zeigt die wichtigsten Framework-Metriken und das Verhältnis zwischen der für die Metriken aufgewendeten Zeitdauer an.
E/A-Engpässe
In diesem Abschnitt finden Sie eine Zusammenfassung der I/O-Engpässe. Die Regel bewertet die I/O-Wartezeit und die GPU-Auslastung und überwacht, ob die für die I/O-Anfragen aufgewendete Zeit einen prozentualen Schwellenwert der gesamten Trainingszeit überschreitet. Dies kann auf I/O-Engpässe hinweisen, wenn GPUs darauf warten, dass Daten aus dem Speicher eintreffen.
Load Balancer bei der Multi-GPU-Training
In diesem Abschnitt können Sie Probleme mit dem Workload-Balancing zwischen GPUs identifizieren.
GPU-Speicheranalyse
In diesem Abschnitt können Sie die durch die MemoryIncrease GPU-Regel erfasste GPU-Speicherauslastung analysieren. Im Diagramm zeigen die Felder die Perzentilbereiche p25 und p75 (jeweils dunkelviolett bzw. hellgelb gefüllt) vom Median (p50), und die Fehlerbalken zeigen das 5. Perzentil für die untere Grenze und das 95. Perzentil für die obere Grenze.