Bewährte Methoden für Amazon SageMaker SageMaker-Debugger - Amazon SageMaker

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.

Bewährte Methoden für Amazon SageMaker SageMaker-Debugger

Verwenden Sie die folgenden Richtlinien, wenn Sie Trainingsaufträge mit Debugger ausführen.

Ein Machine Learning Framework

Sie können ein Framework für maschinelles Lernen auswählen und vorgefertigte Schulungscontainer von SageMaker oder Ihre eigenen Container verwenden. Verwenden Sie Debugger, um Schulungs- und Leistungsprobleme zu erkennen und den Schulungsfortschritt Ihres Schulungsjobs in SageMaker zu analysieren. SageMaker bietet Ihnen die Möglichkeit, vorgefertigte Container zu verwenden, die für eine Reihe von Framework-Umgebungen für maschinelles Lernen vorbereitet sind, um Ihr Modell auf Amazon EC2 zu trainieren. Jeder Trainingsauftrag kann angepasst werden, um inAWSDeep Learning Containers Container, SageMaker-Schulungscontainer und benutzerdefinierte Container. Weitere Informationen hierzu finden Sie unter Debugger mit Amazon konfigurierenSageMakerPython SDK und Verwenden Sie den Debugger mit benutzerdefinierten Schulungscontainern.

Verwenden Sie das Studio Debugger Insights Dashboard

Mit dem Studio Debugger Insights Dashboard haben Sie die Kontrolle über Ihre Trainingsjobs. Verwenden Sie die Studio-Debugger-Dashboards, um Ihre Modellleistung auf Amazon EC2 EC2-Instanzen unter Kontrolle und Optimierung zu halten. Für alle SageMaker-Schulungsjobs, die auf der Amazon EC2 EC2-Instanz ausgeführt werden, überwacht Debugger die Ressourcenauslastung und grundlegende Modellausgabedaten (Verlust- und Genauigkeitswerte). Gewinnen Sie mit den Studio Debugger-Dashboards Einblicke in Ihre Trainingsjobs und verbessern Sie Ihre Modelltrainingsleistung. Weitere Informationen hierzu finden Sie unter Amazon SageMaker-Debugger im Amazon SageMaker Studio.

Laden Sie Debugger-Berichte herunter und gewinnen Sie mehr Einblicke

Sie können aggregierte Ergebnisse anzeigen und Einblicke in Debugger-Berichten gewinnen. Der Debugger fasst Schulungs- und Profilerstellungsergebnisse aus der integrierten Regelanalyse in einem Bericht pro Schulungsauftrag zusammen. Weitere detaillierte Informationen zu Ihren Trainingsergebnissen finden Sie in den Debugger-Berichten. Weitere Informationen hierzu finden Sie unter Interaktive Berichte von SageMaker Debugger.

Erfassen Sie Daten aus Ihrem Schulungsjob und speichern Sie Daten auf Amazon S3

Sie können einen Debugger-Hook verwenden, um Ausgabe-Tensoren zu speichern. Nachdem Sie einen Container und ein Framework ausgewählt haben, die zu Ihrem Trainingsskript passen, verwenden Sie einen Debugger-Hook, um zu konfigurieren, welche Tensoren gespeichert werden sollen und in welchem Verzeichnis sie gespeichert werden sollen, z. B. einen Amazon S3 S3-Bucket. Ein Debugger-Hook hilft Ihnen, die Konfiguration zu erstellen und sie zur Verwendung in nachfolgenden Analysen in Ihrem Konto zu halten, wo sie für die Verwendung in den meisten datenschutzbezogenen Anwendungen geschützt wird. Weitere Informationen hierzu finden Sie unter Konfigurieren von Debugger-Hook zum Speichern von Tensoren.

Analysieren Sie die Daten mit einer Flotte integrierter Debugger-Regeln

Sie können die integrierten Debugger-Regeln verwenden, um Tensoren parallel zur Trainingsaufgabe zu untersuchen. Um die Daten zur Trainingsleistung zu analysieren, bietet Debugger integrierte Regeln, die auf abnormales Verhalten von Trainingsprozessen achten. Beispielsweise erkennt eine Debugger-Regel Probleme, wenn der Trainingsprozess Probleme mit Systemengpässen oder Trainingsproblemen wie verschwindende Gradienten, explodierende Tensoren, Überanpassung oder Overtraining beeinträchtigt wird. Bei Bedarf können Sie auch benutzerdefinierte Regeln erstellen, indem Sie eine Regeldefinition mit Ihren eigenen Kriterien erstellen, um ein Schulungsproblem zu definieren. Weitere Informationen zu den Debugger-Regeln finden Sie unterKonfigurieren integrierter Debuggerregelnfür detaillierte Anweisungen zur Verwendung desAmazon SageMaker Python SDKaus. Eine vollständige Liste der integrierten Debugger-Regeln finden Sie unterListe der integrierten Debugger-Regelnaus. Wenn Sie eine benutzerdefinierte Regel erstellen möchten, informieren Sie sich unterErstellen benutzerdefinierter Debugger-Regeln für die Ausbildungsauftragsanalyseaus.

