Referenzen für Amazon SageMaker Debugger - Amazon SageMaker AI

Referenzen für Amazon SageMaker Debugger

Weitere Informationen und Referenzen zur Verwendung von Amazon SageMaker Debugger finden Sie in den folgenden Themen.

Amazon SageMaker Debugger APIs

Der Amazon SageMaker Debugger verfügt über API-Operationen an mehreren Orten, die für die Überwachung und Analyse des Modelltrainings verwendet werden.

Amazon SageMaker Debugger bietet auch das Open-Source-sagemaker-debuggerPython-SDK, mit dem integrierte Regeln konfiguriert, benutzerdefinierte Regeln definiert und Hooks registriert werden, um Ausgangstensordaten von Trainingsaufträgen zu sammeln.

Das Amazon SageMaker AI Python SDK ist ein High-Level-SDK, das sich auf Experimente zum Machine Learning konzentriert. Das SDK kann verwendet werden, um integrierte oder benutzerdefinierte Regeln einzusetzen, die mit der SMDebug Python-Bibliothek definiert wurden, um diese Tensoren mit Hilfe von SageMaker-AI-Schätzern zu überwachen und zu analysieren.

Debugger hat der Amazon SageMaker API Operationen und Typen hinzugefügt, die es der Plattform ermöglichen, Debugger beim Training eines Modells zu verwenden und die Konfiguration von Eingaben und Ausgaben zu verwalten.

Der API-Betrieb zur Regelkonfiguration verwenden die SageMaker Processing-Funktionalität bei der Analyse eines Modelltrainings. Mehr Informationen über die SageMaker-Verarbeitung finden Sie unter Workloads zur Datentransformation mit SageMaker Processing.

Docker-Images für Debugger-Regeln

Amazon SageMaker AI stellt zwei Sätze von Docker-Images für Regeln zur Verfügung: einen Satz für die Auswertung der von SageMaker bereitgestellten Regeln (integrierte Regeln) und einen Satz für die Auswertung benutzerdefinierter Regeln, die in Python-Quelldateien bereitgestellt werden.

Wenn Sie das Amazon SageMaker Python SDK verwenden, können Sie einfach Operationen der SageMaker AI Debugger API auf hoher Ebene mit Operationen der SageMaker AI Estimator API verwenden, ohne die Debugger-Docker-Images manuell abrufen und die ConfigureTrainingJob API konfigurieren zu müssen.

Wenn Sie das SageMaker Python SDK nicht verwenden, müssen Sie ein entsprechendes vorgefertigtes Container-Basis-Image für die Debugger-Regeln abrufen. Amazon SageMaker Debugger stellt vorgefertigte Docker-Images für integrierte und benutzerdefinierte Regeln bereit. Die Bilder werden in Amazon Elastic Container Registry (Amazon ECR) gespeichert. Um ein Bild aus einem Amazon ECR-Repository abzurufen (oder ein Bild in ein solches zu übertragen), verwenden Sie mithilfe der CreateTrainingJob API die vollständige Registrierungs-URL des Images. SageMaker AI verwendet die folgenden URL-Muster für die Image-Registrierungsadresse des Debugger-Regelcontainers.

<account_id>.dkr.ecr.<Region>.amazonaws.com/<ECR repository name>:<tag>

Die Konto-ID in jeder AWS-Region, den Amazon ECR-Repository-Namen und den Tag-Wert finden Sie in den folgenden Themen.

Image-URLs des Amazon SageMaker Debugger für integrierte Regelauswerter

Verwenden Sie die folgenden Werte für die Komponenten der Registrierungs-URLs für die Images, die integrierte Regeln für Amazon SageMaker Debugger bereitstellen. Konto-IDs finden Sie in der folgenden Tabelle.

ECR-Repository-Name: sagemaker-debugger-rules

Tag: neuestes

Beispiel für eine vollständige Registrierungs-URL:

