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.
Liste der im Debugger integrierten Profiler-Regeln
Verwenden Sie die integrierten Debuger-Profiler-Regeln, die von Amazon SageMaker Debugger bereitgestellt werden, und analysieren Sie die beim Training Ihrer Modelle gesammelten Metriken. Die in den Debugger integrierten Regeln überwachen verschiedene allgemeine Bedingungen, die für die erfolgreiche Durchführung eines performanten Trainingsauftrags entscheidend sind. Sie können die integrierten Profiler-Regeln mit Amazon SageMaker Python SDK
Anmerkung
Die maximale Anzahl integrierter Profiler-Regeln, die Sie einem Schulungsjob zuordnen können, beträgt 20. SageMaker Der Debugger verwaltet die integrierten Regeln vollständig und analysiert Ihren Trainingsjob synchron.
Wichtig
Um die neuen Debugger-Funktionen verwenden zu können, müssen Sie SageMaker Python SDK und die SMDebug Client-Bibliothek aktualisieren. Führen Sie in Ihrem iPython Kernel, Jupyter-Notebook oder Ihrer JupyterLab Umgebung den folgenden Code aus, um die neuesten Versionen der Bibliotheken zu installieren und den Kernel neu zu starten.
import sys import IPython !{sys.executable} -m pip install -U sagemaker smdebug IPython.Application.instance().kernel.do_shutdown(True)
Profiler-Regeln
Die folgenden Regeln sind die integrierten Debuger-Regeln, die mit der ProfilerRule.sagemaker
Klassenmethode aufgerufen werden können.
Integrierte Debuger-Regel für die Generierung des Profilerstellungsberichts
Gültigkeitsbereich | Integrierte Regeln |
---|---|
Bericht zur Profilerstellung für jeden beliebigen Trainingsjob SageMaker |
In den Debugger integrierte Regeln für die Erstellung von Profilen der Hardware-Systemressourcennutzung (Systemmetriken)
Gültigkeitsbereich | Integrierte Regeln |
---|---|
Generische Regeln zur Systemüberwachung für jeden SageMaker Schulungsjob |
Integrierte Debugging-Regeln für die Profilerstellung von Framework-Metriken
Gültigkeitsbereich | Integrierte Regeln |
---|---|
Regeln zur Profilerstellung für Deep-Learning-Frameworks (TensorFlow und PyTorch) |
Warnung
Der SageMaker Debugger lehnt die SageMaker Framework-Profilerstellungsfunktion ab Version 2.11 und 2.0 zugunsten von Amazon Profiler ab. TensorFlow PyTorch Sie können die Funktion weiterhin in den vorherigen Versionen der Frameworks und wie folgt verwenden. SDKs
-
SageMaker Python SDK <= v2.130.0
-
PyTorch >= v1.6.0, < v2.0
-
TensorFlow >= v2.3.1, < v2.11
Siehe auch 16. März 2023.
Verwenden Sie das folgende Konfigurationsformat, um die integrierten Regeln mit Standardparameterwerten zu verwenden:
from sagemaker.debugger import Rule, ProfilerRule, rule_configs rules = [ ProfilerRule.sagemaker(rule_configs.
BuiltInRuleName_1
()), ProfilerRule.sagemaker(rule_configs.BuiltInRuleName_2
()), ... ProfilerRule.sagemaker(rule_configs.BuiltInRuleName_n
()) ]
Um die integrierten Regeln mit individuellen Parameterwerten zu verwenden, verwenden Sie das folgende Konfigurationsformat:
from sagemaker.debugger import Rule, ProfilerRule, rule_configs rules = [ ProfilerRule.sagemaker( base_config=rule_configs.
BuiltInRuleName
(), rule_parameters={ "key
": "value
" } ) ]
Die verfügbaren Schlüssel für den Parameter rule_parameters
finden Sie in den Tabellen mit den Parameterbeschreibungen.
Unter den Tabellen mit den Parameterbeschreibungen finden Sie für jede integrierte Regel Beispielkonfigurationscodes.
-
Eine vollständige Anleitung und Beispiele für die Verwendung der in den Debugger integrierten Regeln finden Sie unter Beispielcode für integrierte Debuger-Regeln.
-
Eine vollständige Anleitung zur Verwendung der integrierten Regeln mit Low-Level-Operationen finden Sie unter. SageMaker API Debugger konfigurieren mit SageMaker API
ProfilerReport
Die ProfilerReport Regel ruft alle integrierten Regeln für die Überwachung und Profilerstellung auf. Sie erstellt einen Profilerstellungsbericht und aktualisiert, wenn die einzelnen Regeln ausgelöst werden. Sie können einen umfassenden Profilerstellungsbericht herunterladen, während ein Trainingsauftrag ausgeführt wird oder nachdem der Trainingsauftrag abgeschlossen ist. Sie können die Werte der Regelparameter anpassen, um die Sensitivität der integrierten Überwachungs- und Profilerstellungsregeln anzupassen. Der folgende Beispielcode zeigt das grundlegende Format zur Anpassung der integrierten Regelparameter mithilfe der ProfilerReport Regel.
rules=[ ProfilerRule.sagemaker( rule_configs.
ProfilerReport
(<BuiltInRuleName>
_<parameter_name>
=value
) ) ]
Wenn Sie diese ProfilerReport Regel ohne benutzerdefinierte Parameter auslösen, wie im folgenden Beispielcode gezeigt, löst die ProfilerReport Regel alle integrierten Regeln für die Überwachung und Profilerstellung mit ihren Standardparameterwerten aus.
rules=[ProfilerRule.sagemaker(rule_configs.ProfilerReport())]
Der folgende Beispielcode zeigt, wie Sie den Parameter der CPUBottleneck Regel und den cpu_threshold
IOBottleneck Regelparameter angeben und anpassen. threshold
rules=[ ProfilerRule.sagemaker( rule_configs.ProfilerReport(
CPUBottleneck_cpu_threshold
=90
,IOBottleneck_threshold
=90
) ) ]
Informationen zum Inhalt des Profiler-Berichts finden Sie unter SageMaker Debugger-Profiling-Bericht. Da diese Regel alle Profilerstellungsregeln aktiviert, können Sie den Status der Regelanalyse auch mithilfe der SageMaker Debugger-Benutzeroberfläche in Studio Experiments überprüfen. SageMaker
Parameterbeschreibungen für die Regel OverallSystemUsage
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
<BuiltInRuleName>_<parameter_name> |
Anpassbarer Parameter zur Anpassung der Schwellenwerte anderer integrierter Überwachungs- und Profilerstellungsregeln. Optional Standardwert: |
BatchSize
Die BatchSize Regel hilft zu erkennen, ob sie aufgrund einer geringen Batchgröße nicht ausgelastet GPU ist. Um dieses Problem zu erkennen, überwacht diese Regel die durchschnittliche CPU Auslastung, GPU Auslastung und GPU Speicherauslastung. Wenn die Auslastung bei CPUGPU, und der GPU Arbeitsspeicher im Durchschnitt gering ist, kann dies darauf hindeuten, dass der Trainingsjob entweder auf einem kleineren Instance-Typ oder mit einer größeren Batchgröße ausgeführt werden kann. Diese Analyse funktioniert nicht für Frameworks, die Speicherplatz stark überlasten. Eine Erhöhung der Batchgröße kann jedoch zu Engpässen bei der Verarbeitung oder beim Laden von Daten führen, da bei jeder Iteration mehr Zeit für die Datenvorverarbeitung erforderlich ist.
Parameterbeschreibungen für die BatchSize Regel
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
cpu_threshold_p95 |
Definiert den Schwellenwert für das 95. Quantil der CPU Auslastung in Prozent. Optional Gültige Werte: Ganzzahl Standardwert: |
gpu_threshold_p95 |
Definiert den Schwellenwert für das 95. Quantil der GPU Auslastung in Prozent. Optional Gültige Werte: Ganzzahl Standardwert: |
gpu_memory_threshold_p95 |
Definiert den Schwellenwert für das 95. Quantil der GPU Speicherauslastung in Prozent. Optional Gültige Werte: Ganzzahl Standardwerte: |
patience |
Definiert die Anzahl der Datenpunkte, mit denen übersprungen werden soll, bis die Regel mit der Auswertung beginnt. In den ersten Schritten von Trainingsauftrages ist in der Regel ein hohes Volumen an Datenprozessen zu verzeichnen. Halten Sie die Regel also geduldig und verhindern Sie, dass sie mit einer bestimmten Anzahl von Profilerstellungsdaten, die Sie mit diesem Parameter angeben, zu früh aufgerufen wird. Optional Gültige Werte: Ganzzahl Standardwerte: |
window |
Fenstergröße für die Berechnung von Quantilen. Optional Gültige Werte: Ganzzahl Standardwerte: |
scan_interval_us |
Zeitintervall, in dem Timeline-Dateien gescannt werden. Optional Gültige Werte: Ganzzahl Standardwerte: |
CPUBottleneck
Die CPUBottleneck Regel hilft zu erkennen, ob aufgrund von Engpässen nicht ausreichend ausgelastet GPU ist. CPU Die Regel gibt True zurück, wenn die Anzahl der CPU Engpässe einen vordefinierten Schwellenwert überschreitet.
Parameterbeschreibungen für die Regel CPUBottleneck
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
threshold |
Definiert den Schwellenwert für das Verhältnis der Engpasszeit zur gesamten Trainingszeit. Wenn der Anteil den für den Schwellenwertparameter angegebenen Prozentsatz übersteigt, setzt die Regel den Status der Regel auf True. Optional Gültige Werte: Ganzzahl Standardwert: |
gpu_threshold |
Ein Schwellenwert, der eine geringe GPU Auslastung definiert. Optional Gültige Werte: Ganzzahl Standardwert: |
cpu_threshold |
Ein Schwellenwert, der eine hohe CPU Auslastung definiert. Optional Gültige Werte: Ganzzahl Standardwerte: |
patience |
Definiert die Anzahl der Datenpunkte, mit denen übersprungen werden soll, bis die Regel mit der Auswertung beginnt. In den ersten Schritten von Trainingsauftrages ist in der Regel ein hohes Volumen an Datenprozessen zu verzeichnen. Halten Sie die Regel also geduldig und verhindern Sie, dass sie mit einer bestimmten Anzahl von Profilerstellungsdaten, die Sie mit diesem Parameter angeben, zu früh aufgerufen wird. Optional Gültige Werte: Ganzzahl Standardwerte: |
scan_interval_us |
Zeitintervall, in dem Timeline-Dateien gescannt werden. Optional Gültige Werte: Ganzzahl Standardwerte: |
GPUMemoryIncrease
Die GPUMemoryIncrease Regel hilft dabei, einen starken Anstieg der Speichernutzung am zu erkennenGPUs.
Parameterbeschreibungen für die GPUMemoryIncrease Regel
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
increase |
Definiert den Schwellenwert für die absolute Speicherzunahme. Optional Gültige Werte: Ganzzahl Standardwert: |
patience |
Definiert die Anzahl der Datenpunkte, mit denen übersprungen werden soll, bis die Regel mit der Auswertung beginnt. In den ersten Schritten von Trainingsauftrages ist in der Regel ein hohes Volumen an Datenprozessen zu verzeichnen. Halten Sie die Regel also geduldig und verhindern Sie, dass sie mit einer bestimmten Anzahl von Profilerstellungsdaten, die Sie mit diesem Parameter angeben, zu früh aufgerufen wird. Optional Gültige Werte: Ganzzahl Standardwerte: |
window |
Fenstergröße für die Berechnung von Quantilen. Optional Gültige Werte: Ganzzahl Standardwerte: |
scan_interval_us |
Zeitintervall, in dem Timeline-Dateien gescannt werden. Optional Gültige Werte: Ganzzahl Standardwerte: |
IOBottleneck
Diese Regel hilft zu erkennen, ob sie GPU aufgrund von Daten-IO-Engpässen nicht ausreichend genutzt wird. Die Regel gibt True zurück, wenn die Anzahl der IO-Engpässe einen vordefinierten Schwellenwert überschreitet.
Parameterbeschreibungen für die Regel IOBottleneck
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
threshold |
Definiert den Schwellenwert, ab dem Rule True zurückgibt. Optional Gültige Werte: Ganzzahl Standardwert: |
gpu_threshold |
Ein Schwellenwert, der definiert, wann er als nicht GPU ausgelastet gilt. Optional Gültige Werte: Ganzzahl Standardwert: |
io_threshold |
Ein Schwellenwert, der eine hohe IO-Wartezeit definiert. Optional Gültige Werte: Ganzzahl Standardwerte: |
patience |
Definiert die Anzahl der Datenpunkte, mit denen übersprungen werden soll, bis die Regel mit der Auswertung beginnt. In den ersten Schritten von Trainingsauftrages ist in der Regel ein hohes Volumen an Datenprozessen zu verzeichnen. Halten Sie die Regel also geduldig und verhindern Sie, dass sie mit einer bestimmten Anzahl von Profilerstellungsdaten, die Sie mit diesem Parameter angeben, zu früh aufgerufen wird. Optional Gültige Werte: Ganzzahl Standardwerte: |
scan_interval_us |
Zeitintervall, in dem Timeline-Dateien gescannt werden. Optional Gültige Werte: Ganzzahl Standardwerte: |
LoadBalancing
Die LoadBalancing Regel hilft dabei, Probleme beim Workload-Balancing zwischen mehreren GPUs zu erkennen.
Parameterbeschreibungen für die LoadBalancing Regel
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
threshold |
Definiert den Prozentsatz der Arbeitslast. Optional Gültige Werte: Ganzzahl Standardwert: |
patience |
Definiert die Anzahl der Datenpunkte, mit denen übersprungen werden soll, bis die Regel mit der Auswertung beginnt. In den ersten Schritten von Trainingsauftrages ist in der Regel ein hohes Volumen an Datenprozessen zu verzeichnen. Halten Sie die Regel also geduldig und verhindern Sie, dass sie mit einer bestimmten Anzahl von Profilerstellungsdaten, die Sie mit diesem Parameter angeben, zu früh aufgerufen wird. Optional Gültige Werte: Ganzzahl Standardwerte: |
scan_interval_us |
Zeitintervall, in dem Timeline-Dateien gescannt werden. Optional Gültige Werte: Ganzzahl Standardwerte: |
L owGPUUtilization
Die owGPUUtilization L-Regel hilft zu erkennen, ob die GPU Auslastung gering ist oder Schwankungen unterliegt. Dies wird für jeden GPU einzelnen Mitarbeiter überprüft. Die Regel gibt True zurück, wenn das 95. Quantil unter threshold_p95 liegt, was auf eine Unterauslastung hinweist. Die Regel gibt true zurück, wenn das 95. Quantil über Threshold_p95 und das 5. Quantil unter Threshold_p5 liegt, was auf Schwankungen hinweist.
Parameterbeschreibungen für die owGPUUtilization L-Regel
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
threshold_p95 |
Ein Schwellenwert, unter dem das 95. Quantil GPU liegt, gilt als nicht ausreichend genutzt. Optional Gültige Werte: Ganzzahl Standardwert: |
threshold_p5 |
Ein Schwellenwert für das 5. Quantil. Der Standardwert ist 10 Prozent. Optional Gültige Werte: Ganzzahl Standardwerte: |
patience |
Definiert die Anzahl der Datenpunkte, mit denen übersprungen werden soll, bis die Regel mit der Auswertung beginnt. In den ersten Schritten von Trainingsauftrages ist in der Regel ein hohes Volumen an Datenprozessen zu verzeichnen. Halten Sie die Regel also geduldig und verhindern Sie, dass sie mit einer bestimmten Anzahl von Profilerstellungsdaten, die Sie mit diesem Parameter angeben, zu früh aufgerufen wird. Optional Gültige Werte: Ganzzahl Standardwerte: |
window |
Fenstergröße für die Berechnung von Quantilen. Optional Gültige Werte: Ganzzahl Standardwerte: |
scan_interval_us |
Zeitintervall, in dem Timeline-Dateien gescannt werden. Optional Gültige Werte: Ganzzahl Standardwerte: |
OverallSystemUsage
Die OverallSystemUsage Regel misst die Gesamtsystemnutzung pro Worker-Knoten. Die Regel aggregiert derzeit nur Werte pro Knoten und berechnet deren Perzentile.
Parameterbeschreibungen für die OverallSystemUsage Regel
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
scan_interval_us |
Zeitintervall zum Scannen von Timeline-Dateien. Optional Gültige Werte: Ganzzahl Standardwerte: |
MaxInitializationTime
Die MaxInitializationTime Regel hilft zu erkennen, ob die Trainingsinitialisierung zu viel Zeit in Anspruch nimmt. Die Regel wartet, bis der erste Schritt verfügbar ist.
Parameterbeschreibungen für die Regel MaxInitializationTime
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
threshold |
Definiert den Schwellenwert in Minuten, bis der erste Schritt verfügbar ist. Optional Gültige Werte: Ganzzahl Standardwert: |
scan_interval_us |
Zeitintervall, mit dem Timeline-Dateien gescannt werden. Optional Gültige Werte: Ganzzahl Standardwerte: |
OverallFrameworkMetrics
Die OverallFrameworkMetrics Regel fasst die Zeit zusammen, die für Framework-Metriken wie Vorwärts- und Rückwärtsdurchläufe und das Laden von Daten aufgewendet wurde.
Parameterbeschreibungen für die Regel OverallFrameworkMetrics
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
scan_interval_us |
Zeitintervall zum Scannen von Timeline-Dateien. Optional Gültige Werte: Ganzzahl Standardwerte: |
StepOutlier
Die StepOutlier Regel hilft dabei, Ausreißer bei der Schrittdauer zu erkennen. Diese Regel gibt zurück True
wenn es Ausreißer gibt, deren Schrittdauer größer als stddev
Sigmas der gesamten Schrittdauer in einem Zeitraum ist.
Parameterbeschreibungen für die Regel StepOutlier
Name des Parameters | Beschreibung |
---|---|
base_trial |
Der Name des Basis-Probe-Training-Jobs. Dieser Parameter wird von Amazon SageMaker Debugger automatisch auf den aktuellen Trainingsjob gesetzt. Erforderlich Zulässige Werte: String |
stddev |
Definiert einen Faktor, mit dem die Standardabweichung multipliziert werden soll. Die Regel wird beispielsweise standardmäßig aufgerufen, wenn eine Schrittdauer größer oder kleiner als das Fünffache der Standardabweichung ist. Optional Gültige Werte: Ganzzahl Standardwert: |
mode |
Modus, in dem die Schritte gespeichert wurden und in dem die Regel ausgeführt werden soll. Standardmäßig wird die Regel in Schritten von EVAL und TRAIN nach der Phase ausgeführt Optional Gültige Werte: Ganzzahl Standardwert: |
n_outliers |
Wie viele Ausreißer müssen ignoriert werden, bevor die Regel True zurückgibt Optional Gültige Werte: Ganzzahl Standardwert: |
scan_interval_us |
Zeitintervall, in dem Timeline-Dateien gescannt werden. Optional Gültige Werte: Ganzzahl Standardwerte: |