Ergreifen Sie Maßnahmen basierend auf dem Status der integrierten Regel

Sie können Debugger mit Amazon CloudWatch Events verwenden undAWS Lambdaaus. Sie können Aktionen basierend auf dem Regelstatus automatisieren, z. B. das frühzeitige Beenden von Schulungsaufträgen und das Einrichten von Benachrichtigungen per E-Mail oder Text. Wenn die Debugger-Regeln Probleme erkennen und ein"IssuesFound"Auswertungsstatus, CloudWatch Events erkennt die Änderungen des Regelstatus und ruft die Lambda-Funktion auf, um Maßnahmen zu ergreifen. Informationen zum Konfigurieren automatisierter Aktionen für Ihre Trainingsprobleme finden Sie unterErstellen Sie Aktionen für Regeln mit Amazon CloudWatch undAWS Lambdaaus.

Tauchen Sie mit der SmDeBug Client Library tief in die Daten ein

Sie können die SmDebug-Tools verwenden, um auf die von Debugger gesammelten Trainingsdaten zuzugreifen und diese zu analysieren. DieTrainingJobundcreate_trial-Klassen laden die von Debugger gespeicherten Metriken und Tensoren. Diese Kurse bieten erweiterte Klassenmethoden, um die Daten in Echtzeit oder nach Abschluss des Trainings zu analysieren. Die SmDebug-Bibliothek bietet auch Visualisierungstools: Zusammenführen von Zeitleisten von Framework-Metriken, um verschiedene Profilerstellung zu aggregieren, Liniendiagramme und Heatmap zur Verfolgung der Systemauslastung und Histogramme, um Ausreißer für Schrittdauer zu finden. Weitere Informationen zu den SmDeBug-Library-Tools finden Sie unterAnalysieren Sie Daten mit der SmDeBug Client Libraryaus.

Überwachen und Analysieren von Trainingsauftragsmetriken

Amazon CloudWatch unterstützthochauflösende benutzerdefinierte Metriken, und seine beste Auflösung beträgt 1 Sekunde. Je feiner die Auflösung jedoch, desto kürzer ist die Lebensdauer der CloudWatch-Metriken. Für die Frequenzauflösung von 1 Sekunde sind die CloudWatch-Metriken 3 Stunden lang verfügbar. Weitere Informationen zur Auflösung und Lebensdauer der CloudWatch-Metriken finden Sie unterGetMetricStatisticsimAmazon CloudWatch CloudWatch-API-Referenzaus.

Wenn Sie Ihren Schulungsjob mit einer feineren Auflösung von bis zu 100 Millisekunden (0,1 Sekunden) Granularität profilieren und die Schulungsmetriken in Amazon S3 für benutzerdefinierte Analysen jederzeit auf unbestimmte Zeit speichern möchten, sollten Sie die Verwendung vonAmazon SageMaker SageMaker-Debuggeraus. SageMaker Debugger bietet integrierte Regeln zur automatischen Erkennung häufiger Trainingsprobleme. Er erkennt Probleme mit der Auslastung der Hardwareressourcen (wie CPU-, GPU- und I/O-Engpässe) und nicht konvergierende Modellprobleme (wie Überfit, verschwindende Gradienten und explodierende Tensoren).

SageMaker Debugger bietet auch Visualisierungen über Studio und seinen Profilerstellungsbericht. Im Gegensatz zu CloudWatch-Metriken, die die Ressourcennutzungsraten von CPU- und GPU-Kernen akkumulieren und diese in mehreren Instanzen durchschnittlich ermitteln, verfolgt Debugger die Auslastung jedes Kerns. Auf diese Weise können Sie die unausgewogene Nutzung von Hardwareressourcen identifizieren, während Sie auf größere Rechen-Cluster skalieren. Informationen zur Untersuchung der Debugger-Visualisierungen finden Sie unterSageMaker Debugger Insights Dashboard Exemplarische Vorgehensweise,Exemplarische Vorgehensweise zur Debugger-Profilerstellung, undAnalysieren Sie Daten mit der SmDeBug Client Libraryaus.

