Explore los datos de salida del perfil visualizados en la interfaz de usuario de Profiler SageMaker - 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.

Explore los datos de salida del perfil visualizados en la interfaz de usuario de Profiler SageMaker

En esta sección, se explica la interfaz de usuario del SageMaker generador de perfiles y se proporcionan consejos sobre cómo utilizarla y obtener información al respecto.

Cargar perfil

Al abrir la interfaz de usuario del SageMaker generador de perfiles, se abre la página Cargar perfil. Para cargar y generar Dashboard (Panel de control) y Timeline (Línea temporal), siga el siguiente procedimiento.

Para cargar el perfil de un trabajo de entrenamiento
  1. En la sección List of training jobs (Lista de trabajos de entrenamiento), utilice la casilla de verificación para elegir el trabajo de entrenamiento para el que desea cargar el perfil.

  2. Elija Load (Cargar). El nombre del trabajo debe aparecer en la sección Loaded profile (Perfil cargado), en la parte superior.

  3. Pulse el botón de radio situado a la izquierda de Job name (Nombre del trabajo) para generar el Dashboard (Panel de control) y Timeline (Línea temporal). Tenga en cuenta que cuando selecciona el botón de opción, la interfaz de usuario abre automáticamente Dashboard (Panel de control). Tenga en cuenta también que si genera las visualizaciones mientras el estado del trabajo y el estado de carga aún parecen estar en curso, la interfaz de usuario del SageMaker generador de perfiles genera gráficos de panel y una cronología con los datos de perfil más recientes recopilados del trabajo de formación en curso o los datos del perfil cargados parcialmente.

sugerencia

Puede cargar y visualizar un perfil a la vez. Para cargar otro perfil, primero debe descargar el perfil cargado anteriormente. Para descargar un perfil, utilice el icono de la papelera situado en el extremo derecho del perfil, en la sección Loaded profile (Perfil cargado).

Captura de pantalla de la página Cargar perfil en la interfaz de usuario del generador de SageMaker perfiles

Panel de control

