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 para entrenar su modelo en AmazonEC2. 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. Usa los paneles de Studio Debugger para mantener el rendimiento de tu modelo en las EC2 instancias de Amazon bajo control y optimizado. Para cualquier trabajo de SageMaker entrenamiento que se ejecute en una EC2 instancia de Amazon, Debugger monitorea 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 de Amazon SageMaker Python SDK. 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.

Profundice en los datos mediante la biblioteca cliente SMDebug

Puede utilizar las SMDebug herramientas para acceder a los datos de entrenamiento recopilados por Debugger 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 SMDebug biblioteca también proporciona herramientas de visualización: combine los cronogramas de las métricas del marco para agregar diferentes perfiles, gráficos de líneas y mapas térmicos para hacer un seguimiento del uso del sistema e histogramas para encontrar valores atípicos en la duración de los pasos. Para obtener más información sobre las herramientas de la SMDebug biblioteca, 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 GetMetricStatisticsAmazon CloudWatch API Reference.

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 utilización de los recursos de hardware (como CPU los cuellos de botella de E/S y los cuellos de botella de 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). GPU

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 recursos CPU y GPU núcleos 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 EC2 instancias de Amazon. El monitoreo está disponible para cualquier trabajo de SageMaker capacitación creado con los estimadores del SageMaker marco (TensorFlow PyTorch, yMXNet) 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 supervisión, consulte las 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 las reglas integradas de Debugger para la creación de perfiles de métricas del marco.

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 usar las DebuggerHookConfig API operaciones CollectionConfig y y Amazon SageMaker Python SDK 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 Python SageMaker SDK 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 del depurador para depurar los datos de entrenamiento del modelo (tensores de salida).