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.
Lista de reglas integradas del generador de perfiles del depurador
Utilice las reglas del generador de perfiles integrado en Debugger que proporciona Amazon SageMaker Debugger y analice las métricas recopiladas durante el entrenamiento de sus modelos. Estas reglas supervisan diversas condiciones comunes que son fundamentales para realizar un trabajo de entrenamiento correctamente. Puede invocar las reglas del generador de perfiles integrado mediante el SDK de Amazon SageMaker Python
nota
El número máximo de reglas de creación de perfiles integradas que puede adjuntar a un trabajo de formación es de 20. SageMaker Debugger gestiona completamente las reglas integradas y analiza tu trabajo de formación de forma sincrónica.
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, bloc de notas de Jupyter 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)
Reglas del generador de perfiles
Las siguientes reglas son las reglas integradas del depurador que pueden invocarse con el classmethod ProfilerRule.sagemaker
.
Regla integrada del depurador para crear el informe de generación de perfiles
Ámbito de validez | Reglas integradas |
---|---|
Informe de creación de perfiles para cualquier trabajo de formación SageMaker |
Reglas integradas del depurador para perfilar la utilización de los recursos del sistema de hardware (métricas del sistema)
Ámbito de validez | Reglas integradas |
---|---|
Reglas genéricas de monitoreo del sistema para cualquier trabajo SageMaker de formación |
Reglas integradas del depurador para las métricas del marco de generación de perfiles
Ámbito de validez | Reglas integradas |
---|---|
Reglas de creación de perfiles para marcos de aprendizaje profundo (TensorFlow y PyTorch) |
aviso
A favor de Amazon SageMaker Profiler, SageMaker AI Debugger desaprueba la función de creación de perfiles del marco a partir de las versiones 2.11 y 2.0. TensorFlow PyTorch Puede seguir utilizando la función en las versiones anteriores de los marcos y de la siguiente manera. SDKs
-
SageMaker SDK de Python <= v2.130.0
-
PyTorch >= v1.6.0, < v2.0
-
TensorFlow >= v2.3.1, < v2.11
Véase también 16 de marzo de 2023.
Para usar las reglas integradas con los valores de los parámetros predeterminados, utilice el siguiente formato de configuración:
from sagemaker.debugger import Rule, ProfilerRule, rule_configs rules = [ ProfilerRule.sagemaker(rule_configs.
BuiltInRuleName_1
()), ProfilerRule.sagemaker(rule_configs.BuiltInRuleName_2
()), ... ProfilerRule.sagemaker(rule_configs.BuiltInRuleName_n
()) ]
Para usar las reglas integradas con la personalización de los valores de los parámetros, utilice el siguiente formato de configuración:
from sagemaker.debugger import Rule, ProfilerRule, rule_configs rules = [ ProfilerRule.sagemaker( base_config=rule_configs.
BuiltInRuleName
(), rule_parameters={ "key
": "value
" } ) ]
Para encontrar las claves disponibles del parámetro rule_parameters
, consulte las tablas de descripción de los parámetros.
Se proporcionan ejemplos de códigos de configuración de reglas para cada regla integrada a continuación de las tablas de descripción de parámetros.
-
Para obtener instrucciones completas y ejemplos del uso de las reglas integradas del depurador, consulte Código de ejemplo de reglas integradas del depurador.
-
Para obtener instrucciones completas sobre el uso de las reglas integradas con las operaciones de la API de bajo nivel SageMaker , consulte. Configurar el depurador mediante SageMaker la API
ProfilerReport
La ProfilerReport regla invoca todas las reglas integradas para la supervisión y la creación de perfiles. Crea un informe de generación de perfiles y se actualiza cuando se activan las reglas individuales. Puede descargar un informe completo de generación de perfiles mientras se está realizando un trabajo de entrenamiento o una vez finalizado el trabajo de entrenamiento. Puede ajustar los valores de los parámetros de la regla para personalizar la sensibilidad de las reglas integradas de supervisión y generación de perfiles. El siguiente código de ejemplo muestra el formato básico para ajustar los parámetros de la regla integrada a través de la ProfilerReport regla.
rules=[ ProfilerRule.sagemaker( rule_configs.
ProfilerReport
(<BuiltInRuleName>
_<parameter_name>
=value
) ) ]
Si activa esta ProfilerReport regla sin ningún parámetro personalizado, como se muestra en el siguiente código de ejemplo, la ProfilerReport regla activa todas las reglas integradas de supervisión y creación de perfiles con sus valores de parámetros predeterminados.
rules=[ProfilerRule.sagemaker(rule_configs.ProfilerReport())]
El siguiente código de ejemplo muestra cómo especificar y ajustar el cpu_threshold
parámetro de la CPUBottleneck regla y el threshold
parámetro de la IOBottleneck regla.
rules=[ ProfilerRule.sagemaker( rule_configs.ProfilerReport(
CPUBottleneck_cpu_threshold
=90
,IOBottleneck_threshold
=90
) ) ]
Para ver qué contiene el informe del generador de perfiles, consulte el informe de creación de perfiles del SageMaker depurador. Además, dado que esta regla activa todas las reglas de creación de perfiles, también puedes comprobar el estado del análisis de las reglas mediante la interfaz de usuario del SageMaker depurador en Studio Experiments. SageMaker
Descripciones de los parámetros de la regla OverallSystemUsage
Nombre del parámetro | Descripción |
---|---|
base_trial |
El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual. Obligatorio Valores válidos: string |
<BuiltInRuleName>_<parameter_name> |
Parámetro personalizable para ajustar los umbrales de otras reglas integradas de supervisión y generación de perfiles. Opcional Valor predeterminado: |
BatchSize
La BatchSize regla ayuda a detectar si la GPU está infrautilizada debido a un tamaño de lote pequeño. Para detectar este problema, esta regla supervisa el uso promedio de la CPU, el uso de la GPU y el uso de la memoria de la GPU. Si de media, el uso de la CPU, la GPU y la memoria de la GPU es bajo, esto puede indicar que el trabajo de entrenamiento puede ejecutarse en un tipo de instancia más pequeño o con un tamaño de lote mayor. Este análisis no funciona para marcos que asignan mucha más memoria. Sin embargo, aumentar el tamaño del lote puede provocar cuellos de botella en el procesamiento o la carga de datos, ya que se requiere más tiempo de preprocesamiento de los datos en cada iteración.
Descripciones de los parámetros de la regla BatchSize
Nombre del parámetro | Descripción |
---|---|
base_trial |
El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual. Obligatorio Valores válidos: string |
cpu_threshold_p95 |
Define el umbral del 95.º cuantil de utilización de la CPU en porcentaje. Opcional Valores válidos: número entero Valor predeterminado: |
gpu_threshold_p95 |
Define el umbral del 95.º cuantil de utilización de la CPU en porcentaje. Opcional Valores válidos: número entero Valor predeterminado: |
gpu_memory_threshold_p95 |
Define el umbral del 95.º cuantil de utilización de la CPU en porcentaje. Opcional Valores válidos: número entero Valores predeterminados: |
patience |
Define el número de puntos de datos que se van a omitir hasta que la regla inicie la evaluación. Los primeros pasos de los trabajos de entrenamiento suelen mostrar un gran volumen de procesos de datos, así que tenga paciencia con la regla y evite que se invoque demasiado pronto con un número determinado de datos de generación de perfiles que especifique con este parámetro. Opcional Valores válidos: número entero Valores predeterminados: |
window |
Tamaño de ventana para calcular cuantiles. Opcional Valores válidos: número entero Valores predeterminados: |
scan_interval_us |
Intervalo de tiempo durante el que se escanean los archivos de cronología. Opcional Valores válidos: número entero Valores predeterminados: |
CPUBottleneck
La CPUBottleneck regla ayuda a detectar si la GPU está infrautilizada debido a los cuellos de botella de la CPU. La regla devuelve el valor True si el número de cuellos de botella de la CPU supera un umbral predefinido.
Descripciones de los parámetros de la regla CPUBottleneck
Nombre del parámetro | Descripción |
---|---|
base_trial |
El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual. Obligatorio Valores válidos: string |
threshold |
Define el umbral de proporción del tiempo de trabajo con cuellos de botella con respecto al tiempo total de entrenamiento. Si la proporción supera el porcentaje especificado en el parámetro de umbral, la regla cambia el estado de la regla a True. Opcional Valores válidos: número entero Valor predeterminado: |
gpu_threshold |
Un umbral que define un uso bajo de la GPU. Opcional Valores válidos: número entero Valor predeterminado: |
cpu_threshold |
Un umbral que define un uso elevado de la CPU. Opcional Valores válidos: número entero Valores predeterminados: |
patience |
Define el número de puntos de datos que se van a omitir hasta que la regla inicie la evaluación. Los primeros pasos de los trabajos de entrenamiento suelen mostrar un gran volumen de procesos de datos, así que tenga paciencia con la regla y evite que se invoque demasiado pronto con un número determinado de datos de generación de perfiles que especifique con este parámetro. Opcional Valores válidos: número entero Valores predeterminados: |
scan_interval_us |
Intervalo de tiempo durante el que se escanean los archivos de cronología. Opcional Valores válidos: número entero Valores predeterminados: |
GPUMemoryIncrementar
La regla de GPUMemory aumento ayuda a detectar un gran aumento en el uso de memoria en GPUs.
Descripciones de los parámetros de la regla de GPUMemory aumento
Nombre del parámetro | Descripción |
---|---|
base_trial |
El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual. Obligatorio Valores válidos: string |
increase |
Define el umbral para el aumento absoluto de la memoria. Opcional Valores válidos: número entero Valor predeterminado: |
patience |
Define el número de puntos de datos que se van a omitir hasta que la regla inicie la evaluación. Los primeros pasos de los trabajos de entrenamiento suelen mostrar un gran volumen de procesos de datos, así que tenga paciencia con la regla y evite que se invoque demasiado pronto con un número determinado de datos de generación de perfiles que especifique con este parámetro. Opcional Valores válidos: número entero Valores predeterminados: |
window |
Tamaño de ventana para calcular cuantiles. Opcional Valores válidos: número entero Valores predeterminados: |
scan_interval_us |
Intervalo de tiempo durante el que se escanean los archivos de cronología. Opcional Valores válidos: número entero Valores predeterminados: |
IOBottleneck
Esta regla ayuda a detectar si la GPU está siendo infrautilizada debido a cuellos de botella de E/S de datos. La regla devuelve el valor True si el número de cuellos de botella de E/S supera un umbral predefinido.
Descripciones de los parámetros de la regla IOBottleneck
Nombre del parámetro | Descripción |
---|---|
base_trial |
El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual. Obligatorio Valores válidos: string |
threshold |
Define el umbral para que la regla devuelva True. Opcional Valores válidos: número entero Valor predeterminado: |
gpu_threshold |
Un umbral que define cuándo se considera que la GPU está siendo infrautilizada. Opcional Valores válidos: número entero Valor predeterminado: |
io_threshold |
Un umbral que define un tiempo de espera de E/S elevado. Opcional Valores válidos: número entero Valores predeterminados: |
patience |
Define el número de puntos de datos que se van a omitir hasta que la regla inicie la evaluación. Los primeros pasos de los trabajos de entrenamiento suelen mostrar un gran volumen de procesos de datos, así que tenga paciencia con la regla y evite que se invoque demasiado pronto con un número determinado de datos de generación de perfiles que especifique con este parámetro. Opcional Valores válidos: número entero Valores predeterminados: |
scan_interval_us |
Intervalo de tiempo durante el que se escanean los archivos de cronología. Opcional Valores válidos: número entero Valores predeterminados: |
LoadBalancing
La LoadBalancing regla ayuda a detectar problemas en el equilibrio de la carga de trabajo entre varios GPUs.
Descripciones de los parámetros de la LoadBalancing regla
Nombre del parámetro | Descripción |
---|---|
base_trial |
El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual. Obligatorio Valores válidos: string |
threshold |
Define el porcentaje de carga de trabajo. Opcional Valores válidos: número entero Valor predeterminado: |
patience |
Define el número de puntos de datos que se van a omitir hasta que la regla inicie la evaluación. Los primeros pasos de los trabajos de entrenamiento suelen mostrar un gran volumen de procesos de datos, así que tenga paciencia con la regla y evite que se invoque demasiado pronto con un número determinado de datos de generación de perfiles que especifique con este parámetro. Opcional Valores válidos: número entero Valores predeterminados: |
scan_interval_us |
Intervalo de tiempo durante el que se escanean los archivos de cronología. Opcional Valores válidos: número entero Valores predeterminados: |
Bajo GPUUtilization
La GPUUtilization regla Low ayuda a detectar si el uso de la GPU es bajo o sufre fluctuaciones. Esto se comprueba para cada GPU de cada trabajador. La regla devuelve el valor True si el 95.º cuantil está por debajo del umbral_p95, lo que indica una infrautilización. La regla vuelve a ser verdadera si el 95.º cuantil está por encima del umbral_p95 y el 5.º cuantil está por debajo del umbral_p5, lo que indica fluctuaciones.
Descripciones de los parámetros de la GPUUtilization regla de nivel bajo
Nombre del parámetro | Descripción |
---|---|
base_trial |
El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual. Obligatorio Valores válidos: string |
threshold_p95 |
Un umbral para el 95.º cuantil por debajo del cual se considera que la GPU está siendo infrautilizada. Opcional Valores válidos: número entero Valor predeterminado: |
threshold_p5 |
Un umbral para el 5.º cuantil. El valor predeterminado es del 10 por ciento. Opcional Valores válidos: número entero Valores predeterminados: |
patience |
Define el número de puntos de datos que se van a omitir hasta que la regla inicie la evaluación. Los primeros pasos de los trabajos de entrenamiento suelen mostrar un gran volumen de procesos de datos, así que tenga paciencia con la regla y evite que se invoque demasiado pronto con un número determinado de datos de generación de perfiles que especifique con este parámetro. Opcional Valores válidos: número entero Valores predeterminados: |
window |
Tamaño de ventana para calcular cuantiles. Opcional Valores válidos: número entero Valores predeterminados: |
scan_interval_us |
Intervalo de tiempo durante el que se escanean los archivos de cronología. Opcional Valores válidos: número entero Valores predeterminados: |
OverallSystemUsage
La OverallSystemUsage regla mide el uso general del sistema por nodo trabajador. Actualmente, la regla solo agrega valores por nodo y calcula sus percentiles.
Descripciones de los parámetros de la OverallSystemUsage regla
Nombre del parámetro | Descripción |
---|---|
base_trial |
El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual. Obligatorio Valores válidos: string |
scan_interval_us |
Intervalo de tiempo durante el que se escanean los archivos de cronología. Opcional Valores válidos: número entero Valores predeterminados: |
MaxInitializationTime
La MaxInitializationTime regla ayuda a detectar si la inicialización del entrenamiento está tardando demasiado. La regla espera hasta que el primer paso esté disponible.
Descripciones de los parámetros de la regla MaxInitializationTime
Nombre del parámetro | Descripción |
---|---|
base_trial |
El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual. Obligatorio Valores válidos: string |
threshold |
Define el umbral en minutos para esperar a que el primer paso esté disponible. Opcional Valores válidos: número entero Valor predeterminado: |
scan_interval_us |
Intervalo de tiempo durante el que se escanean los archivos de cronología. Opcional Valores válidos: número entero Valores predeterminados: |
OverallFrameworkMetrics
La OverallFrameworkMetrics regla resume el tiempo dedicado a las métricas del marco, como el avance y retroceso y la carga de datos.
Descripciones de los parámetros de la regla OverallFrameworkMetrics
Nombre del parámetro | Descripción |
---|---|
base_trial |
El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual. Obligatorio Valores válidos: string |
scan_interval_us |
Intervalo de tiempo durante el que se escanean los archivos de cronología. Opcional Valores válidos: número entero Valores predeterminados: |
StepOutlier
La StepOutlier regla ayuda a detectar valores atípicos en la duración de los pasos. Esta regla devuelve True
si hay valores atípicos con duraciones de paso superiores a los sigmas stddev
de todas las duraciones de paso en un intervalo de tiempo.
Descripciones de los parámetros de la regla StepOutlier
Nombre del parámetro | Descripción |
---|---|
base_trial |
El nombre del trabajo de entrenamiento de prueba base. Amazon SageMaker Debugger establece automáticamente este parámetro en el trabajo de formación actual. Obligatorio Valores válidos: string |
stddev |
Define un factor por el que se multiplica la desviación estándar. Por ejemplo, la regla se invoca de forma predeterminada cuando la duración de un paso es superior o inferior a 5 veces la desviación estándar. Opcional Valores válidos: número entero Valor predeterminado: |
mode |
Modo en el que se han guardado los pasos y en el que debe ejecutarse la regla. Por defecto, la regla se ejecutará en los pasos de las fases EVAL y TRAIN Opcional Valores válidos: número entero Valor predeterminado: |
n_outliers |
¿Cuántos valores atípicos se deben ignorar antes de que la regla devuelva el valor True? Opcional Valores válidos: número entero Valor predeterminado: |
scan_interval_us |
Intervalo de tiempo durante el que se escanean los archivos de cronología. Opcional Valores válidos: número entero Valores predeterminados: |