Cuando termine de cargar y seleccionar el trabajo de entrenamiento, la interfaz de usuario abre la página de Dahsboard (Panel de control), que incluye los siguientes paneles de forma predeterminada.

  • GPUtiempo activo: este gráfico circular muestra el porcentaje de tiempo GPU activo frente al tiempo de GPU inactividad. Puedes comprobar si GPUs estás más activo que inactivo durante todo el trabajo de formación. GPUel tiempo activo se basa en los puntos de datos del perfil con una tasa de utilización superior al 0%, mientras que el tiempo de GPU inactividad se basa en los puntos de datos perfilados con un 0% de utilización.

  • GPUutilización a lo largo del tiempo: este gráfico cronológico muestra la tasa de GPU utilización media a lo largo del tiempo por nodo y agrupa todos los nodos en un solo gráfico. Puede comprobar si GPUs tienen una carga de trabajo desequilibrada, problemas de infrautilización, cuellos de botella o problemas de inactividad durante determinados intervalos de tiempo. Para realizar un seguimiento de la tasa de utilización a GPU nivel individual y de las ejecuciones del núcleo relacionadas, utilice la. Interfaz de línea de tiempo Tenga en cuenta que la recopilación de GPU actividades comienza desde donde agregó la función de inicio del generador de perfiles SMProf.start_profiling() en su guion de entrenamiento y termina enSMProf.stop_profiling().

  • CPUtiempo activo: este gráfico circular muestra el porcentaje de tiempo CPU activo frente al tiempo de CPU inactividad. Puedes comprobar si CPUs estás más activo que inactivo durante todo el trabajo de formación. CPUel tiempo activo se basa en los puntos de datos perfilados con una tasa de utilización superior al 0%, mientras que el tiempo de CPU inactividad se basa en los puntos de datos perfilados con un 0% de utilización.

  • CPUutilización a lo largo del tiempo: este gráfico cronológico muestra la tasa de CPU utilización media a lo largo del tiempo por nodo y agrupa todos los nodos en un único gráfico. Puede comprobar si CPUs están obstruidos o infrautilizados durante determinados intervalos de tiempo. Para hacer un seguimiento de la tasa de utilización en función de CPUs la GPU utilización individual y de las ejecuciones del núcleo, utilice la. Interfaz de línea de tiempo Tenga en cuenta que las métricas de uso comienzan desde el principio, desde la inicialización del trabajo.

  • Tiempo empleado por todos los GPU núcleos: este gráfico circular muestra todos los GPU núcleos utilizados durante el trabajo de entrenamiento. Muestra los 15 GPU núcleos principales de forma predeterminada como sectores individuales y todos los demás núcleos en un sector. Pase el ratón sobre los sectores para ver información más detallada. El valor muestra el tiempo total de funcionamiento de GPU los núcleos en segundos y el porcentaje se basa en todo el tiempo del perfil.

  • Tiempo empleado por los 15 GPU granos principales: este gráfico circular muestra todos los GPU núcleos utilizados durante el trabajo de entrenamiento. Muestra los 15 GPU granos principales como sectores individuales. Pase el ratón sobre los sectores para ver información más detallada. El valor muestra el tiempo total de funcionamiento de GPU los núcleos en segundos y el porcentaje se basa en el tiempo total del perfil.

  • Recuentos de lanzamientos de todos los GPU núcleos: este gráfico circular muestra el número de recuentos de lanzamientos de cada GPU núcleo durante el trabajo de entrenamiento. Muestra los 15 GPU núcleos principales como sectores individuales y todos los demás núcleos en un sector. Pase el ratón sobre los sectores para ver información más detallada. El valor muestra el recuento total de los GPU núcleos lanzados y el porcentaje se basa en el recuento total de todos los núcleos.

  • Recuentos de lanzamientos de los 15 GPU núcleos principales: este gráfico circular muestra el número de lanzamientos de cada GPU núcleo durante el trabajo de entrenamiento. Muestra los 15 GPU núcleos principales. Pase el ratón sobre los sectores para ver información más detallada. El valor muestra el recuento total de los GPU núcleos lanzados y el porcentaje se basa en el recuento total de todos los núcleos.

  • Distribución del tiempo de paso: este histograma muestra la distribución de las duraciones de los pasos. GPUs Este gráfico se genera solo después de añadir el anotador de pasos al script de entrenamiento.

  • Distribución de precisión del núcleo: este gráfico circular muestra el porcentaje de tiempo dedicado a ejecutar los núcleos en diferentes tipos de datosFP32, comoFP16, INT32 y. INT8

  • GPUdistribución de actividades: este gráfico circular muestra el porcentaje de tiempo dedicado a GPU actividades, como la ejecución de núcleos, la memoria (memcpyymemset) y la sincronización (sync).

  • GPUdistribución de las operaciones de memoria: este gráfico circular muestra el porcentaje de tiempo dedicado a las operaciones de GPU memoria. Esto visualiza las actividades memcopy y ayuda a identificar si su trabajo de entrenamiento está dedicando demasiado tiempo a determinadas operaciones de memoria.

  • Create a new histogram (Crear un histograma nuevo): cree un diagrama nuevo de una métrica personalizada que haya anotado manualmente durante Paso 1: Adapte su script de entrenamiento con los módulos SageMaker Profiler Python. Al añadir una anotación personalizada a un histograma nuevo, seleccione o escriba el nombre de la anotación que ha añadido en el script de entrenamiento. Por ejemplo, en el script de entrenamiento de demostración del paso 1,step, Forward, Backward, Optimize y Loss están las anotaciones personalizadas. Al crear un histograma nuevo, estos nombres de anotación deberían aparecer en el menú desplegable para seleccionar las métricas. Si elige Backward, la interfaz de usuario añade al panel de control el histograma del tiempo dedicado a las pasadas hacia atrás a lo largo del tiempo perfilado. Este tipo de histograma es útil para comprobar si hay valores atípicos que tardan anormalmente más tiempo y provocan problemas de embotellamiento.