904829902805.dkr.ecr.ap-south-1.amazonaws.com/sagemaker-debugger-rules:latest

Konto-IDs für integrierte Regel-Container-Images nach AWS-Region

Region account_id
af-south-1

314341159256

ap-east-1

199566480951

ap-northeast-1

430734990657

ap-northeast-2

578805364391

ap-south-1

904829902805

ap-southeast-1

972752614525

ap-southeast-2

184798709955

ca-central-1

519511493484

cn-north-1

618459771430

cn-northwest-1

658757709296

eu-central-1

482524230118

eu-north-1

314864569078

eu-south-1

563282790590

eu-west-1

929884845733

eu-west-2

250201462417

eu-west-3

447278800020

me-south-1

986000313247

sa-east-1

818342061345

us-east-1

503895931360

us-east-2

915447279597

us-west-1

685455198987

us-west-2

895741380848

us-gov-west-1

515509971035

Image-URLs des Amazon SageMaker Debugger für benutzerdefinierte Regelauswerter

Verwenden Sie die folgenden Werte für die Komponenten der Registrierungs-URLs für die Images, die benutzerdefinierte Regelauswertungsprogramme für Amazon SageMaker Debugger bereitstellen. Konto-IDs finden Sie in der folgenden Tabelle.

ECR-Repository-Name: sagemaker-debugger-rule-evaluator

Tag: neuestes

Beispiel für eine vollständige Registrierungs-URL:

552407032007.dkr.ecr.ap-south-1.amazonaws.com/sagemaker-debugger-rule-evaluator:latest

Konto-IDs für benutzerdefinierte Regeln Container-Images nach AWS-Region

Region account_id
af-south-1

515950693465

ap-east-1

645844755771

ap-northeast-1

670969264625

ap-northeast-2

326368420253

ap-south-1

552407032007

ap-southeast-1

631532610101

ap-southeast-2

445670767460

ca-central-1

105842248657

cn-north-1

617202126805

cn-northwest-1

658559488188

eu-central-1

691764027602

eu-north-1

091235270104

eu-south-1

335033873580

eu-west-1

606966180310

eu-west-2

074613877050

eu-west-3

224335253976

me-south-1

050406412588

sa-east-1

466516958431

us-east-1

864354269164

us-east-2

840043622174

us-west-1

952348334681

us-west-2

759209512951

us-gov-west-1

515361955729

Ausnahmen für Amazon SageMaker Debugger

Der Amazon SageMaker Debugger ist so konzipiert, dass er sich bewusst ist, dass Tensoren, die zur Ausführung einer Regel benötigt werden, möglicherweise nicht in jedem Schritt verfügbar sind. Infolgedessen werden einige Ausnahmen ausgelöst, mit denen Sie kontrollieren können, was passiert, wenn ein Tensor fehlt. Diese Ausnahmen sind im Modul smdebug.exceptions verfügbar. Sie können sie wie folgt importieren:

from smdebug.exceptions import *

Folgende Ausnahmen sind verfügbar:

  • TensorUnavailableForStep – Der angeforderte Tensor ist für diesen Schritt nicht verfügbar. Dies könnte bedeuten, dass dieser Schritt möglicherweise nicht durch den Hook gespeichert wird oder dass dieser Schritt zwar einige Tensoren gespeichert hat, der angeforderte Tensor aber nicht dazugehört. Wenn diese Ausnahme angezeigt wird, bedeutet dies, dass dieser Tensor zukünftig niemals für diesen Schritt verfügbar werden kann. Wenn für den Tensor Reduktionen für den Schritt gespeichert wurden, wird Ihnen mitgeteilt, dass sie abgefragt werden können.

  • TensorUnavailable – Dieser Tensor wird nicht gespeichert oder wurde von der smdebug API nicht gespeichert. Dies bedeutet, dass dieser Tensor für keinen Schritt in smdebug zu sehen ist.

  • StepUnavailable – Der Schritt wurde nicht gespeichert und der Debugger hat keine Daten aus diesem Schritt.

  • StepNotYetAvailable – Der Schritt wurde von smdebug noch nicht gesehen. Es könnte in der Zukunft verfügbar sein, wenn das Training noch andauert. Debugger lädt automatisch neue Daten, sobald sie verfügbar sind.

  • NoMoreData – Erhöht, wenn das Training endet. Sobald dies zu sehen ist, sind keine weiteren zu speichernde Schritte und Tensoren vorhanden.

  • IndexReaderException – Der Indexleser ist ungültig.

  • InvalidWorker – Es wurde ein ungültiger Auftragnehmer aufgerufen.

  • RuleEvaluationConditionMet – Die Auswertung der Regel im Schritt führte dazu, dass die Bedingung erfüllt wurde.

  • InsufficientInformationForRuleInvocation – Es wurden nicht genügend Informationen bereitgestellt, um die Regel aufzurufen.

