SageMaker Informe interactivo sobre el depurador - Amazon SageMaker

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.

SageMaker Informe interactivo sobre el depurador

Reciba informes de creación de perfiles generados automáticamente por el depurador. El informe del depurador proporciona información sobre sus trabajos de entrenamiento y sugiere recomendaciones para mejorar el rendimiento de su modelo. La siguiente captura de pantalla muestra un collage del informe de creación de perfiles del depurador. Para obtener más información, consulte SageMaker Informe de creación de perfiles de Debugger.

nota

Puede descargar los informes de un depurador mientras se esté realizando su trabajo de entrenamiento o una vez finalizado el trabajo. Durante el entrenamiento, el depurador actualiza simultáneamente el informe para reflejar el estado de evaluación de las reglas actuales. Puede descargar un informe completo del depurador solo después de que se haya completado el trabajo de entrenamiento.

importante

En los informes, los gráficos y las recomendaciones se proporcionan con fines informativos y no son definitivos. Es responsabilidad suya realizar su propia evaluación independiente de la información.

Ejemplo de un informe resumido del trabajo de entrenamiento del depurador.

SageMaker Informe de creación de perfiles de Debugger

Para cualquier trabajo de SageMaker formación, la ProfilerReport regla SageMaker Debugger invoca todas las reglas de supervisión y creación de perfiles y agrega el análisis de las reglas en un informe completo. Siguiendo esta guía, descargue el informe con el SDK de Amazon SageMaker Python o la consola S3 y descubra qué puede interpretar a partir de los resultados de la creación de perfiles.

importante

En el informe, los gráficos y las recomendaciones se proporcionan con fines informativos y no son definitivos. Es responsabilidad suya realizar su propia evaluación independiente de la información.

Descargue el informe de creación de SageMaker perfiles de Debugger

Descargue el informe de creación de perfiles del SageMaker depurador mientras se esté ejecutando su trabajo de formación o cuando el trabajo haya terminado con el SDK y ( AWS Command Line Interface CLI) de Amazon SageMaker Python.

nota

Para que Debugger genere el informe de creación de perfiles, debe utilizar la ProfilerReportregla integrada que ofrece SageMaker Debugger. SageMaker Para activar la regla con su trabajo de entrenamiento, consulte Configurar las reglas integradas del generador de perfiles.

sugerencia

También puede descargar el informe con un solo clic en el panel de información de SageMaker Studio Debugger. Esto no requiere ningún script adicional para descargar el informe. Para obtener información sobre cómo descargar el informe desde Studio, consulte Abra el panel de Amazon SageMaker Debugger Insights.

Download using SageMaker Python SDK and AWS CLI
  1. Compruebe el URI base de salida de S3 predeterminado del trabajo actual.

    estimator.output_path
  2. Compruebe el nombre del trabajo actual.

    estimator.latest_training_job.job_name
  3. El informe de creación de perfiles del depurador se guarda en <default-s3-output-base-uri>/<training-job-name>/rule-output. Configure la ruta de salida de reglas de la siguiente manera:

    rule_output_path = estimator.output_path + estimator.latest_training_job.job_name + "/rule-output"
  4. Para comprobar si el informe se ha generado correctamente, enumere los directorios y archivos de forma recursiva en rule_output_path utilizando aws s3 ls con la opción --recursive.

    ! aws s3 ls {rule_output_path} --recursive

    Esto debería devolver una lista completa de los archivos de una carpeta generada automáticamente denominada ProfilerReport-1234567890. El nombre de la carpeta es una combinación de cadenas ProfilerReport y una etiqueta única de 10 dígitos basada en la marca de tiempo de Unix cuando se inicia la regla. ProfilerReport

    Ejemplo de salida de reglas

    El profiler-report.html es un informe de perfil autogenerado por el depurador. Los archivos restantes son los componentes integrados de análisis de reglas integradas en JSON y un cuaderno de Jupyter que se utilizan para agregarlos al informe.

  5. Descargue los archivos de forma recursiva utilizando aws s3 cp. El siguiente comando guarda todos los archivos de salida de las reglas en la carpeta ProfilerReport-1234567890 del directorio de trabajo actual.

    ! aws s3 cp {rule_output_path} ./ --recursive
    sugerencia

    Si utiliza un servidor del cuaderno de Jupyter, ejecute !pwd para comprobar el directorio de trabajo actual.

  6. En el directorio /ProfilerReport-1234567890/profiler-output, abra profiler-report.html. Si lo está utilizando JupyterLab, elija Confiar en HTML para ver el informe de creación de perfiles de Debugger generado automáticamente.

    Ejemplo de salida de reglas
  7. Abra el archivo profiler-report.ipynb para ver cómo se genera el informe. También puede personalizar y ampliar el informe de creación de perfiles mediante el archivo de cuaderno de Jupyter.

