

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.

# Tutoriales del depurador
<a name="debugger-tutorial"></a>

Los siguientes temas le acompañarán a través de tutoriales, desde los conceptos básicos hasta los casos de uso avanzados de monitorización, creación de perfiles y depuración de los trabajos de entrenamiento de SageMaker mediante el depurador. Explore las funciones del depurador y descubra cómo puede depurar y mejorar sus modelos de machine learning de forma eficiente mediante el uso del depurador.

**Topics**
+ [Videotutoriales sobre el depurador](debugger-videos.md)
+ [Cuadernos de ejemplo del depurador](debugger-notebooks.md)
+ [Demostraciones y visualización avanzadas del depurador](debugger-visualization.md)

# Videotutoriales sobre el depurador
<a name="debugger-videos"></a>

En los siguientes vídeos se ofrece un recorrido por las capacidades de Amazon SageMaker Debugger mediante instancias de notebook SageMaker Studio y SageMaker AI. 

**Topics**
+ [Depuración de modelos con Amazon SageMaker Debugger en Studio Classic](#debugger-video-get-started)
+ [Profundice en Amazon SageMaker Debugger y el monitor de modelos de SageMaker IA](#debugger-video-dive-deep)

## Depuración de modelos con Amazon SageMaker Debugger en Studio Classic
<a name="debugger-video-get-started"></a>

*Julien Simon, evangelista AWS técnico \$1 Duración: 14 minutos y 17 segundos*

En este vídeo tutorial se muestra cómo utilizar Amazon SageMaker Debugger para capturar e inspeccionar la información de depuración de un modelo de formación. El ejemplo de modelo de entrenamiento utilizado en este vídeo es una red neuronal convolucional simple (CNN) basada en Keras con el backend. TensorFlow SageMaker La IA en un TensorFlow framework y Debugger permiten crear un estimador directamente utilizando el guion de entrenamiento y depurar el trabajo de entrenamiento.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/MqPdTj0Znwg/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/MqPdTj0Znwg)


Encontrará el bloc de notas de ejemplo en el vídeo de [este repositorio de demostración de Studio](https://gitlab.com/juliensimon/amazon-studio-demos/-/tree/master) proporcionado por el autor. Debe clonar el archivo del `debugger.ipynb` cuaderno y el guion de `mnist_keras_tf.py` entrenamiento en su SageMaker Studio o en una instancia de SageMaker bloc de notas. Después de clonar los dos archivos, especifique la ruta de acceso `keras_script_path` al archivo `mnist_keras_tf.py` dentro del bloc de notas `debugger.ipynb`. Por ejemplo, si clona los dos archivos en el mismo directorio, establézcalo como `keras_script_path = "mnist_keras_tf.py"`.

## Profundice en Amazon SageMaker Debugger y el monitor de modelos de SageMaker IA
<a name="debugger-video-dive-deep"></a>

*Julien Simon, evangelista AWS técnico \$1 Duración: 44 minutos y 34 segundos*

Esta sesión de vídeo explora las funciones avanzadas de Debugger y SageMaker Model Monitor que ayudan a aumentar la productividad y la calidad de sus modelos. En primer lugar, este vídeo muestra cómo detectar y corregir problemas de entrenamiento, visualizar tensores y mejorar modelos con el depurador. A continuación, a las 22:41, el vídeo muestra cómo monitorizar los modelos en producción e identificar problemas de predicción, como la falta de funciones o la desviación de datos, mediante SageMaker AI Model Monitor. Por último, ofrece consejos de optimización de costos para ayudarle a sacar el máximo partido a su presupuesto de machine learning.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/0zqoeZxakOI/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/0zqoeZxakOI)


Encontrará el cuaderno de ejemplo en el vídeo en [ este repositorio de AWS Dev Days 2020](https://gitlab.com/juliensimon/awsdevdays2020/-/tree/master/mls1) ofrecido por el autor.

# Cuadernos de ejemplo del depurador
<a name="debugger-notebooks"></a>

SageMaker Los [cuadernos de ejemplo del depurador](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-debugger/) se proporcionan en el repositorio [amazon-sagemaker-examplesaws/](https://github.com/aws/amazon-sagemaker-examples). Los cuadernos de ejemplo del depurador muestran casos de uso básicos y avanzados de trabajos de entrenamiento sobre depuración y creación de perfiles. 

Le recomendamos que ejecute los cuadernos de ejemplo en SageMaker Studio o en una instancia de SageMaker Notebook, ya que la mayoría de los ejemplos están diseñados para tareas de formación en el ecosistema de SageMaker IA, incluidos Amazon EC2, Amazon S3 y Amazon SageMaker Python SDK. 

Para clonar el repositorio de ejemplo en SageMaker Studio, siga las instrucciones de [Amazon SageMaker Studio Tour](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-end-to-end.html).

**importante**  
Para utilizar las nuevas funciones del depurador, debe actualizar el SDK de SageMaker Python y la biblioteca `SMDebug` cliente. En su núcleo de iPython, Jupyter Notebook o JupyterLab entorno, ejecute el siguiente código para instalar las últimas versiones de las bibliotecas y reiniciar el núcleo.  

```
import sys
import IPython
!{sys.executable} -m pip install -U sagemaker smdebug
IPython.Application.instance().kernel.do_shutdown(True)
```

## Cuadernos de ejemplo del depurador para crear perfiles de trabajos de entrenamiento
<a name="debugger-notebooks-profiling"></a>

La siguiente lista muestra ejemplos de cuadernos del depurador que presentan la capacidad de adaptación del depurador para monitorizar y perfilar los trabajos de entrenamiento para varios modelos, conjuntos de datos y marcos de machine learning.


| Título del cuaderno | Marcos | Modelo | Conjunto de datos | Description (Descripción) | 
| --- | --- | --- | --- | --- | 
|  [Análisis de datos de creación de perfiles de Amazon SageMaker Debugger](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/debugger_interactive_analysis_profiling/interactive_analysis_profiling_data.html)  |  TensorFlow  |  Keras 50 ResNet  | Cifar-10 |  Este cuaderno ofrece una introducción al análisis interactivo de los datos perfilados capturados por SageMaker Debugger. Explore todas las funciones de las herramientas de análisis interactivo `SMDebug`.  | 
|  [Formación de perfiles sobre aprendizaje automático con Amazon SageMaker Debugger](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/tensorflow_nlp_sentiment_analysis/sentiment-analysis-tf-distributed-training-bringyourownscript.html)  |  TensorFlow  |  Red neuronal convolucional 1-D  |  Conjunto de datos de IMDB  |  Haga un perfil de una TensorFlow CNN unidimensional para analizar las opiniones de los datos de IMDB, que consisten en reseñas de películas etiquetadas como positivas o negativas. Consulte la información del depurador de Studio y el informe de creación de perfiles del depurador.  | 
|  [ TensorFlow ResNet Modelado de perfiles de entrenamiento con varios entornos de entrenamiento distribuidos](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-debugger/tensorflow_profiling)  |  TensorFlow  | ResNet50 | Cifar-10 |  Ejecute trabajos de TensorFlow entrenamiento con varios ajustes de entrenamiento distribuidos, supervise la utilización de los recursos del sistema y elabore un perfil del rendimiento del modelo mediante Debugger.  | 
|  [Elaboración de perfiles PyTorch ResNet del modelo de entrenamiento con varios entornos de entrenamiento distribuidos](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-debugger/pytorch_profiling)   | PyTorch |  ResNet50  | Cifar-10 |  Ejecute trabajos de PyTorch entrenamiento con varios ajustes de entrenamiento distribuidos, supervise la utilización de los recursos del sistema y elabore un perfil del rendimiento del modelo mediante Debugger.  | 

## Cuadernos de ejemplo del depurador para analizar los parámetros del modelo
<a name="debugger-notebooks-debugging"></a>

La siguiente lista muestra ejemplos de cuadernos del depurador que presentan la capacidad de adaptación del depurador para realizar tareas de entrenamiento de depuración para diversos modelos, conjuntos de datos y marcos de machine learning.


| Título del cuaderno | Marcos | Modelo | Conjunto de datos | Description (Descripción) | 
| --- | --- | --- | --- | --- | 
|  [Amazon SageMaker Debugger: utilice una regla integrada](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-debugger/tensorflow_builtin_rule)  |  TensorFlow  |  Red neuronal convolucional  | MNIST |  Utilice las reglas integradas de Amazon SageMaker Debugger para depurar un TensorFlow modelo.  | 
|  [Amazon SageMaker Debugger - Tensorflow 2.1](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-debugger/tensorflow2)  |  TensorFlow  |  ResNet50  | Cifar-10 |  Usa la configuración del enlace de Amazon SageMaker Debugger y las reglas integradas para depurar un modelo con el marco Tensorflow 2.1.  | 
|  [Visualización de los tensores de depuración del entrenamiento MXNet](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-debugger/mnist_tensor_plot)  |  MXNet  |  Red neuronal convolucional de Gluon  | Fashion MNIST |  Ejecute un trabajo de entrenamiento y configure SageMaker Debugger para almacenar todos los tensores de este trabajo y, a continuación, visualice esos tensores en un cuaderno.  | 
|  [Habilite la formación puntual con Amazon SageMaker Debugger](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-debugger/mxnet_spot_training)   | MXNet |  Red neuronal convolucional de Gluon  | Fashion MNIST |  Descubra cómo el depurador recopila los datos tensoriales de un trabajo de entrenamiento en una instancia puntual y cómo utilizar las reglas integradas del depurador con el entrenamiento puntual gestionado.  | 
| [Explica un XGBoost modelo que predice los ingresos de una persona con Amazon Debugger SageMaker ](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/xgboost_census_explanations/xgboost-census-debugger-rules.html) | XGBoost |  XGBoost Regresión  |  [Conjunto de datos del censo de adultos](https://archive.ics.uci.edu/ml/datasets/adult)  | Aprenda a usar el gancho del depurador y las reglas integradas para recopilar y visualizar los datos tensoriales de un modelo de XGBoost regresión, como los valores de pérdida, las características y los valores de SHAP. | 

Para encontrar visualizaciones avanzadas de los parámetros y casos de uso del modelo, consulte el siguiente tema en [Demostraciones y visualización avanzadas del depurador](debugger-visualization.md).

# Demostraciones y visualización avanzadas del depurador
<a name="debugger-visualization"></a>

Las siguientes demostraciones explican los casos de uso avanzados y los scripts de visualización con el depurador.

**Topics**
+ [Entrenar y depurar modelos con Amazon SageMaker Experiments y Debugger](#debugger-visualization-video-model-pruning)
+ [[Uso de SageMaker Debugger para supervisar el entrenamiento de un modelo de autocodificador convolucional](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/model_specific_realtime_analysis/autoencoder_mnist/autoencoder_mnist.html)](#debugger-visualization-autoencoder_mnist)
+ [[Uso de SageMaker Debugger para monitorear las atenciones en el entrenamiento con modelos BERT](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/model_specific_realtime_analysis/bert_attention_head_view/bert_attention_head_view.html)](#debugger-visualization-bert_attention_head_view)
+ [[Uso de SageMaker Debugger para visualizar los mapas de activación de clases en redes neuronales convolucionales () CNNs](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/model_specific_realtime_analysis/cnn_class_activation_maps/cnn_class_activation_maps.html)](#debugger-visualization-cnn_class_activation_maps)

## Entrenar y depurar modelos con Amazon SageMaker Experiments y Debugger
<a name="debugger-visualization-video-model-pruning"></a>

*Dra. Nathalie Rauschmayr, científica AWS aplicada \$1 Duración: 49 minutos 26 segundos*

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/Tnv6HsT1r4I/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/Tnv6HsT1r4I)


Descubra cómo Amazon SageMaker Experiments y Debugger pueden simplificar la administración de sus trabajos de formación. Amazon SageMaker Debugger proporciona una visibilidad transparente de los trabajos de formación y guarda las métricas de formación en su bucket de Amazon S3. SageMaker Experiments le permite denominar la información de formación como *pruebas* a través de SageMaker Studio y permite visualizar el trabajo de formación. Esto le ayuda a mantener la calidad del modelo a la vez que reduce los parámetros menos importantes en función del rango de importancia.

En este vídeo se muestra una técnica de *poda de modelos* que hace que ResNet 50 AlexNet modelos previamente entrenados sean más livianos y asequibles, a la vez que se mantienen altos estándares de precisión de los modelos.

SageMaker AI Estimator entrena los algoritmos proporcionados por el zoológico de PyTorch modelos en un AWS Deep Learning Containers with PyTorch framework, y Debugger extrae las métricas de entrenamiento del proceso de entrenamiento.

El vídeo también muestra cómo configurar una regla personalizada del Debugger para comprobar la precisión de un modelo reducido, activar un CloudWatch evento de Amazon y una AWS Lambda función cuando la precisión alcanza un umbral y detener automáticamente el proceso de depuración para evitar iteraciones redundantes. 

Los objetivos de aprendizaje son los siguientes: 
+  Aprenda a usar la SageMaker IA para acelerar el entrenamiento de modelos de aprendizaje automático y mejorar la calidad de los modelos. 
+  Aprenda a gestionar las iteraciones de entrenamiento con SageMaker Experiments capturando automáticamente los parámetros de entrada, las configuraciones y los resultados. 
+  Descubrir cómo el depurador aporta transparencia al proceso de entrenamiento al capturar automáticamente datos de tensores en tiempo real de métricas como ponderaciones, gradientes y salidas de activación de redes neuronales convolucionales.
+ Se utiliza CloudWatch para activar Lambda cuando el depurador detecta problemas.
+  Domine el proceso de SageMaker formación con SageMaker Experiments y Debugger.

Puede encontrar los cuadernos y los guiones de entrenamiento utilizados en este vídeo de [SageMaker Debugger PyTorch Iterative Model Pruning](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-debugger/pytorch_iterative_model_pruning).

La siguiente imagen muestra cómo el proceso de depuración del modelo iterativo reduce el tamaño al eliminar los 100 filtros menos significativos en función del rango de importancia evaluado mediante los gradientes y los resultados de activación. AlexNet 

El proceso de poda redujo los 50 millones de parámetros iniciales a 18 millones. También redujo el tamaño estimado del modelo de 201 MB a 73 MB. 

![\[Una imagen que contiene visualizaciones del resultado de la poda del modelo\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/debugger/debugger-model-pruning-results-alexnet.gif)


También es necesario realizar un seguimiento de la precisión del modelo, y en la siguiente imagen se muestra cómo se puede trazar el proceso de depuración del modelo para visualizar los cambios en la precisión del modelo en función del número de parámetros de Studio. SageMaker 

![\[Imagen de la visualización de tensores con Debugger en Studio SageMaker\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/debugger/debugger-model-pruning-studio.png)


En SageMaker Studio, seleccione la pestaña **Experimentos**, seleccione una lista de tensores guardados por Debugger durante el proceso de depuración y, a continuación, cree un panel con una lista de componentes de **prueba**. Seleccione las diez iteraciones y elija **Agregar gráfico** para crear un **Gráfico de componentes de prueba**. Una vez que haya decidido qué modelo desea implementar, elija el componente de prueba y un menú para realizar una acción o elija **Implementar el modelo**.

**nota**  
Para implementar un modelo en SageMaker Studio utilizando el siguiente ejemplo de cuaderno, añade una línea al final de la `train` función en el `train.py` script.  

```
# In the train.py script, look for the train function in line 58.
def train(epochs, batch_size, learning_rate):
    ...
        print('acc:{:.4f}'.format(correct/total))
        hook.save_scalar("accuracy", correct/total, sm_metric=True)

    # Add the following code to line 128 of the train.py script to save the pruned models
    # under the current SageMaker Studio model directory
    torch.save(model.state_dict(), os.environ['SM_MODEL_DIR'] + '/model.pt')
```

## [Uso de SageMaker Debugger para supervisar el entrenamiento de un modelo de autocodificador convolucional](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/model_specific_realtime_analysis/autoencoder_mnist/autoencoder_mnist.html)
<a name="debugger-visualization-autoencoder_mnist"></a>

Este cuaderno muestra cómo SageMaker Debugger visualiza los tensores de un proceso de aprendizaje no supervisado (o autosupervisado) en un conjunto de datos de imágenes del MNIST de números escritos a mano.

El modelo de entrenamiento de este cuaderno es un autocodificador convolucional con el marco. MXNet El autocodificador convolucional tiene una red neuronal convolucional que consta en una parte codificadora y una parte decodificadora. 

El codificador de este ejemplo tiene dos capas de convolución para producir una representación comprimida (variables latentes) de las imágenes de entrada. En este caso, el codificador produce una variable latente de tamaño (1, 20) a partir de una imagen de entrada original de tamaño (28, 28) y reduce significativamente el tamaño de los datos para el entrenamiento en 40 veces.

El decodificador tiene dos capas *deconvolucionales* y garantiza que las variables latentes preserven la información clave mediante la reconstrucción de imágenes de salida.

El codificador convolucional potencia algoritmos de agrupamiento con menor tamaño de datos de entrada, así como el rendimiento de algoritmos de agrupamiento como k-means, k-NN y t-Distributed Stochastic Neighbor Embedding (t-SNE).

Este ejemplo de cuaderno muestra cómo visualizar las variables latentes mediante el depurador, como se muestra en la siguiente animación. También muestra cómo el algoritmo t-SNE clasifica las variables latentes en diez clústeres y las proyecta en un espacio bidimensional. El esquema de color del gráfico de dispersión en el lado derecho de la imagen refleja los valores verdaderos para mostrar lo bien que el modelo BERT y el algoritmo t-SNE organizan las variables latentes en los clústeres.

![\[Una imagen conceptual del autocodificador convolucional\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/debugger/debugger-cnn-autoencoder-plot.gif)


## [Uso de SageMaker Debugger para monitorear las atenciones en el entrenamiento con modelos BERT](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/model_specific_realtime_analysis/bert_attention_head_view/bert_attention_head_view.html)
<a name="debugger-visualization-bert_attention_head_view"></a>

Las Representaciones de codificador bidireccional de transformadores (BERT) constituyen un modelo de representación del lenguaje. Como refleja el nombre del modelo, BERT se basa en la *transferencia del aprendizaje* y el *modelo de transformadores* para el procesamiento de lenguaje natural (NLP).

El modelo BERT está preentrenado en tareas no supervisadas como predicción de palabras ausentes en una oración o predicción de la siguiente oración que seguiría naturalmente a una oración anterior. Los datos de entrenamiento contienen 3300 millones de palabras (tokens) de texto en inglés, como Wikipedia y libros electrónicos. Para un ejemplo sencillo, el modelo BERT puede prestar gran *atención* a los tokens de verbo o tokens de pronombre apropiados de un token de sujeto.

El modelo BERT previamente entrenado se puede ajustar con una capa de salida adicional para capacitarlo en tareas de PNL, como las respuestas automatizadas a las preguntas, la clasificación de textos y muchas otras. state-of-the-art 

El depurador recopila los tensores del proceso de ajuste. En el contexto de NLP, el peso de las neuronas se denomina *atención*. 

Este cuaderno muestra cómo utilizar el [modelo BERT previamente entrenado del zoológico de modelos GluonNLP en el](https://gluon-nlp.mxnet.io/model_zoo/bert/index.html) conjunto de datos de preguntas y respuestas de Stanford y cómo SageMaker configurar Debugger para monitorear el trabajo de capacitación.

La representación de *puntuaciones de atención* y neuronas individuales en la consulta y vectores clave puede ayudar a identificar las causas de predicciones de modelos incorrectas. Con SageMaker AI Debugger, puedes recuperar los tensores y trazar la vista desde el punto de *vista del cabezal de atención en tiempo real a medida* que avanza el entrenamiento, así como comprender lo que aprende el modelo.

La siguiente animación muestra las puntuaciones de atención de los primeros 20 tokens de entrada para diez iteraciones en el trabajo de entrenamiento proporcionado en el ejemplo del bloc de notas.

![\[Una animación de las puntuaciones de atención\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/debugger/debugger-attention_scores.gif)


## [Uso de SageMaker Debugger para visualizar los mapas de activación de clases en redes neuronales convolucionales () CNNs](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/model_specific_realtime_analysis/cnn_class_activation_maps/cnn_class_activation_maps.html)
<a name="debugger-visualization-cnn_class_activation_maps"></a>

Este cuaderno muestra cómo usar SageMaker Debugger para trazar mapas de activación de clases para la detección y clasificación de imágenes en redes neuronales convolucionales (). CNNs En el aprendizaje profundo, una *red neuronal convolucional (CNN o ConvNet)* es una clase de redes neuronales profundas que se suele aplicar al análisis de imágenes visuales. Una de las aplicaciones que adopta los mapas de activación de clases son los vehículos sin conductor, que requieren detección y clasificación de imágenes instantánea como señales de tráfico, carreteras y obstáculos.

En este cuaderno, el PyTorch ResNet modelo se basa en [el conjunto de datos de señales de tráfico alemán](http://benchmark.ini.rub.de/), que contiene más de 40 clases de objetos relacionados con el tráfico y más de 50 000 imágenes en total.

![\[Una animación de mapas de activación de clases en CNN\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/debugger/debugger-cnn-class-activation-maps.gif)


Durante el proceso de entrenamiento, SageMaker Debugger recopila tensores para trazar los mapas de activación de las clases en tiempo real. Como se muestra en la imagen animada, el mapa de activación de clases (también llamado *mapa de prominencia*) resalta regiones con alta activación en color rojo. 

Con los tensores capturados por el depurador, puede visualizar cómo evoluciona el mapa de activación durante el entrenamiento del modelo. El modelo comienza detectando el borde en la esquina inferior izquierda al comienzo del trabajo de entrenamiento. A medida que avanza el entrenamiento, el enfoque se desplaza hacia el centro y detecta la señal de límite de velocidad y el modelo predice con éxito la imagen de entrada como Clase 3, que es una clase de señal de límite de velocidad de 60 km/h, con un nivel de confianza del 97 %.