Prácticas recomendadas para Amazon SageMaker Debugger - 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.

Prácticas recomendadas para Amazon SageMaker Debugger

Siga las siguientes pautas cuando ejecute trabajos de entrenamiento con el depurador.

Elija un marco de machine learning

Puede elegir un marco de aprendizaje automático y utilizar contenedores de formación SageMaker prediseñados o sus propios contenedores. Usa Debugger para detectar problemas de entrenamiento y rendimiento, y analiza el progreso de tu trabajo de entrenamiento en. SageMaker SageMaker le ofrece opciones para usar contenedores prediseñados que están preparados para varios entornos de marco de aprendizaje automático con el fin de entrenar su modelo en Amazon EC2. Cualquier trabajo de formación se puede adaptar para ejecutarse en AWS Deep Learning Containers, contenedores de SageMaker formación y contenedores personalizados.

Uso del panel de información del depurador en Studio

Con el panel de información del depurador en Studio, puede controlar los trabajos de entrenamiento. Utilice los paneles del depurador de Studio para controlar y optimizar el rendimiento de sus modelos en las instancias de Amazon EC2. Para cualquier trabajo de SageMaker entrenamiento que se ejecute en una instancia Amazon EC2, Debugger supervisa la utilización de los recursos y los datos de salida del modelo básico (valores de pérdida y precisión). A través de los paneles del depurador en Studio, puede obtener información sobre sus trabajos de entrenamiento y mejorar el rendimiento del entrenamiento de su modelo. Para obtener más información, consulte Interfaz de usuario de Amazon SageMaker Debugger en Amazon SageMaker Studio Classic Experiments.

Descargue los informes del depurador y obtenga más información

Puede ver los resultados agregados y obtener información valiosa en los informes del depurador. El depurador agrupa los resultados de entrenamiento y creación de perfiles, recopilados del análisis de reglas integrado, en un informe por trabajo de entrenamiento. Puede encontrar información más detallada sobre los resultados de su entrenamiento en los informes del depurador. Para obtener más información, consulte SageMaker Informe interactivo sobre el depurador.

Obtenga datos del trabajo de entrenamiento y guárdelos en Amazon S3

Puede usar un enlace del depurador para guardar los tensores de salida. Después de elegir un contenedor y un marco que se ajusten a su script de entrenamiento, utilice un enlace del depurador para configurar qué tensores guardar y especificar un directorio donde guardarlos, como un bucket de Amazon S3. El enlace del depurador le ayuda a crear la configuración y a mantenerla en su cuenta para utilizarla en análisis posteriores, donde está protegida para su uso con las aplicaciones más confidenciales. Para obtener más información, consulte Configure el SageMaker depurador para guardar los tensores.

Análisis de los datos con una flota de reglas integradas del depurador

Puede usar las reglas integradas del depurador para inspeccionar los tensores en paralelo con un trabajo de entrenamiento. Para analizar los datos de rendimiento del entrenamiento, el depurador proporciona reglas integradas que vigilan los comportamientos anormales del proceso de entrenamiento. Por ejemplo, una regla del depurador detecta problemas cuando el proceso de entrenamiento sufre cuellos de botella en el sistema o problemas de entrenamiento, como la desaparición de gradientes, la explosión de tensores, los ajustes excesivos o el sobreentrenamiento. Si es necesario, también puede crear reglas personalizadas creando una definición de regla con sus propios criterios para definir un problema de entrenamiento. Para obtener más información sobre las reglas del depurador, consulte las Configurar reglas integradas del depurador instrucciones detalladas sobre el uso del SDK de Amazon SageMaker Python. Para obtener una lista completa de las reglas integradas del depurador, consulte Lista de reglas integradas del depurador. Si desea crear más reglas, consulte Cree reglas personalizadas del depurador para análisis de trabajos de entrenamiento.

Acciones basadas en el estado de las reglas integradas

Puede usar Debugger con Amazon CloudWatch Events y AWS Lambda. Puede automatizar las acciones en función del estado de las reglas, como interrumpir anticipadamente los trabajos de entrenamiento y configurar las notificaciones por correo electrónico o mensaje de texto. Cuando las reglas del depurador detectan problemas y activan un estado de "IssuesFound" evaluación, CloudWatch Events detecta los cambios en el estado de la regla e invoca la función Lambda para tomar medidas. Para configurar acciones automatizadas en función de los problemas de entrenamiento, consulte Crea acciones sobre las reglas con Amazon CloudWatch y AWS Lambda.

Análisis profundo de los datos con la biblioteca de cliente SMDebug

Puede usar las herramientas SMDebug para acceder a los datos de entrenamiento recopilados por el depurador y analizarlos. Las clases TrainingJob y create_trial cargan las métricas y los tensores guardados por el depurador. Estas clases proporcionan métodos de clase ampliados para analizar los datos en tiempo real o una vez finalizado el entrenamiento. La biblioteca SMDebug también proporciona herramientas de visualización: combinación de cronogramas de métricas de marco para agregar diferentes perfiles, gráficos de líneas y mapas térmicos para hacer un seguimiento de la utilización del sistema e histogramas para encontrar valores atípicos durante los pasos. Para obtener más información sobre las herramientas de la biblioteca SMDebug, consulte Análisis de datos mediante la biblioteca cliente de Python del depurador.

Monitorización y análisis de métricas de trabajos de entrenamiento

Amazon CloudWatch admite métricas personalizadas de alta resolución y su mejor resolución es de 1 segundo. Sin embargo, cuanto más fina sea la resolución, menor será la vida útil de las CloudWatch métricas. Para la resolución de frecuencia de 1 segundo, las CloudWatch métricas están disponibles durante 3 horas. Para obtener más información sobre la resolución y la duración de las CloudWatch métricas, consulta GetMetricEstadísticas en la referencia de las CloudWatch API de Amazon.

