Referencia del depurador de Amazon SageMaker - Amazon SageMaker AI

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Referencia del depurador de Amazon SageMaker

Encontrará más información y referencias sobre el uso del depurador de Amazon SageMaker en los siguientes temas.

Depurador de Amazon SageMaker

El depurador de Amazon SageMaker tiene API en varias ubicaciones que se utilizan para implementar la monitorización y el análisis del entrenamiento de modelos.

El depurador de Amazon Sagemaker también proporciona el sagemaker-debugger Python SDK de código abierto que se utiliza para configurar reglas integradas, definir reglas personalizadas y registrar enlaces para recopilar datos de tensores de salida de los trabajos de entrenamiento.

El Amazon SageMaker AI Python SDK de alto nivel centrado en la experimentación de machine learning. El SDK se puede usar para implementar reglas integradas o personalizadas definidas con la biblioteca de Python SMDebug para monitorizar y analizar estos tensores usando estimadores de SageMaker AI.

El depurador ha agregado operaciones y tipos a la API de Amazon SageMake que permiten a la plataforma usar el depurador al entrenar un modelo y para administrar la configuración de entradas y salidas.

Las operaciones de la API de configuración de reglas utilizan la funcionalidad de procesamiento de SageMaker al analizar un entrenamiento de modelos. Para obtener información sobre el procesamiento de SageMaker, consulte Cargas de trabajo de transformación de datos con Procesamiento de SageMaker.

Imágenes de Docker para reglas del depurador

Amazon SageMaker AI proporciona dos conjuntos de imágenes de Docker para reglas: uno para evaluar reglas proporcionadas por SageMaker AI (reglas integradas) y otro para evaluar reglas personalizadas proporcionadas en los archivos de código fuente de Python.

Si utiliza el Amazon SageMaker Python SDK, simplemente puede utilizar las operaciones de la API del depurador de alto nivel de SageMaker AI con las operaciones de la API del estimador de SageMaker AI, sin tener que recuperar manualmente las imágenes de Docker del depurador y configurar la API ConfigureTrainingJob.

Si no utiliza el SageMaker Python SDK, debe recuperar una imagen base de contenedor prediseñada relevante para las reglas del depurador. El depurador de Amazon SageMaker proporciona imágenes de Docker prediseñadas para reglas integradas y personalizadas, y las imágenes se almacenan en Amazon Elastic Container Registry (Amazon ECR). Para extraer una imagen de un repositorio de Amazon ECR (o para insertar una imagen en uno de ellos), utilice la URL de registro del nombre completo de la imagen mediante la API CreateTrainingJob. SageMaker AI utiliza los siguientes patrones de URL para la dirección de registro de imágenes del contenedor de reglas del depurador.

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

Para obtener el ID de cuenta en cada región de AWS, el nombre del repositorio Amazon ECR y el valor de la etiqueta, consulte los temas siguientes.

URI de imagen del depurador de Amazon SageMaker para evaluadores de reglas integradas

Utilice los siguientes valores para los componentes de las direcciones URL del registro para las imágenes que proporcionan reglas integradas para el depurador de Amazon SageMaker. Para obtener información sobre los ID de cuenta, consulte la tabla siguiente.

Nombre del repositorio ECR: sagemaker-debugger-rules

Etiqueta: última

Ejemplo de una dirección URL completa del registro:

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

ID de cuenta para imágenes de contenedores de reglas integradas por la región de AWS

Región 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 de imagen del depurador de Amazon SageMaker para evaluadores de reglas personalizadas

Utilice los siguientes valores para los componentes de la dirección URL del registro para las imágenes que proporcionan evaluadores de reglas personalizadas para del depurador Amazon SageMaker. Para obtener información sobre los ID de cuenta, consulte la tabla siguiente.

Nombre del repositorio ECR: sagemaker-debugger-rule-evaluator

Etiqueta: última

Ejemplo de una dirección URL completa del registro:

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

ID de cuenta para imágenes de contenedor de reglas personalizadas por región de AWS

Región 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

Excepciones del depurador de Amazon SageMaker

El depurador de Amazon SageMaker está diseñado para que tenga en cuenta que los tensores necesarios para ejecutar una regla pueden no estar disponibles en cada paso. Como resultado, plantea algunas excepciones que le permiten controlar lo que sucede cuando falta un tensor. Estas excepciones están disponibles en el módulo smdebug.exceptions. Puede importarlos de la siguiente manera:

