Références Amazon SageMaker Debugger - Amazon SageMaker AI

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Références Amazon SageMaker Debugger

Pour plus d’informations et de références sur l’utilisation d’Amazon SageMaker Debugger, consultez les rubriques suivantes.

API Amazon SageMaker Debugger

Amazon SageMaker Debugger dispose d'opérations d'API à plusieurs emplacements qui sont utilisés pour mettre en œuvre sa surveillance et son analyse de l'entraînement du modèle.

Amazon SageMaker Debugger fournit également le kit sagemaker-debugger Python SDK open source, qui permet de configurer des règles intégrées, de définir des règles personnalisées et d'enregistrer des hooks pour collecter des données de tenseur de sortie à partir des tâches d'entraînement.

Amazon SageMaker AI Python SDK est un kit SDK de haut niveau axé sur l’expérimentation du machine learning. Vous pouvez l’utiliser pour déployer des règles intégrées ou personnalisées définies avec la bibliothèque Python SMDebug afin de surveiller et d’analyser ces tenseurs à l’aide d’estimateurs SageMaker AI.

Debugger a ajouté des opérations et des types à l'API Amazon SageMaker qui permettent à la plateforme d'utiliser Debugger lors de l'entraînement du modèle et de gérer la configuration des entrées et sorties.

Les opérations d'API de configuration de règle utilisent la fonctionnalité de traitement SageMaker lors de l'analyse d'un entraînement du modèle. Pour plus d'informations sur le traitement SageMaker, consultez Charges de travail de transformation des données avec SageMaker Processing.

Images Docker pour les règles Debugger

Amazon SageMaker AI fournit deux ensembles d’images Docker pour les règles : l’un pour l’évaluation des règles fournies par SageMaker AI (règles intégrées) et l’autre pour l’évaluation des règles personnalisées fournies dans les fichiers source Python.

Si vous utilisez le kit Amazon SageMaker Python SDK, vous pouvez simplement utiliser les opérations d’API Debugger de haut niveau SageMaker AI avec celles de l’estimateur SageMaker AI, sans avoir à récupérer les images Docker Debugger ni à configurer l’API ConfigureTrainingJob manuellement.

Si vous n'utilisez pas le kit SDK Python SageMaker, vous devez récupérer une image de base de conteneur préconçue appropriée pour les règles Debugger. Amazon SageMaker Debugger fournit des images Docker préconçues pour les règles intégrées et personnalisées, qui sont stockées dans Amazon Elastic Container Registry (Amazon ECR). Pour extraire une image d'un référentiel Amazon ECR (ou pour transmettre une image à un référentiel Amazon ECR), utilisez l'URL de registre de noms complet de l'image à l'aide de l'API CreateTrainingJob. SageMaker AI utilise les modèles d’URL suivants pour l’adresse du registre d’image du conteneur de règles Debugger.

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

Pour connaître l’ID de compte dans chaque région AWS, le nom du référentiel Amazon ECR et la valeur de balise, consultez les rubriques suivantes.

URI d’images Amazon SageMaker Debugger pour les évaluateurs de règles intégrées

Utilisez les valeurs suivantes pour les composants des URL de registre pour les images qui fournissent des règles intégrées pour Amazon SageMaker Debugger. Pour les ID de compte, reportez-vous au tableau suivant.

Nom du référentiel ECR : sagemaker-debugger-rules

Balise : la plus récente

Exemple d'une URL de registre complète :

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

ID de compte pour les images de conteneur de règles intégrées par région AWS

Région 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

URI d’images Amazon SageMaker Debugger pour les évaluateurs de règles personnalisées

Utilisez les valeurs suivantes pour les composants de l'URL de registre pour les images qui fournissent des évaluateurs de règles personnalisées pour Amazon SageMaker Debugger. Pour les ID de compte, reportez-vous au tableau suivant.

Nom du référentiel ECR : sagemaker-debugger-rule-evaluator

Balise : la plus récente

Exemple d'une URL de registre complète :

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

ID de compte pour les images de conteneur de règles personnalisées par région AWS

Région 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

Exceptions Amazon SageMaker Debugger

Amazon SageMaker Debugger est conçu de façon à reconnaître que les tenseurs requis pour exécuter une règle peuvent ne pas être disponibles à chaque étape. Par conséquent, il génère des exceptions qui vous permettent de contrôler ce qui se passe s'il manque un tenseur. Ces exceptions sont disponibles dans le module smdebug.exceptions. Vous pouvez les importer comme suit :

from smdebug.exceptions import *