Si desea perfilar su trabajo de formación con una resolución más precisa, con una granularidad de hasta 100 milisegundos (0,1 segundos) y almacenar las métricas de formación de forma indefinida en Amazon S3 para su análisis personalizado en cualquier momento, considere la posibilidad de utilizar Amazon Debugger. SageMaker SageMaker Debugger proporciona reglas integradas para detectar automáticamente los problemas de entrenamiento más comunes; detecta los problemas de uso de los recursos de hardware (como los cuellos de botella de la CPU, la GPU y la E/S) y los problemas de modelos no convergentes (como el sobreajuste, la desaparición de los gradientes y la explosión de los tensores).

SageMaker Debugger también proporciona visualizaciones a través de Studio Classic y su informe de creación de perfiles. A diferencia de CloudWatch las métricas, que acumulan las tasas de utilización de los recursos de los núcleos de la CPU y la GPU y las promedian en varias instancias, Debugger hace un seguimiento de la tasa de utilización de cada núcleo. Esto le permite identificar el uso desequilibrado de los recursos de hardware a medida que amplía a clústeres de computación más grandes. Para explorar las visualizaciones del depurador, consulte el tutorial del panel de control de SageMaker Debugger Insights, el tutorial delinforme de creación de perfiles del depurador y el análisis de datos mediante la biblioteca de clientes SMDebug.

Monitorización del uso del sistema y detección de cuellos de botella

Con la supervisión de Amazon SageMaker Debugger, puede medir la utilización de los recursos del sistema de hardware de las instancias de Amazon EC2. El monitoreo está disponible para cualquier trabajo de SageMaker capacitación creado con los estimadores del SageMaker marco (TensorFlow PyTorch, y MXNet) y el SageMaker estimador genérico (algoritmos SageMaker integrados y sus propios contenedores personalizados). Las reglas integradas del depurador para la monitorización detectan los problemas de cuello de botella del sistema y se lo notifican.

Para obtener información sobre cómo habilitar la monitorización del sistema del depurador, consulte Configure un estimador con parámetros para la creación de perfiles básicos mediante los módulos Python de Amazon Debugger SageMaker y Configurar los ajustes para la creación de perfiles básicos de la utilización de los recursos del sistema.

Para obtener una lista completa de las reglas integradas disponibles para la monitorización, consulte Reglas integradas del depurador para perfilar la utilización de los recursos del sistema de hardware (métricas del sistema).

Operaciones del marco de creación de perfiles

Con la creación de perfiles de Amazon SageMaker Debugger, puede perfilar las operaciones de los marcos de aprendizaje profundo. Puede perfilar su modelo de entrenamiento con los contenedores de SageMaker TensorFlow entrenamiento, los contenedores de SageMaker PyTorch marco y sus propios contenedores de entrenamiento. Con la función de elaboración de perfiles del depurador, puede profundizar en los operadores y funciones de Python que se ejecutan para realizar el trabajo de entrenamiento. El depurador admite la creación de perfiles detallados, la creación de perfiles de Python, la creación de perfiles de carga de datos y la creación de perfiles de entrenamiento distribuidos de Horovod. Puede combinar los cronogramas perfilados para correlacionarlos con los cuellos de botella del sistema. Las reglas integradas del depurador para la elaboración de perfiles permiten observar los problemas relacionados con el funcionamiento del marco, como el tiempo excesivo de inicialización del entrenamiento debido a la descarga de datos antes de que comience el entrenamiento y los valores atípicos durante los pasos en los bucles de entrenamiento.

Para obtener información sobre cómo configurar el depurador para la creación de perfiles del marco, consulte Configure un estimador con parámetros para la creación de perfiles básicos mediante los módulos Python de Amazon Debugger SageMaker y, luego, Configurar la creación de perfiles del marco.

Para obtener una lista completa de las reglas integradas disponibles para la creación de perfiles, consulte Reglas integradas del depurador para las métricas del marco de generación de perfiles.

Depuración de tensores de salida de modelos

La depuración está disponible para los marcos de aprendizaje profundo que utilizan AWS Deep Learning Containers y los contenedores de SageMaker formación. En el caso de versiones de framework totalmente compatibles (consulte las versiones en Marcos y algoritmos compatibles), el depurador registra automáticamente los enlaces para recopilar los tensores de salida, así que usted puede ejecutar directamente el script de entrenamiento. En las versiones con asterisco, es necesario registrar manualmente los enlaces para recopilar tensores. El depurador proporciona colecciones de tensores preconfigurados, con nombres genéricos, que puede utilizar en los diferentes marcos. Si desea personalizar la configuración de los tensores de salida, también puede utilizar las operaciones de DebuggerHookConfig API CollectionConfig y el SDK de Amazon SageMaker Python para configurar sus propias colecciones de tensores. Las reglas integradas del depurador para la depuración analizan los tensores de salida e identifican los problemas de optimización del modelo que impiden que este minimice la función de pérdida. Por ejemplo, las reglas identifican el sobreajuste, el sobreentrenamiento, la ausencia de reducción en las pérdidas, la explosión de tensores o la desaparición de gradientes.

Para obtener información sobre cómo configurar el depurador a fin de depurar los tensores de salida, consulte Paso 2: Lanzar y depurar trabajos de entrenamiento con el SDK de SageMaker Python y, luego, Configure el SageMaker depurador para guardar los tensores.

Para obtener una lista completa de las reglas integradas disponibles para la depuración, consulte Reglas integradas en el depurador para depurar los datos de entrenamiento del modelo (tensores de salida).