Las siguientes capturas de pantalla muestran la relación de tiempo CPU activo GPU y el promedio GPU y la tasa de CPU utilización con respecto al tiempo por nodo de cómputo.

Captura de pantalla de la página del panel de control en la interfaz de usuario del SageMaker generador de perfiles

La siguiente captura de pantalla muestra un ejemplo de gráficos circulares para comparar el número de veces que se lanzan los GPU núcleos y medir el tiempo empleado en ejecutarlos. En los paneles Tiempo empleado por todos los GPU núcleos y Recuentos de lanzamientos de todos los GPU núcleos, también puede especificar un número entero en el campo de entrada de k para ajustar el número de leyendas que se muestran en los gráficos. Por ejemplo, si especifica 10, los gráficos muestran los 10 kernels más ejecutados y lanzados, respectivamente.

Captura de pantalla de la página del panel de control de la interfaz de usuario de SageMaker Profiler

La siguiente captura de pantalla muestra un ejemplo de paso, tiempo, duración, histograma y gráficos circulares para la distribución de precisión del núcleo, la distribución de la GPU actividad y la distribución de las operaciones de GPU la memoria.

Captura de pantalla de la página del panel de control de la interfaz de usuario del SageMaker generador de perfiles

Interfaz de línea de tiempo

Para obtener una visión detallada de los recursos informáticos a nivel de las operaciones y los núcleos programados CPUs y ejecutados en elGPUs, utilice la interfaz Timeline.

Puedes acercar y alejar la imagen y desplazarte hacia la izquierda o hacia la derecha en la interfaz de la línea de tiempo con el ratón, las teclas [w, a, s, d] o las cuatro teclas de flecha del teclado.

sugerencia

Para obtener más consejos sobre los métodos abreviados de teclado para interactuar con la interfaz de Timeline (Línea de tiempo), seleccione Keyboard shortcuts (Métodos abreviados de teclado) en el panel izquierdo.

Las pistas de la línea de tiempo están organizadas en una estructura de árbol, lo que proporciona información desde el nivel del host hasta el nivel del dispositivo. Por ejemplo, si ejecuta N instancias con ocho GPUs en cada una, la estructura temporal de cada instancia sería la siguiente.

  • algo-inode: estas son las SageMaker etiquetas que se utilizan para asignar los trabajos a las instancias aprovisionadas. El dígito inode se asigna de forma aleatoria. Por ejemplo, si usa 4 instancias, esta sección se expande de algo-1 a algo-4.

    • CPU— En esta sección, puede comprobar la tasa de CPU utilización media y los contadores de rendimiento.

    • GPUs— En esta sección, puede comprobar la tasa de GPU utilización media, la tasa de GPU utilización individual y los núcleos.

      • SUMUtilización: las tasas GPU de utilización promedio por instancia.

      • HOST-0 PID -123: un nombre exclusivo asignado a cada pista del proceso. El acrónimo PID es el ID del proceso y el número que se le adjunta es el número de ID del proceso que se registra durante la captura de datos del proceso. En esta sección se muestra la siguiente información del proceso.

        • GPU-i num_gpu utilización: tasa de utilización de la num_gpu i-ésima a lo GPU largo del tiempo.

        • GPU-i num_gpu dispositivo: el núcleo se ejecuta en el num_gpu i-ésimo GPU dispositivo.

          • stream i cuda_stream: CUDA secuencias que muestran que el núcleo se ejecuta en el GPU dispositivo. Para obtener más información sobre las CUDA transmisiones, consulte las diapositivas de PDF CUDAC/C++ Streams and Concurrency proporcionadas por. NVIDIA

        • GPUnum_gpu-host: el núcleo se inicia en el host num_gpu GPU i-ésimo.

En las siguientes capturas de pantalla se muestra la cronología del perfil de un trabajo de formación realizado en ml.p4d.24xlarge instancias equipadas con 8 NVIDIA A100 Tensor Core en cada una. GPUs