Von Amazon SageMaker Debugger unterstütztes verteiltes Training

Die folgende Liste zeigt den Gültigkeitsbereich und die Überlegungen zur Verwendung von Debugger für Trainingsaufträge mit Deep-Learning-Frameworks und verschiedenen verteilten Trainingsoptionen.

  • Horovod

    Gültigkeitsbereich der Verwendung von Debugger für Trainingsaufträge mit Horovod

    Deep-Learning-Framework Apache MXNet TensorFlow 1.x TensorFlow 2.x TensorFlow 2.x mit Keras PyTorch
    Überwachung von Systemengpässen Ja Ja Ja Ja Ja
    Profiling-Framework-Operationen Nein Nein Nein Ja Ja
    Debuggen von Modellausgabetensoren Ja Ja Ja Ja Ja
  • SageMaker AI Distributed Data Parallel

    Gültigkeitsbereich der Verwendung des Debuggers für Trainingsjobs mit SageMaker AI Distributed Data Parallel

    Deep-Learning-Framework TensorFlow 2.x TensorFlow 2.x mit Keras PyTorch
    Überwachung von Systemengpässen Ja Ja Ja
    Profiling-Framework-Operationen Nein* Nein** Ja
    Debuggen von Modellausgabetensoren Ja Ja Ja

    * Der Debugger unterstützt kein Framework-Profiling für TensorFlow 2.x.

    ** SageMaker AI Distributed Data Parallel unterstützt TensorFlow 2.x mit Keras-Implementierung nicht.

  • SageMaker AI Distributed Modell Parallel – Debugger unterstützt nicht das parallele Training für verteilte Modelle mit SageMaker.

  • Verteiltes Training mit SageMaker-AI-Checkpoints – Der Debugger ist für Trainingsjobs nicht verfügbar, wenn sowohl die verteilte Trainingsoption als auch die SageMaker-AI-Checkpoints aktiviert sind. Möglicherweise wird ein Fehler angezeigt, der wie folgt aussieht:

    SMDebug Does Not Currently Support Distributed Training Jobs With Checkpointing Enabled

    Um den Debugger für Trainingsjobs mit verteilten Trainingsoptionen zu verwenden, müssen Sie das SageMaker-AI-Checkpointing deaktivieren und Ihrem Trainingsskript manuelle Checkpoint-Funktionen hinzufügen. Mehr Informationen über die Verwendung des Debuggers mit verteilten Trainingsoptionen und Prüfpunkte finden Sie unter Verwendung von SageMaker AI Distributed Data Parallel mit Amazon SageMaker Debugger und Checkpoints und Speichern von Prüfpunkten.

  • Parameterserver – Der Debugger unterstützt kein auf Parameterservern basierendes verteiltes Training.

  • Das Profiling von Operationen des verteilten Trainingsframeworks, wie z. B. die AllReduced-Operation von SageMaker AI Distributed Data Parallel und Horovod-Operationen, ist nicht verfügbar.