As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Lista de regras integradas do perfilador do Debugger
Use as regras de criação de perfil integradas do Debugger fornecidas pelo Amazon SageMaker Debugger e analise as métricas coletadas durante o treinamento de seus modelos. As regras internas do Debugger monitoram várias condições comuns que são críticas para o sucesso da execução de um trabalho de treinamento de desempenho. Você pode chamar as regras integradas do criador de perfil usando o Amazon SageMaker SDK Python
nota
O número máximo de regras de criação de perfil incorporadas que você pode anexar a um trabalho de treinamento é 20. SageMaker O Debugger gerencia totalmente as regras integradas e analisa seu trabalho de treinamento de forma síncrona.
Importante
Para usar os novos recursos do Debugger, você precisa atualizar o SageMaker Python SDK e a biblioteca cliente. SMDebug Em seu iPython kernel, notebook Jupyter ou JupyterLab ambiente, execute o código a seguir para instalar as versões mais recentes das bibliotecas e reiniciar o kernel.
import sys import IPython !{sys.executable} -m pip install -U sagemaker smdebug IPython.Application.instance().kernel.do_shutdown(True)
Regras do perfilador
As regras a seguir são as regras integradas do Debugger que podem ser chamadas usando o método de classe ProfilerRule.sagemaker
.
Regra integrada do depurador para gerar o relatório de criação de perfil
Escopo de validade | Regras integradas |
---|---|
Relatório de perfil para qualquer trabalho SageMaker de treinamento |
Regras integradas do depurador para definir o perfil da utilização dos recursos do sistema de hardware (métricas do sistema)
Escopo de validade | Regras integradas |
---|---|
Regras genéricas de monitoramento do sistema para qualquer trabalho SageMaker de treinamento |
Regras integradas do Debugger para criar perfis de métricas da framework
Escopo de validade | Regras integradas |
---|---|
Regras de criação de perfil para estruturas de aprendizado profundo (TensorFlow e) PyTorch |
Atenção
Em favor do Amazon SageMaker Profiler, o SageMaker Debugger descontinua o recurso de criação de perfil da estrutura a partir da versão 2.11 e 2.0. TensorFlow PyTorch Você ainda pode usar o recurso nas versões anteriores das estruturas e da SDKs seguinte forma.
-
SageMaker Python <= v2.130.0 SDK
-
PyTorch >= v1.6.0, < v2.0
-
TensorFlow >= v2.3.1, < v2.11
Consulte também 16 de março de 2023.
Para usar as regras integradas com valores de parâmetros padrão, use o seguinte formato de configuração:
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 as regras integradas com valores de parâmetros personalizados, use o seguinte formato de configuração:
from sagemaker.debugger import Rule, ProfilerRule, rule_configs rules = [ ProfilerRule.sagemaker( base_config=rule_configs.
BuiltInRuleName
(), rule_parameters={ "key
": "value
" } ) ]
Para encontrar as chaves disponíveis para o parâmetro rule_parameters
, consulte as tabelas de descrição de parâmetros.
Exemplos de códigos de configuração de regras são fornecidos para cada regra integrada abaixo das tabelas de descrição de parâmetros.
-
Para obter instruções completas e exemplos de uso das regras integradas do Debugger, consulte Código de exemplo de regras integradas do depurador.
-
Para obter instruções completas sobre como usar as regras integradas com as SageMaker API operações de baixo nível, consulteConfigurar o Debugger usando SageMaker API.
ProfilerReport
A ProfilerReport regra invoca todas as regras integradas para monitoramento e criação de perfil. Ele cria um relatório de criação de perfil e é atualizado quando as regras individuais são acionadas. Você pode baixar um relatório de criação de perfil abrangente enquanto um trabalho de treinamento está em execução ou após a conclusão do trabalho de treinamento. Você pode ajustar os valores dos parâmetros da regra para personalizar a sensibilidade das regras integradas de monitoramento e criação de perfil. O código de exemplo a seguir mostra o formato básico para ajustar os parâmetros de regra incorporados por meio da ProfilerReport regra.
rules=[ ProfilerRule.sagemaker( rule_configs.
ProfilerReport
(<BuiltInRuleName>
_<parameter_name>
=value
) ) ]
Se você acionar essa ProfilerReport regra sem nenhum parâmetro personalizado, conforme mostrado no código de exemplo a seguir, a ProfilerReport regra acionará todas as regras integradas para monitoramento e criação de perfil com seus valores de parâmetros padrão.
rules=[ProfilerRule.sagemaker(rule_configs.ProfilerReport())]
O código de exemplo a seguir mostra como especificar e ajustar o cpu_threshold
parâmetro da CPUBottleneck regra e o threshold
parâmetro da IOBottleneck regra.
rules=[ ProfilerRule.sagemaker( rule_configs.ProfilerReport(
CPUBottleneck_cpu_threshold
=90
,IOBottleneck_threshold
=90
) ) ]
Para explorar o que está no relatório do criador de perfil, consulte Relatório de criação de perfil do SageMaker depurador. Além disso, como essa regra ativa todas as regras de criação de perfil, você também pode verificar o status da análise da regra usando a interface do usuário do SageMaker Debugger no Studio Experiments. SageMaker
Descrições de parâmetros para a OverallSystemUsage regra
Nome do parâmetro | Descrição |
---|---|
base_trial |
O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger. Obrigatório Valores válidos: string |
<BuiltInRuleName>_<parameter_name> |
Parâmetro personalizável para ajustar os limites de outras regras integradas de monitoramento e criação de perfil. Opcional Valor padrão: |
BatchSize
A BatchSize regra ajuda a detectar se GPU está subutilizada devido ao pequeno tamanho do lote. Para detectar esse problema, essa regra monitora a média de CPU utilização, GPU utilização e utilização da GPU memória. Se a utilização ativada e a GPU memória estiverem baixasCPU, GPU em média, isso pode indicar que o trabalho de treinamento pode ser executado em um tipo de instância menor ou em um lote maior. Essa análise não funciona para frameworks que superalocam muito a memória. No entanto, aumentar o tamanho do lote pode causar problemas no processamento ou no carregamento de dados, pois é necessário mais tempo de pré-processamento de dados em cada iteração.
Descrições de parâmetros para a BatchSize regra
Nome do parâmetro | Descrição |
---|---|
base_trial |
O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger. Obrigatório Valores válidos: string |
cpu_threshold_p95 |
Define o limite para o 95º quantil de CPU utilização em porcentagem. Opcional Valores válidos: inteiro Valor padrão: |
gpu_threshold_p95 |
Define o limite para o 95º quantil de GPU utilização em porcentagem. Opcional Valores válidos: inteiro Valor padrão: |
gpu_memory_threshold_p95 |
Define o limite para o 95º quantil de utilização da GPU memória em porcentagem. Opcional Valores válidos: inteiro Valores padrão: |
patience |
Define o número de pontos de dados a serem ignorados até que a regra inicie a avaliação. As primeiras etapas dos trabalhos de treinamento geralmente mostram um alto volume de processos de dados, portanto, mantenha a regra paciente e evite que ela seja invocada muito cedo com um determinado número de dados de perfil que você especifica com esse parâmetro. Opcional Valores válidos: inteiro Valores padrão: |
window |
Tamanho da janela para calcular quantis. Opcional Valores válidos: inteiro Valores padrão: |
scan_interval_us |
Intervalo de tempo em que os arquivos da linha do tempo são digitalizados. Opcional Valores válidos: inteiro Valores padrão: |
CPUBottleneck
A CPUBottleneck regra ajuda a detectar se GPU está subutilizada devido a gargalosCPU. A regra retorna Verdadeira se o número de CPU gargalos exceder um limite predefinido.
Descrições de parâmetros para a CPUBottleneck regra
Nome do parâmetro | Descrição |
---|---|
base_trial |
O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger. Obrigatório Valores válidos: string |
threshold |
Define o limite para a proporção do tempo problemático em relação ao tempo total de treinamento. Se a proporção exceder a porcentagem especificada para o parâmetro de limite, a regra alterna o status da regra para Verdadeiro. Opcional Valores válidos: inteiro Valor padrão: |
gpu_threshold |
Um limite que define a baixa GPU utilização. Opcional Valores válidos: inteiro Valor padrão: |
cpu_threshold |
Um limite que define a alta CPU utilização. Opcional Valores válidos: inteiro Valores padrão: |
patience |
Define o número de pontos de dados a serem ignorados até que a regra inicie a avaliação. As primeiras etapas dos trabalhos de treinamento geralmente mostram um alto volume de processos de dados, portanto, mantenha a regra paciente e evite que ela seja invocada muito cedo com um determinado número de dados de perfil que você especifica com esse parâmetro. Opcional Valores válidos: inteiro Valores padrão: |
scan_interval_us |
Intervalo de tempo com o qual os arquivos da linha do tempo são digitalizados. Opcional Valores válidos: inteiro Valores padrão: |
GPUMemoryIncrease
A GPUMemoryIncrease regra ajuda a detectar um grande aumento no uso de memória emGPUs.
Descrições de parâmetros para a GPUMemoryIncrease regra
Nome do parâmetro | Descrição |
---|---|
base_trial |
O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger. Obrigatório Valores válidos: string |
increase |
Define o limite para o aumento absoluto da memória. Opcional Valores válidos: inteiro Valor padrão: |
patience |
Define o número de pontos de dados a serem ignorados até que a regra inicie a avaliação. As primeiras etapas dos trabalhos de treinamento geralmente mostram um alto volume de processos de dados, portanto, mantenha a regra paciente e evite que ela seja invocada muito cedo com um determinado número de dados de perfil que você especifica com esse parâmetro. Opcional Valores válidos: inteiro Valores padrão: |
window |
Tamanho da janela para calcular quantis. Opcional Valores válidos: inteiro Valores padrão: |
scan_interval_us |
Intervalo de tempo em que os arquivos da linha do tempo são digitalizados. Opcional Valores válidos: inteiro Valores padrão: |
IOBottleneck
Essa regra ajuda a detectar se GPU está subutilizada devido a gargalos de E/S de dados. A regra retornará True se o número de problemas de E/S exceder um limite predefinido.
Descrições de parâmetros para a IOBottleneck regra
Nome do parâmetro | Descrição |
---|---|
base_trial |
O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger. Obrigatório Valores válidos: string |
threshold |
Define o limite em que a regra retornará Verdadeiro. Opcional Valores válidos: inteiro Valor padrão: |
gpu_threshold |
Um limite que define quando GPU é considerado subutilizado. Opcional Valores válidos: inteiro Valor padrão: |
io_threshold |
Um limite que define um alto tempo de espera de E/S. Opcional Valores válidos: inteiro Valores padrão: |
patience |
Define o número de pontos de dados a serem ignorados até que a regra inicie a avaliação. As primeiras etapas dos trabalhos de treinamento geralmente mostram um alto volume de processos de dados, portanto, mantenha a regra paciente e evite que ela seja invocada muito cedo com um determinado número de dados de perfil que você especifica com esse parâmetro. Opcional Valores válidos: inteiro Valores padrão: |
scan_interval_us |
Intervalo de tempo em que os arquivos da linha do tempo são digitalizados. Opcional Valores válidos: inteiro Valores padrão: |
LoadBalancing
A LoadBalancing regra ajuda a detectar problemas no balanceamento da carga de trabalho entre vários. GPUs
Descrições de parâmetros para a LoadBalancing regra
Nome do parâmetro | Descrição |
---|---|
base_trial |
O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger. Obrigatório Valores válidos: string |
threshold |
Define a porcentagem da workload. Opcional Valores válidos: inteiro Valor padrão: |
patience |
Define o número de pontos de dados a serem ignorados até que a regra inicie a avaliação. As primeiras etapas dos trabalhos de treinamento geralmente mostram um alto volume de processos de dados, portanto, mantenha a regra paciente e evite que ela seja invocada muito cedo com um determinado número de dados de perfil que você especifica com esse parâmetro. Opcional Valores válidos: inteiro Valores padrão: |
scan_interval_us |
Intervalo de tempo em que os arquivos da linha do tempo são digitalizados. Opcional Valores válidos: inteiro Valores padrão: |
L owGPUUtilization
A owGPUUtilization regra L ajuda a detectar se a GPU utilização é baixa ou sofre flutuações. Isso é verificado para cada GPU trabalhador. A regra retorna True se o 95º quantil estiver abaixo do threshold_p95, o que indica subutilização. A regra retorna verdadeira se o 95º quantil estiver acima do threshold_p95 e o 5º quantil estiver abaixo do threshold_p5, o que indica flutuações.
Descrições de parâmetros para a owGPUUtilization regra L
Nome do parâmetro | Descrição |
---|---|
base_trial |
O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger. Obrigatório Valores válidos: string |
threshold_p95 |
Um limite para o 95º quantil abaixo do qual GPU é considerado subutilizado. Opcional Valores válidos: inteiro Valor padrão: |
threshold_p5 |
Um limite para o 5º quantil. O valor padrão é 10%. Opcional Valores válidos: inteiro Valores padrão: |
patience |
Define o número de pontos de dados a serem ignorados até que a regra inicie a avaliação. As primeiras etapas dos trabalhos de treinamento geralmente mostram um alto volume de processos de dados, portanto, mantenha a regra paciente e evite que ela seja invocada muito cedo com um determinado número de dados de perfil que você especifica com esse parâmetro. Opcional Valores válidos: inteiro Valores padrão: |
window |
Tamanho da janela para calcular quantis. Opcional Valores válidos: inteiro Valores padrão: |
scan_interval_us |
Intervalo de tempo em que os arquivos da linha do tempo são digitalizados. Opcional Valores válidos: inteiro Valores padrão: |
OverallSystemUsage
A OverallSystemUsage regra mede o uso geral do sistema por nó de trabalho. Atualmente, a regra agrega apenas valores por nó e calcula seus percentis.
Descrições de parâmetros para a OverallSystemUsage regra
Nome do parâmetro | Descrição |
---|---|
base_trial |
O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger. Obrigatório Valores válidos: string |
scan_interval_us |
Intervalo de tempo para verificar arquivos da linha do tempo. Opcional Valores válidos: inteiro Valores padrão: |
MaxInitializationTime
A MaxInitializationTime regra ajuda a detectar se a inicialização do treinamento está demorando muito. A regra espera até que a primeira etapa esteja disponível.
Descrições de parâmetros para a MaxInitializationTime regra
Nome do parâmetro | Descrição |
---|---|
base_trial |
O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger. Obrigatório Valores válidos: string |
threshold |
Define o limite em minutos para aguardar a disponibilidade da primeira etapa. Opcional Valores válidos: inteiro Valor padrão: |
scan_interval_us |
Intervalo de tempo com o qual os arquivos da linha do tempo são digitalizados. Opcional Valores válidos: inteiro Valores padrão: |
OverallFrameworkMetrics
A OverallFrameworkMetrics regra resume o tempo gasto nas métricas da estrutura, como passagem para frente e para trás e carregamento de dados.
Descrições de parâmetros para a OverallFrameworkMetrics regra
Nome do parâmetro | Descrição |
---|---|
base_trial |
O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger. Obrigatório Valores válidos: string |
scan_interval_us |
Intervalo de tempo para verificar arquivos da linha do tempo. Opcional Valores válidos: inteiro Valores padrão: |
StepOutlier
A StepOutlier regra ajuda a detectar valores discrepantes nas durações das etapas. Essa regra retorna True
se houver valores discrepantes com durações de etapas maiores que stddev
sigmas de todas as durações de etapas em um intervalo de tempo.
Descrições de parâmetros para a StepOutlier regra
Nome do parâmetro | Descrição |
---|---|
base_trial |
O nome do trabalho de treinamento de teste básico. Esse parâmetro é definido automaticamente para o trabalho de treinamento atual pelo Amazon SageMaker Debugger. Obrigatório Valores válidos: string |
stddev |
Define um fator pelo qual multiplicar o desvio padrão. Por exemplo, a regra é invocada por padrão quando a duração de uma etapa é maior ou menor que 5 vezes o desvio padrão. Opcional Valores válidos: inteiro Valor padrão: |
mode |
Modo sob o qual as etapas foram salvas e em qual Regra deve ser executada. Por padrão, a regra será executada nas etapas de EVAL e TRAIN fase. Opcional Valores válidos: inteiro Valor padrão: |
n_outliers |
Quantos valores discrepantes devem ser ignorados antes que a regra retorne Verdadeiro Opcional Valores válidos: inteiro Valor padrão: |
scan_interval_us |
Intervalo de tempo com o qual os arquivos da linha do tempo são digitalizados. Opcional Valores válidos: inteiro Valores padrão: |