La siguiente es una vista ampliada del perfil, en la que se imprimen una docena de pasos, incluido un cargador de datos intermitente entre step_232 y step_233 para recuperar el siguiente lote de datos.

Página de cronología de la interfaz de usuario de SageMaker Profiler, que visualiza el perfil de un ejemplo de trabajo de formación.

Para cada uno de ellosCPU, puede realizar un seguimiento de CPU los contadores de uso y rendimiento, como "clk_unhalted_ref.tsc" y"itlb_misses.miss_causes_a_walk", que son indicativos de las instrucciones que se ejecutan en el. CPU

Para cada uno de ellosGPU, puede ver un cronograma del anfitrión y un cronograma del dispositivo. Los lanzamientos del kernel se producen en la línea de tiempo del host y las ejecuciones del kernel se realizan en la línea temporal del dispositivo. También puedes ver las anotaciones (como avanzar, retroceder y optimizar) si has añadido un guion de entrenamiento a la cronología del GPU anfitrión.

En la vista de cronología, también puede realizar un seguimiento de los launch-and-run pares de núcleos. Esto le ayuda a entender cómo se ejecuta el lanzamiento del núcleo programado en un host (CPU) en el GPU dispositivo correspondiente.

sugerencia

Pulse la tecla f para ampliar el kernel seleccionado.

La siguiente captura de pantalla es una vista ampliada de step_233 y step_234 desde la captura de pantalla anterior. El intervalo temporal seleccionado en la siguiente captura de pantalla es la AllReduce operación, un paso esencial de comunicación y sincronización en el entrenamiento distribuido, que se ejecuta en el dispositivo GPU -0. En la captura de pantalla, observe que el inicio del núcleo en el host GPU -0 se conecta con el núcleo que se ejecuta en la secuencia de dispositivos GPU -0 1, indicada con una flecha en color cian.

Captura de pantalla de la página de cronología de la interfaz de usuario de SageMaker Profiler

También aparecen dos pestañas de información en el panel inferior de la interfaz de usuario al seleccionar un intervalo de tiempo, como se muestra en la captura de pantalla anterior. La pestaña Current Selection (Selección actual) muestra los detalles del kernel seleccionado y del lanzamiento del kernel conectado desde el servidor. La dirección de conexión siempre es del host (CPU) al dispositivo (GPU), ya que cada GPU núcleo siempre se llama desde unCPU. La pestaña Connections (Conexiones) muestra el par de inicio y ejecución del kernel elegido. Puede seleccionar cualquiera de ellas para moverla al centro de la vista Timeline (Línea de tiempo).

En la siguiente captura de pantalla se amplía aún más la combinación de inicio y ejecución de la operación AllReduce.

Captura de pantalla de la página de cronología de la interfaz de usuario de SageMaker Profiler

Información

En Información, puede acceder a la información sobre el trabajo de entrenamiento cargado, como el tipo de instancia, los nombres de los recursos de Amazon (ARNs) de los recursos informáticos aprovisionados para el trabajo, los nombres de los nodos y los hiperparámetros.

Configuración

De forma predeterminada, la instancia de la aplicación SageMaker Profiler UI está configurada para cerrarse tras 2 horas de inactividad. En Settings (Ajustes), use los siguientes parámetros para ajustar el temporizador de cierre automático.

  • Enable app auto shutdown (Habilitar el cierre de la aplicación): seleccione y configúrelo como Enabled (Habilitado) para permitir que la aplicación se cierre automáticamente después del número especificado de horas de inactividad. Para desactivar la función de apagado automático, selecciona DIsabled (Desactivado).

  • Auto shutdown threshold in hours (Umbral de cierre automático en horas): si selecciona Enabled (Habilitado) para Enable app auto shutdown (Habilitar apierre automático de aplicación), puede establecer el tiempo límite en horas para que la aplicación se cierre automáticamente. De forma predeterminada, se establece en 2.