Les exceptions suivantes sont disponibles :

  • TensorUnavailableForStep – le tenseur demandé n'est pas disponible pour l'étape. Cela peut signifier que cette étape peut ne pas être enregistrée par le hook ou qu'elle peut avoir enregistré certains tenseurs mais que le tenseur requis n'en fait pas partie. Si cette exception est générée, cela signifie que ce tenseur ne pourra jamais être disponible pour cette étape à l'avenir. Si le tenseur a enregistré des réductions pour l'étape, il vous informe qu'elles peuvent être interrogées.

  • TensorUnavailable – ce tenseur n'est pas enregistré ou n'a pas été enregistré par l'API smdebug. Cela signifie que ce tenseur n'est jamais détecté pour une étape dans smdebug.

  • StepUnavailable – l'étape n'a pas été enregistrée et Debugger ne contient aucune donnée de l'étape.

  • StepNotYetAvailable : l'étape n'a pas encore été détectée par smdebug. Elle pourrait être disponible à l'avenir si l'entraînement est toujours en cours. Debugger charge automatiquement les nouvelles données au fur et à mesure qu'elles deviennent disponibles.

  • NoMoreData – générée à la fin de l'entraînement. Si vous voyez cette exception, cela signifie qu'il n'y a plus d'étapes ni plus aucun tenseur à enregistrer.

  • IndexReaderException – le lecteur d'index n'est pas valide.

  • InvalidWorker – un composant non valide a été invoqué.

  • RuleEvaluationConditionMet – l'évaluation de la règle à l'étape a abouti à la « condition remplie ».

  • InsufficientInformationForRuleInvocation – les informations fournies sont insuffisantes pour appeler la règle.

Entraînement distribué pris en charge par Amazon SageMaker Debugger

La liste suivante présente les domaines de validité et les considérations relatives à l'utilisation de Debugger sur les tâches d'entraînement avec des cadres de deep learning et les différentes options d'entraînement distribué.

  • Horovod

    Domaine de validité de l'utilisation de Debugger pour les tâches d'entraînement avec Horovod

    Cadre de deep learning Apache MXNet TensorFlow 1.x TensorFlow 2.x TensorFlow 2.x avec Keras PyTorch
    Surveillance des goulets d'étranglement du système Oui Oui Oui Oui Oui
    Profilage des opérations de cadre Non Non Non Oui Oui
    Débogage des tenseurs de sortie de modèle Oui Oui Oui Oui Oui
  • Parallélisme distribué des données SageMaker AI

    Étendue de validité de l’utilisation de Debugger pour les tâches d’entraînement avec le parallélisme distribué des données de SageMaker AI

    Cadre de deep learning TensorFlow 2.x TensorFlow 2.x avec Keras PyTorch
    Surveillance des goulets d'étranglement du système Oui Oui Oui
    Profilage des opérations de cadre Non* Non** Oui
    Débogage des tenseurs de sortie de modèle Oui Oui Oui

    *Debugger ne prend pas en charge le profilage de cadre pour TensorFlow 2.x.

    ** Le parallélisme distribué des données SageMaker AI ne prend pas en charge TensorFlow 2.x avec l’implémentation Keras.

  • Parallélisme des modèles distribués SageMaker AI : Debugger ne prend pas en charge l’entraînement du parallélisme des modèles distribués SageMaker AI.

  • Entraînement distribué avec points de contrôle SageMaker AI : Debugger n’est pas disponible pour les tâches d’entraînement lorsque l’option d’entraînement distribué et les points de contrôle SageMaker AI sont activés. Une erreur semblable à ce qui suit peut s'afficher :

    SMDebug Does Not Currently Support Distributed Training Jobs With Checkpointing Enabled

    Afin d’utiliser Debugger pour les tâches d’entraînement avec des options d’entraînement distribué, vous devez désactiver les points de contrôle SageMaker AI et ajouter des fonctions manuelles de points de contrôle à votre script d’entraînement. Pour plus d’informations sur l’utilisation de Debugger avec des options d’entraînement distribué et des points de contrôle, consultez Utilisation du parallélisme distribué des données SageMaker AI avec Amazon SageMaker Debugger et des points de contrôle et Sauvegarde des points de contrôle.

  • Serveur de paramètres – Debugger ne prend pas en charge l'entraînement distribué basé sur le serveur de paramètres.

  • Le profilage des opérations de cadre d’entraînement distribué, telles que l’opération AllReduced de parallélisme distribué des données de SageMaker AI et les opérations Horovod, n’est pas disponible.