from smdebug.exceptions import *

Están disponibles las siguientes excepciones:

  • TensorUnavailableForStep: el tensor solicitado no está disponible para el paso. Esto podría significar que el enlace podría no guardar este paso o que este paso podría haber guardado algunos tensores pero el tensor solicitado no forma parte de ellos. Tenga en cuenta que cuando vea esta excepción, significa que este tensor nunca podrá estar disponible para este paso en el futuro. Si el tensor tiene reducciones guardadas para el paso, le notifica que se pueden consultar.

  • TensorUnavailable: este tensor no se está guardando o no lo ha guardado la API smdebug. Esto significa que este tensor nunca se verá para ningún paso en smdebug.

  • StepUnavailable: el paso no se guardó y el depurador no tiene datos del paso.

  • StepNotYetAvailable: smdebug aún no ha visto el paso. Es posible que esté disponible en el futuro si el entrenamiento aún continúa. El depurador carga automáticamente los datos nuevos en cuanto están disponibles.

  • NoMoreData: se planteó cuando termina el entrenamiento. Una vez que vea esto, sabe que no hay más pasos y no hay más tensores que guardar.

  • IndexReaderException: el lector de índices no es válido.

  • InvalidWorker: se invocó un trabajador que no era válido.

  • RuleEvaluationConditionMet: la evaluación de la regla en el paso dio lugar a que se cumpliera la condición.

  • InsufficientInformationForRuleInvocation: no se proporcionó suficiente información para invocar la regla.

Entrenamiento distribuido compatible con el depurador de Amazon SageMaker

La siguiente lista muestra el alcance de la validez y las consideraciones a la hora de utilizar el depurador en trabajos de entrenamiento con marcos de aprendizaje profundo y diversas opciones de entrenamiento distribuido.

  • Horovod

    Ámbito de validez del uso del depurador para trabajos de entrenamiento con Horovod

    Marco de aprendizaje profundo Apache MXNet TensorFlow 1.x. TensorFlow 2.x TensorFlow 2.x con Keras PyTorch
    Cuellos de botella del sistema de monitorización
    Operaciones del marco de creación de perfiles No No No
    Depuración de tensores de salida de modelos
  • Paralelismo de datos distribuidos de SageMaker AI

    Ámbito de validez del uso del depurador para trabajos de entrenamiento con paralelismo de datos distribuidos de SageMaker AI

    Marco de aprendizaje profundo TensorFlow 2.x TensorFlow 2.x con Keras PyTorch
    Cuellos de botella del sistema de monitorización
    Operaciones del marco de creación de perfiles No* No**
    Depuración de tensores de salida de modelos

    * El depurador no admite la creación de perfiles del marco para TensorFlow 2.x.

    ** El paralelismo de datos distribuidos de SageMaker AI no son compatibles con TensorFlow 2.x con la implementación de Keras.

  • Paralelismo de modelos distribuidos de SageMaker AI: el depurador no admite el entrenamiento en paralelo de modelos distribuidos de SageMaker AI.

  • Entrenamiento distribuido con puntos de control de SageMaker AI: el depurador no está disponible para los trabajos de entrenamiento cuando están habilitados tanto la opción de entrenamiento distribuido como los puntos de control de SageMaker AI. Es posible que aparezca un error como el siguiente:

    SMDebug Does Not Currently Support Distributed Training Jobs With Checkpointing Enabled

    Para utilizar el depurador para trabajos de entrenamiento con opciones de entrenamiento distribuido, debe deshabilitar los puntos de control de SageMaker AI y añadir funciones de puntos de control manuales a su script de entrenamiento. Para obtener más información sobre el uso del depurador con opciones de entrenamiento y puntos de control distribuidos, consulte Uso del paralelismo de datos distribuidos de SageMaker AI con el depurador y los puntos de comprobación de Amazon SageMaker y Guardar puntos de control.

  • Servidor de parámetros: el depurador no admite el entrenamiento distribuido basado en un servidor de parámetros.

  • La creación de operaciones del marco de entrenamiento distribuido, como la operación de AllReduced del paralelismo de datos distribuidos de SageMaker AI y operaciones Horovod, no está disponible.