

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
<a name="debugger-built-in-profiler-rules"></a>

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 SDK do [Amazon SageMaker Python](https://sagemaker.readthedocs.io/en/stable) ou as operações de API de baixo nível. SageMaker Não há custo adicional para usar as regras integradas. Para obter mais informações sobre faturamento, consulte a página de [ SageMaker preços da Amazon](https://aws.amazon.com/sagemaker/pricing/).

**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 SDK do SageMaker Python e a biblioteca cliente. SMDebug No kernel do IPython, no notebook Jupyter JupyterLab ou no 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
<a name="debugger-built-in-profiler-rules-ProfilerRule"></a>

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 |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/debugger-built-in-profiler-rules.html)  | 

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 |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/debugger-built-in-profiler-rules.html)  | 

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 |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/debugger-built-in-profiler-rules.html)  | 

**Atenção**  
Em favor do [Amazon SageMaker Profiler](train-use-sagemaker-profiler.md), o SageMaker AI 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 SDK para Python <= v2.130.0
PyTorch >= v1.6.0, < v2.0
TensorFlow >= v2.3.1, < v2.11
Consulte também [16 de março de 2023](debugger-release-notes.md#debugger-release-notes-20230315).

**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](debugger-built-in-rules-example.md#debugger-deploy-built-in-rules).
+ Para obter instruções completas sobre como usar as regras integradas com as operações de SageMaker API de baixo nível, consulte[Configurar o Debugger usando a API SageMaker](debugger-createtrainingjob-api.md).

## ProfilerReport
<a name="profiler-report"></a>

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](https://docs.aws.amazon.com/sagemaker/latest/dg/debugger-profiling-report.html). 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](https://docs.aws.amazon.com/sagemaker/latest/dg/debugger-on-studio.html) no Studio Experiments. SageMaker 

Descrições de parâmetros para a OverallSystemUsage regra


| Nome do parâmetro | Description | 
| --- | --- | 
| 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.<br />**Obrigatório**<br />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. <br />**Opcional**<br />Valor padrão: `None` | 

## BatchSize
<a name="batch-size-rule"></a>

A BatchSize regra ajuda a detectar se a GPU está subutilizada devido ao pequeno tamanho do lote. Para detectar esse problema, essa regra monitora a utilização média da CPU, a utilização da GPU e a utilização de memória da GPU. Se a utilização na memória de CPU, GPU e GPU for baixa, 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 | Description | 
| --- | --- | 
| 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.<br />**Obrigatório**<br />Valores válidos: string | 
| cpu\_threshold\_p95 | Define o limite para o 95º quantil de utilização da CPU em porcentagem.<br />**Opcional**<br />Valores válidos: inteiro<br />Valor padrão: `70` (em porcentagem) | 
| gpu\_threshold\_p95 | Define o limite para o 95º quantil de utilização da GPU em porcentagem.<br />**Opcional**<br />Valores válidos: inteiro<br />Valor padrão: `70` (em porcentagem) | 
| gpu\_memory\_threshold\_p95 | Define o limite para o 95º quantil de utilização de memória da GPU em porcentagem.<br />**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `70` (em porcentagem) | 
| 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.<br />**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `100` | 
| window | Tamanho da janela para calcular quantis.<br />**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `500` | 
| scan\_interval\_us | Intervalo de tempo em que os arquivos da linha do tempo são digitalizados.<br />**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `60000000` (em microssegundos) | 

## CPUBottleneck
<a name="cpu-bottleneck"></a>

A CPUBottleneck regra ajuda a detectar se a GPU está subutilizada devido a gargalos na CPU. A regra retornará True se o número de problemas da CPU exceder um limite predefinido.

Descrições de parâmetros para a CPUBottleneck regra


| Nome do parâmetro | Description | 
| --- | --- | 
| 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.<br />**Obrigatório**<br />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.<br />**Opcional**<br />Valores válidos: inteiro<br />Valor padrão: `50` (em porcentagem) | 
| gpu\_threshold | Um limite que define a baixa utilização da GPU.<br />**Opcional**<br />Valores válidos: inteiro<br />Valor padrão: `10` (em porcentagem) | 
| cpu\_threshold | Um limite que define a alta utilização da CPU.<br />**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `90` (em porcentagem) | 
| 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.<br />**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `100` | 
| scan\_interval\_us | Intervalo de tempo com o qual os arquivos da linha do tempo são digitalizados.<br />**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `60000000` (em microssegundos) | 

## GPUMemoryAumentar
<a name="gpu-memory-increase"></a>

A regra GPUMemory Aumentar ajuda a detectar um grande aumento no uso de memória em GPUs.

Descrições de parâmetros para a regra de GPUMemory aumento


| Nome do parâmetro | Description | 
| --- | --- | 
| 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.<br />**Obrigatório**<br />Valores válidos: string | 
| increase | Define o limite para o aumento absoluto da memória.<br />**Opcional**<br />Valores válidos: inteiro<br />Valor padrão: `10` (em porcentagem) | 
| 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.<br />**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `100` | 
| window | Tamanho da janela para calcular quantis.<br />**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `500` | 
| scan\_interval\_us | Intervalo de tempo em que os arquivos da linha do tempo são digitalizados.<br />**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `60000000` (em microssegundos) | 

## IOBottleneck
<a name="io-bottleneck"></a>

Essa regra ajuda a detectar se a 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 | Description | 
| --- | --- | 
| 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.<br />**Obrigatório**<br />Valores válidos: string | 
| threshold | Define o limite em que a regra retornará Verdadeiro.**Opcional**<br />Valores válidos: inteiro<br />Valor padrão: `50` (em porcentagem) | 
| gpu\_threshold | Um limite que define quando a GPU é considerada subutilizada.<br />**Opcional**<br />Valores válidos: inteiro<br />Valor padrão: `70` (em porcentagem) | 
| io\_threshold | Um limite que define um alto tempo de espera de E/S.**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `50` (em porcentagem) | 
| 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**<br />Valores válidos: inteiro<br />Valores padrão: `1000` | 
| scan\_interval\_us | Intervalo de tempo em que os arquivos da linha do tempo são digitalizados.<br />**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `60000000` (em microssegundos) | 

## LoadBalancing
<a name="load-balancing"></a>

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 | Description | 
| --- | --- | 
| 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.<br />**Obrigatório**<br />Valores válidos: string | 
| threshold | Define a porcentagem da workload.<br />**Opcional**<br />Valores válidos: inteiro<br />Valor padrão: `0.5` (proporção sem unidade) | 
| 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.<br />**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `10` | 
| scan\_interval\_us | Intervalo de tempo em que os arquivos da linha do tempo são digitalizados.<br />**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `60000000` (em microssegundos) | 

## Baixo GPUUtilization
<a name="low-gpu-utilization"></a>

A GPUUtilization regra Baixa ajuda a detectar se a utilização da GPU é baixa ou sofre flutuações. Isso é verificado para cada GPU em cada operador. 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 GPUUtilization regra baixa


| Nome do parâmetro | Description | 
| --- | --- | 
| 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.<br />**Obrigatório**<br />Valores válidos: string | 
| threshold\_p95 | Um limite para o 95º quantil abaixo do qual a GPU é considerada subutilizada.<br />**Opcional**<br />Valores válidos: inteiro<br />Valor padrão: `70` (em porcentagem) | 
| threshold\_p5 | Um limite para o 5º quantil. O valor padrão é 10%.**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `10` (em porcentagem) | 
| 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.<br />**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `1000` | 
| window | Tamanho da janela para calcular quantis.<br />**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `500` | 
| scan\_interval\_us | Intervalo de tempo em que os arquivos da linha do tempo são digitalizados.<br />**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `60000000` (em microssegundos) | 

## OverallSystemUsage
<a name="overall-system-usage"></a>

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 | Description | 
| --- | --- | 
| 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.<br />**Obrigatório**<br />Valores válidos: string | 
| scan\_interval\_us | Intervalo de tempo para verificar arquivos da linha do tempo.<br />**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `60000000` (em microssegundos) | 

## MaxInitializationTime
<a name="max-initialization-time"></a>

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 | Description | 
| --- | --- | 
| 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.<br />**Obrigatório**<br />Valores válidos: string | 
| threshold | Define o limite em minutos para aguardar a disponibilidade da primeira etapa.<br />**Opcional**<br />Valores válidos: inteiro<br />Valor padrão: `20` (em minutos) | 
| scan\_interval\_us | Intervalo de tempo com o qual os arquivos da linha do tempo são digitalizados.<br />**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `60000000` (em microssegundos) | 

## OverallFrameworkMetrics
<a name="overall-framework-metrics"></a>

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 | Description | 
| --- | --- | 
| 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.<br />**Obrigatório**<br />Valores válidos: string | 
| scan\_interval\_us | Intervalo de tempo para verificar arquivos da linha do tempo.<br />**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `60000000` (em microssegundos) | 

## StepOutlier
<a name="step-outlier"></a>

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 | Description | 
| --- | --- | 
| 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.<br />**Obrigatório**<br />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. <br />**Opcional**<br />Valores válidos: inteiro<br />Valor padrão: `5` (em minutos) | 
| 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 das fases EVAL e TRAIN**Opcional**<br />Valores válidos: inteiro<br />Valor padrão: `5` (em minutos) | 
| n\_outliers | Quantos valores discrepantes devem ser ignorados antes que a regra retorne Verdadeiro**Opcional**<br />Valores válidos: inteiro<br />Valor padrão: `10` | 
| scan\_interval\_us | Intervalo de tempo com o qual os arquivos da linha do tempo são digitalizados.<br />**Opcional**<br />Valores válidos: inteiro<br />Valores padrão: `60000000` (em microssegundos) | 