Überwachung der Systemauslastung und Erkennen von Engpässen

Mit der Amazon SageMaker Debugger-Überwachung können Sie die Auslastung der Hardwaresystemressourcen von Amazon EC2 EC2-Instanzen messen. Die Überwachung ist für jeden SageMaker-Schulungsjob verfügbar, der mit den SageMaker-Framework-Schätzern (TensorFlow, PyTorch und MXNet) und dem generischen SageMaker-Schätzer (integrierte SageMaker-Algorithmen und eigene benutzerdefinierte Container) erstellt wurde. Integrierte Debugger-Regeln für die Überwachung erkennen Probleme mit Systemengpässen und benachrichtigen Sie, wenn sie die Engpässe feststellen.

Informationen zum Aktivieren der Debugger-Systemüberwachung finden Sie unterDebugger mit Amazon konfigurierenSageMakerPython SDKund dannKonfigurieren der Debuggerüberwachung Hardwaresystemressourcenauslastungaus.

Eine vollständige Liste der verfügbaren integrierten Regeln für die Überwachung finden Sie unterIntegrierte Debugger-Regeln zur Überwachung der Ressourcenauslastung des Hardwaresystems (Systemmetriken)aus.

Profiling-Framework-Operationen

Mit dem Amazon SageMaker Debugger-Profiling können Sie Deep-Learning-Framework-Operationen profilieren. Sie können Ihre Modellschulung mit den SageMaker TensorFlow-Schulungscontainern, den SageMaker PyTorch Framework-Containern und Ihren eigenen Schulungscontainern profilieren. Mit der Profilerstellungsfunktion von Debugger können Sie einen Drilldown in die Python-Operatoren und Funktionen durchführen, die zur Ausführung des Trainingsauftrags ausgeführt werden. Debugger unterstützt detaillierte Profilerstellung, Python-Profilerstellung, Datenloader-Profiling und Horovod Distributed Training Profiling. Sie können die profilierten Zeitleisten zusammenführen, um mit den Systemengpässen zu korrelieren. Integrierte Debugger-Regeln für die Profilerstellung von Problemen im Zusammenhang mit dem Betrieb von Watch Framework, einschließlich übermäßiger Initialisierungszeit des Trainings aufgrund des Datendownloadens vor Trainingsbeginn und Ausreißer der Schrittdauer in Trainingsschleifen

Informationen zum Konfigurieren von Debugger für die Framework-Profiling finden Sie unterDebugger mit Amazon konfigurierenSageMakerPython SDKund dannDebugger Framework Profiling konfigurierenaus.

Eine vollständige Liste der verfügbaren integrierten Regeln für die Profiling-Datei finden Sie unterDebugger-Regeln für die Profilerstellung von Framework-Metrikenaus.

Debuggen von Modellausgabe-Tensoren

Debuggen ist für Deep-Learning-Frameworks verfügbarAWSDeep Learning Containers und die SageMaker-Schulungscontainer. Für vollständig unterstützte Framework-Versionen (siehe die Versionen unterUnterstützte Frameworks und -Algorithmen) registriert Debugger automatisch Hooks, um Ausgabe-Tensoren zu sammeln, und Sie können Ihr Trainingsskript direkt ausführen. Für die Versionen mit einem Sternzeichen müssen Sie die Haken manuell registrieren, um Tensoren zu sammeln. Debugger bietet vorkonfigurierte Tensor-Sammlungen mit generalisierten Namen, die Sie in den verschiedenen Frameworks verwenden können. Wenn Sie die Ausgabe-Tensorkonfiguration anpassen möchten, können Sie auch die API-Operationen CollectionConfig und DebuggerHookConfig und dieAmazon SageMaker Python SDKum Ihre eigenen Tensor-Sammlungen zu konfigurieren. Integrierte Debuggerregeln für das Debuggen analysieren die Ausgabe-Tensoren und identifizieren Probleme mit der Modelloptimierung, die Ihr Modell daran hindern, die Verlustfunktion zu minimieren. Beispielsweise identifizieren die Regeln Überanpassung, Übertraining, nicht abnehmende Verluste, explodierende Tensoren und verschwindende Gradienten.

Informationen zum Konfigurieren von Debugger zum Debuggen von Ausgabe-Tensoren finden Sie unterDebugger mit Amazon konfigurierenSageMakerPython SDKund dannKonfigurieren von Debugger-Hook zum Speichern von Tensorenaus.

Eine vollständige Liste der verfügbaren integrierten Regeln für das Debuggen finden Sie unterIntegrierte Debugger-Regeln zum Debuggen von Modelltrainingsdaten (Output-Tensoren)aus.