Download using Amazon S3 Console
  1. Inicie sesión en la consola de Amazon S3 AWS Management Console y ábrala en https://console.aws.amazon.com/s3/.

  2. Busque el bucket base de S3. Por ejemplo, si no ha especificado ningún nombre de trabajo base, el nombre del bucket base de S3 debe tener el siguiente formato:sagemaker-<region>-111122223333. Busque el bucket base de S3 en el campo Buscar bucket por nombre.

    Ejemplo del URI del bucket de S3 de salida de reglas
  3. En el bucket base de S3, busque el nombre del trabajo de entrenamiento especificando el prefijo del nombre del trabajo en el campo de entrada Buscar objetos por prefijo. Seleccione el nombre del trabajo de entrenamiento.

    Ejemplo del URI del bucket de S3 de salida de reglas
  4. En el bucket de S3 del trabajo de entrenamiento, debe haber tres subcarpetas para los datos de entrenamiento recopilados por el depurador: debug-output/, profiler-output/ y rule-output/. Seleccione rule-output/.

    Ejemplo del URI del bucket de S3 de salida de reglas
  5. En la carpeta rule-output/, elija ProfilerReport-1234567890 y elija profiler-output/ folder. La carpeta profiler-output/ contiene profiler-report.html (el informe de creación de perfiles generado automáticamente en html), profiler-report.ipynb (un cuaderno de Jupyter con scripts que se utilizan para generar el informe) y una carpeta profiler-report/ (contiene archivos JSON de análisis de reglas que se utilizan como componentes del informe).

  6. Seleccione el archivo profiler-report.html, seleccione Acciones y Descargar.

    Ejemplo del URI del bucket de S3 de salida de reglas
  7. Abra el archivo profiler-report.html descargado en un navegador web.

nota

Si empezó su trabajo de entrenamiento sin configurar los parámetros específicos del depurador, este generará el informe basándose únicamente en las reglas de supervisión del sistema, ya que los parámetros del depurador no están configurados para guardar las métricas del marco. Para habilitar la creación de perfiles de métricas del marco y recibir un informe de creación de perfiles de Debugger ampliado, configure el parámetro al crear o actualizar los estimadores. profiler_config SageMaker

Para obtener información sobre cómo configurar el parámetro profiler_config antes de iniciar un trabajo de entrenamiento, consulte Configurar la creación de perfiles del marco.

Para actualizar el trabajo de entrenamiento actual y habilitar la creación de perfiles de métricas del marco, consulte Actualizar la configuración de perfiles del marco del depurador.

Guía del informe de creación de perfiles del depurador

Esta sección guía el informe de creación de perfiles del depurador sección por sección. El informe de creación de perfiles se genera en función de las reglas integradas de monitorización y creación de perfiles. El informe muestra gráficos de resultados solo para aquellas reglas que hayan detectado problemas.

importante

En el informe, los gráficos y las recomendaciones se proporcionan con fines informativos y no son definitivos. Es responsabilidad suya realizar su propia evaluación independiente de la información.

Resumen del trabajo de entrenamiento

Al principio del informe, el depurador proporciona un resumen de su trabajo de entrenamiento. En esta sección, puede ver una descripción general de la duración y las marcas de tiempo en las diferentes fases del entrenamiento.

Ejemplo de un informe de generación de perfiles del depurador

Esta tabla resumen recoge la siguiente información:

  • start_time: hora exacta en la que comenzó el trabajo de entrenamiento.

  • end_time: hora exacta en la que finalizó el trabajo de entrenamiento.

  • job_duration_in_seconds: el tiempo de entrenamiento total desde start_time hasta end_time.

  • training_loop_start: hora exacta en la que comenzó el primer paso de la primera época.

  • training_loop_end: hora exacta en la que finalizó el último paso de la última época.

  • training_loop_duration_in_seconds: tiempo total entre la hora de inicio del ciclo de entrenamiento y la hora de finalización del ciclo de entrenamiento.

  • initialization_in_seconds: tiempo empleado en inicializar el trabajo de entrenamiento. La fase de inicialización cubre el período desde start_time hasta training_loop_start. El tiempo de inicialización se dedica a compilar el script de entrenamiento, iniciarlo, crear e inicializar el modelo, iniciar las instancias de EC2 y descargar los datos de entrenamiento.

  • finalization_in_seconds: tiempo empleado en finalizar el trabajo de entrenamiento, por ejemplo, terminar el entrenamiento del modelo, actualizar los artefactos del modelo y cerrar las instancias de EC2. La fase de finalización cubre el período desde training_loop_end hasta end_time.

  • inicialización (%): el porcentaje de tiemplo empleado en la inicialización sobre job_duration_in_seconds total.

  • ciclo de porcentaje (%): el porcentaje de tiempo empleado en el ciclo de entrenamiento sobre job_duration_in_seconds en total.

  • finalización (%): el porcentaje de tiempo empleado en la finalización sobre job_duration_in_seconds en total.

Estadísticas de uso del sistema

Esta sección muestra una descripción general de las estadísticas de uso del sistema.

Ejemplo de un informe de generación de perfiles del depurador

El informe de uso de creación de perfiles del depurador incluye la siguiente información:

  • nodo: muestra el nombre de los nodos. Si utiliza el entrenamiento distribuido en varios nodos (varias instancias de EC2), los nombres de los nodos tienen el formato dealgo-n.

  • métrica: las métricas del sistema recopiladas por el depurador: CPU, GPU, memoria de CPU, memoria de GPU, E/S y métricas de red.

  • unidad: la unidad de la métrica del sistema.

  • max: el valor máximo de cada utilización del sistema.

  • p99: el percentil 99 de cada utilización del sistema.

  • p95: el percentil 95 de cada utilización del sistema.

  • p50: el percentil 50 (mediana) de cada utilización del sistema.

  • min: el valor mínimo de cada métrica del sistema.

Resumen de métricas del marco

En esta sección, los siguientes gráficos circulares muestran el desglose de las operaciones del marco en CPU y GPU.

Ejemplo de un informe de generación de perfiles del depurador

Cada uno de los gráficos circulares analiza las métricas del marco recopiladas en varios aspectos, de la siguiente manera:

  • Relación entre las fases de ENTRENAMIENTO/EVALUACIÓN y otras: muestra la relación entre el tiempo dedicado a las diferentes fases de entrenamiento.

  • Relación entre las pasadas hacia adelante y hacia atrás: muestra la relación entre el tiempo empleado en la pasada hacia adelante y hacia atrás en el ciclo de entrenamiento.

  • Relación entre operadores de CPU/GPU: muestra la relación entre el tiempo dedicado a los operadores que utilizan la CPU o la GPU, como los operadores convolucionales.

  • Métricas generales registradas en el marco: muestra la relación entre el tiempo dedicado a las principales métricas del marco, como la carga de datos y las pasadas hacia adelante y hacia atrás.

Descripción general: operadores de CPU

Esta sección proporciona información detallada sobre los operadores de la CPU. La tabla muestra el porcentaje del tiempo y el tiempo acumulado absoluto dedicados a los operadores de CPU denominados con más frecuencia.

Ejemplo de un informe de generación de perfiles del depurador
Descripción general: operadores de GPU

Esta sección proporciona información detallada sobre los operadores de GPU. La tabla muestra el porcentaje del tiempo y el tiempo acumulado absoluto dedicado a los operadores de GPU denominados con más frecuencia.

Ejemplo de un informe de generación de perfiles del depurador

Resumen de reglas

En esta sección, el depurador agrega todos los resultados de la evaluación de las reglas, los análisis, las descripciones de las reglas y las sugerencias.

Ejemplo de un informe de generación de perfiles del depurador

Análisis del ciclo de entrenamiento: duración de los pasos

En esta sección, encontrará estadísticas detalladas de la duración de los pasos en cada núcleo de la GPU de cada nodo. El depurador evalúa los valores medios, máximos, p99, p95, p50 y mínimos de las duraciones de los pasos y evalúa los valores atípicos de los pasos. El siguiente histograma muestra las duraciones de los pasos capturadas en diferentes nodos de trabajo y GPU. Para activar o desactivar el histograma de cada trabajador, seleccione las leyendas de la parte derecha. Puede comprobar si hay alguna GPU en particular que esté provocando valores atípicos en la duración de los pasos.

Ejemplo de un informe de generación de perfiles del depurador

Análisis de utilización de la GPU

Esta sección muestra estadísticas detalladas sobre la utilización del núcleo de la GPU según la regla LowGPUUtilization. También resume las estadísticas de uso de la GPU (media, p95 y p5) para determinar si el trabajo de entrenamiento está infrautilizando las GPU.

BatchSize

Esta sección muestra las estadísticas detalladas del uso total de la CPU, las utilizaciones individuales de la GPU y el consumo de memoria de la GPU. La BatchSize regla determina si es necesario cambiar el tamaño del lote para utilizar mejor las GPU. Puede comprobar si el tamaño del lote es demasiado pequeño, lo que provoca una infrautilización o si es demasiado grande, lo que provoca problemas de sobreutilización y falta de memoria. En el gráfico, los recuadros muestran los rangos de percentiles p25 y p75 (rellenados de morado oscuro y amarillo brillante, respectivamente) desde la mediana (p50), y las barras de error muestran el percentil 5 para el límite inferior y el percentil 95 para el límite superior.

Ejemplo de un informe de generación de perfiles del depurador

Cuellos de botella de la CPU

En esta sección, puede analizar en detalle los cuellos de botella de la CPU que la regla CPUBottleneck haya detectado en su trabajo de entrenamiento. La regla comprueba si el uso de la CPU es superior a cpu_threshold (90 % de forma predeterminada) y también si el uso de la GPU es inferior a gpu_threshold (10 % de forma predeterminada).

Ejemplo de un informe de generación de perfiles del depurador

Los gráficos circulares muestran la siguiente información:

  • Poco uso de la GPU causado por cuellos de botella de la CPU: muestra la relación de puntos de datos entre los que tienen una utilización de la GPU por encima y por debajo del umbral y los que coinciden con los criterios de cuello de botella de la CPU.

  • Relación entre las fases de ENTRENAMIENTO/EVALUACIÓN y otras: muestra la relación entre el tiempo dedicado a las diferentes fases de entrenamiento.

  • Relación entre las pasadas hacia adelante y hacia atrás: muestra la relación entre el tiempo empleado en la pasada hacia adelante y hacia atrás en el ciclo de entrenamiento.

  • Relación entre los operadores de CPU/GPU: muestra la relación entre el tiempo que los operadores de Python dedican a las GPU y a las CPU, como los procesos de carga de datos y los operadores de pasada hacia adelante y hacia atrás.

  • Métricas generales registradas en el marco: muestra las principales métricas del marco y la relación entre el tiempo dedicado a las métricas.

Cuellos de botella de E/S

En esta sección, encontrará un resumen de los cuellos de botella de E/S. La regla evalúa el tiempo de espera de E/S y las tasas de utilización de la GPU, y monitoriza si el tiempo dedicado a las solicitudes de E/S supera un porcentaje umbral del tiempo total de entrenamiento. Es posible que indique cuellos de botella de E/S en los que las GPU esperan a que lleguen los datos del almacenamiento.

Equilibrio de carga en el entrenamiento con varias GPU

En esta sección, puede identificar los problemas de equilibrio de la carga de trabajo en las GPU.

Ejemplo de un informe de generación de perfiles del depurador

Análisis de memoria de GPU

En esta sección, puedes analizar la utilización de la memoria de la GPU recopilada por la MemoryIncrease regla de la GPU. En el gráfico, los recuadros muestran los rangos de percentiles p25 y p75 (rellenados de morado oscuro y amarillo brillante, respectivamente) desde la mediana (p50), y las barras de error muestran el percentil 5 para el límite inferior y el percentil 95 para el límite superior.

Ejemplo de un informe de generación de perfiles del depurador