

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á.

# Amazon SageMaker Profiler
<a name="train-use-sagemaker-profiler"></a>


|  | 
| --- |
|  Atualmente, o Amazon SageMaker Profiler está em versão prévia e está disponível gratuitamente se houver suporte Regiões da AWS. A versão geralmente disponível do Amazon SageMaker Profiler (se houver) pode incluir recursos e preços diferentes dos oferecidos na versão prévia.  | 

O Amazon SageMaker Profiler é um recurso do Amazon SageMaker AI que fornece uma visão detalhada dos recursos AWS computacionais provisionados durante o treinamento de modelos de aprendizado profundo em IA. SageMaker Ele se concentra em definir o perfil do uso da CPU e da GPU, a execução do kernel, a inicialização do kernel GPUs, as operações de sincronização CPUs, as operações de memória entre CPUs e GPUs, as latências entre as inicializações do kernel e as execuções correspondentes e a transferência de dados entre e. CPUs GPUs SageMaker O Profiler também oferece uma interface de usuário (UI) que visualiza o *perfil*, um resumo estatístico dos eventos perfilados e a linha do tempo de um trabalho de treinamento para rastrear e compreender a relação temporal dos eventos entre e. GPUs CPUs

**nota**  
SageMaker O Profiler suporta PyTorch TensorFlow e está disponível em [AWS Deep Learning Containers for SageMaker AI](https://github.com/aws/deep-learning-containers/blob/master/available_images.md#sagemaker-framework-containers-sm-support-only). Para saber mais, consulte [Imagens de estrutura e tipos de instância compatíveis Regiões da AWS](profiler-support.md).

**Para cientistas de dados**

O treinamento de modelos de aprendizado profundo em um grande cluster de computação geralmente apresenta problemas de otimização computacional, como gargalos, latências de inicialização do kernel, limite de memória e baixa utilização de recursos.

Para identificar esses problemas de desempenho computacional, você precisa analisar mais profundamente os recursos de computação para entender quais kernels introduzem latências e quais operações causam gargalos. Os cientistas de dados podem se beneficiar do uso da interface do SageMaker Profiler para visualizar o perfil detalhado dos trabalhos de treinamento. A interface do usuário fornece um painel com gráficos de resumo e uma interface de linha do tempo para rastrear cada evento nos recursos de computação. Os cientistas de dados também podem adicionar anotações personalizadas para monitorar determinadas partes do trabalho de treinamento usando os módulos SageMaker Profiler Python.

**Para administradores**

Por meio da página inicial do Profiler no console do SageMaker [SageMaker AI ou no domínio](https://docs.aws.amazon.com/sagemaker/latest/dg/sm-domain.html) do AI, você pode gerenciar os usuários do aplicativo Profiler se for administrador de uma AWS conta ou domínio do SageMaker AI. Cada usuário do domínio pode acessar o própria aplicação Profiler com as permissões concedidas. Como administrador de domínio de SageMaker IA e usuário de domínio, você pode criar e excluir o aplicativo Profiler de acordo com o nível de permissão que você tem.

**Topics**
+ [Imagens de estrutura e tipos de instância compatíveis Regiões da AWS](profiler-support.md)
+ [Pré-requisitos para o Profiler SageMaker](profiler-prereq.md)
+ [Prepare e execute um trabalho de treinamento com o SageMaker Profiler](profiler-prepare.md)
+ [Abra o aplicativo SageMaker Profiler UI](profiler-access-smprofiler-ui.md)
+ [Explore os dados de saída do perfil visualizados na interface do SageMaker usuário do Profiler](profiler-explore-viz.md)
+ [Solução de problemas para o SageMaker Profiler](profiler-faq.md)

# Imagens de estrutura e tipos de instância compatíveis Regiões da AWS
<a name="profiler-support"></a>

Esse atributo é compatível com as seguintes estruturas de machine learning e Regiões da AWS:

**nota**  
Para usar esse recurso, certifique-se de ter instalado o SDK do SageMaker Python [versão 2.180.0](https://pypi.org/project/sagemaker/2.180.0/) ou posterior.

## SageMaker Imagens da estrutura de IA pré-instaladas com SageMaker o Profiler
<a name="profiler-support-frameworks"></a>

SageMaker O Profiler vem pré-instalado nos seguintes [AWS Deep Learning Containers for SageMaker AI](https://github.com/aws/deep-learning-containers/blob/master/available_images.md#sagemaker-framework-containers-sm-support-only).

### PyTorch imagens
<a name="profiler-support-frameworks-pytorch"></a>


| PyTorch versões | AWS URI da imagem DLC | 
| --- | --- | 
| 2.2.0 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/pytorch-training:2.2.0-gpu-py310-cu121-ubuntu20.04-sagemaker  | 
| 2.1.0 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/pytorch-training:2.1.0-gpu-py310-cu121-ubuntu20.04-sagemaker  | 
| 2.0.1 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/pytorch-training:2.0.1-gpu-py310-cu118-ubuntu20.04-sagemaker *763104351884*.dkr.ecr. *<region>*.amazonaws.com/pytorch-training:2.0.1-gpu-py310-cu121-ubuntu20.04-sagemaker  | 
| 1.13.1 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/pytorch-training:1.13.1-gpu-py39-cu117-ubuntu20.04-sagemaker  | 

### TensorFlow imagens
<a name="profiler-support-frameworks-tensorflow"></a>


| TensorFlow versões | AWS URI da imagem DLC | 
| --- | --- | 
| 2.13.0 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/tensorflow-training:2.13.0-gpu-py310-cu118-ubuntu20.04-sagemaker  | 
| 2.12.0 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/tensorflow-training:2.12.0-gpu-py310-cu118-ubuntu20.04-sagemaker  | 
| 2.11.0 |  *763104351884*.dkr.ecr. *<region>*.amazonaws.com/tensorflow-training:2.11.0-gpu-py39-cu112-ubuntu20.04-sagemaker  | 

**Importante**  
A distribuição e a manutenção dos contêineres da estrutura nas tabelas anteriores estão sob a [Política de Suporte da Estrutura](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/support-policy.html) gerenciada pelo serviço AWS Deep Learning Containers. É altamente recomendável que você atualize para as [versões da estrutura atualmente compatíveis](https://aws.amazon.com/releasenotes/dlc-support-policy/), se estiver usando versões anteriores da estrutura que não são mais compatíveis.

**nota**  
Se quiser usar o SageMaker Profiler para outras imagens de estrutura ou para suas próprias imagens do Docker, você pode instalar o SageMaker Profiler usando os arquivos binários do pacote Profiler SageMaker Python fornecidos na seção a seguir.

## SageMaker Arquivos binários do pacote Profiler Python
<a name="profiler-python-package"></a>

Se você quiser configurar seu próprio contêiner Docker, use o SageMaker Profiler em outros contêineres pré-criados para PyTorch e TensorFlow, ou instale o pacote Profiler SageMaker Python localmente, use um dos seguintes arquivos binários. Dependendo das versões do Python e do CUDA em seu ambiente, escolha uma das opções apresentadas a seguir.

### PyTorch
<a name="profiler-python-package-for-pytorch"></a>
+ Python3.8, CUDA 11.3: [https://smppy.s3.amazonaws.com/pytorch/cu113/smprof-0.3.334-cp38-cp38-linux_x86_64.whl](https://smppy.s3.amazonaws.com/pytorch/cu113/smprof-0.3.334-cp38-cp38-linux_x86_64.whl)
+ Python3.9, CUDA 11.7: [https://smppy.s3.amazonaws.com/pytorch/cu117/smprof-0.3.334-cp39-cp39-linux_x86_64.whl](https://smppy.s3.amazonaws.com/pytorch/cu117/smprof-0.3.334-cp39-cp39-linux_x86_64.whl)
+ Python3.10, CUDA 11.8: [https://smppy.s3.amazonaws.com/pytorch/cu118/smprof-0.3.334-cp310-cp310-linux_x86_64.whl](https://smppy.s3.amazonaws.com/pytorch/cu118/smprof-0.3.334-cp310-cp310-linux_x86_64.whl)
+ Python3.10, CUDA 12.1: [https://smppy.s3.amazonaws.com/pytorch/cu121/smprof-0.3.334-cp310-cp310-linux_x86_64.whl](https://smppy.s3.amazonaws.com/pytorch/cu121/smprof-0.3.334-cp310-cp310-linux_x86_64.whl)

### TensorFlow
<a name="profiler-python-package-for-tensorflow"></a>
+ Python3.9, CUDA 11.2: [https://smppy.s3.amazonaws.com/tensorflow/cu112/smprof-0.3.334-cp39-cp39-linux_x86_64.whl](https://smppy.s3.amazonaws.com/tensorflow/cu112/smprof-0.3.334-cp39-cp39-linux_x86_64.whl)
+ Python3.10, CUDA 11.8: [https://smppy.s3.amazonaws.com/tensorflow/cu118/smprof-0.3.334-cp310-cp310-linux_x86_64.whl](https://smppy.s3.amazonaws.com/tensorflow/cu118/smprof-0.3.334-cp310-cp310-linux_x86_64.whl)

Para obter mais informações sobre como instalar o SageMaker Profiler usando os arquivos binários, consulte[(Opcional) Instale o pacote SageMaker Profiler Python](profiler-prepare.md#profiler-install-python-package).

## Suportado Regiões da AWS
<a name="profiler-support-regions"></a>

SageMaker O Profiler está disponível a seguir Regiões da AWS.
+ Leste dos EUA (Norte da Virgínia) (`us-east-1`)
+ Leste dos EUA (Ohio) (`us-east-2`)
+ Oeste dos EUA (Oregon) (`us-west-2`)
+ Europa (Frankfurt) (`eu-central-1`)
+ Europa (Irlanda) (`eu-west-1`)

## Tipos de instâncias compatíveis
<a name="profiler-support-instance-types"></a>

SageMaker O Profiler oferece suporte à criação de perfis de trabalhos de treinamento nos seguintes tipos de instância.

**Perfil de CPU e GPU**
+ `ml.g4dn.12xlarge`
+ `ml.g5.24xlarge`
+ `ml.g5.48xlarge`
+ `ml.p3dn.24xlarge`
+ `ml.p4de.24xlarge`
+ `ml.p4d.24xlarge`
+ `ml.p5.48xlarge`

**Somente criação de perfil de GPU**
+ `ml.g5.2xlarge`
+ `ml.g5.4xlarge`
+ `ml.g5.8xlarge`
+ `ml.g5.16.xlarge`

# Pré-requisitos para o Profiler SageMaker
<a name="profiler-prereq"></a>

A lista a seguir mostra os pré-requisitos para começar a usar o Profiler. SageMaker 
+ Um domínio de SageMaker IA configurado com a Amazon VPC em sua AWS conta. 

  Para obter instruções sobre como configurar um domínio, consulte [Integrar o domínio Amazon SageMaker AI usando a configuração rápida](https://docs.aws.amazon.com/sagemaker/latest/dg/onboard-quick-start.html). Você também precisa adicionar perfis de usuário do domínio para que usuários individuais acessem a aplicação Profiler UI. Para obter mais informações, consulte [Adicionar perfis de usuário](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-user-profile-add.html).
+ A lista a seguir é o conjunto mínimo de permissões para usar a aplicação Profiler UI.
  + `sagemaker:CreateApp`
  + `sagemaker:DeleteApp`
  + `sagemaker:DescribeTrainingJob`
  + `sagemaker:Search`
  + `s3:GetObject`
  + `s3:ListBucket`

# Prepare e execute um trabalho de treinamento com o SageMaker Profiler
<a name="profiler-prepare"></a>

A configuração para executar um trabalho de treinamento com o SageMaker Profiler consiste em duas etapas: adaptar o script de treinamento e configurar o iniciador do trabalho de SageMaker treinamento.

**Topics**
+ [Etapa 1: Adapte seu script de treinamento usando os módulos SageMaker Profiler Python](#profiler-prepare-training-script)
+ [Etapa 2: criar um estimador de estrutura de SageMaker IA e ativar o Profiler SageMaker](#profiler-profilerconfig)
+ [(Opcional) Instale o pacote SageMaker Profiler Python](#profiler-install-python-package)

## Etapa 1: Adapte seu script de treinamento usando os módulos SageMaker Profiler Python
<a name="profiler-prepare-training-script"></a>

Para começar a capturar as execuções do kernel GPUs enquanto o trabalho de treinamento está em execução, modifique seu script de treinamento usando os módulos do SageMaker Profiler Python. Importe a biblioteca e adicione os métodos `start_profiling()` e `stop_profiling()` para definir o início e o fim da criação de perfil. Você também pode usar anotações personalizadas opcionais para adicionar marcadores no script de treinamento para visualizar as atividades do hardware durante operações específicas em cada etapa.

Observe que os anotadores extraem operações de. GPUs Para operações de criação de perfil em CPUs, você não precisa adicionar nenhuma anotação adicional. A criação de perfil de CPU também é ativada quando você especifica a configuração de criação de perfil, a qual você praticará em [Etapa 2: criar um estimador de estrutura de SageMaker IA e ativar o Profiler SageMaker](#profiler-profilerconfig).

**nota**  
Definir o perfil de um trabalho de treinamento completo não é o uso mais eficiente dos recursos. Recomendamos traçar o perfil de no máximo 300 etapas de um trabalho de treinamento.

**Importante**  
O lançamento em [14 de dezembro de 2023](profiler-release-notes.md#profiler-release-notes-20231214) envolve uma alteração significativa. O nome do pacote SageMaker Profiler Python foi alterado `smppy` de para. `smprof` Isso é efetivo nos [contêineres do SageMaker AI Framework](https://github.com/aws/deep-learning-containers/blob/master/available_images.md#sagemaker-framework-containers-sm-support-only) para TensorFlow v2.12 e versões posteriores.  
Se você usa uma das versões anteriores dos [contêineres do SageMaker AI Framework](https://github.com/aws/deep-learning-containers/blob/master/available_images.md#sagemaker-framework-containers-sm-support-only), como a TensorFlow v2.11.0, o pacote Profiler SageMaker Python ainda estará disponível como. `smppy` Se você não tiver certeza sobre qual versão ou nome do pacote deve usar, substitua a instrução de importação do pacote SageMaker Profiler pelo seguinte trecho de código.  

```
try:
    import smprof 
except ImportError:
    # backward-compatability for TF 2.11 and PT 1.13.1 images
    import smppy as smprof
```

**Abordagem 1.** Use o gerenciador de contexto `smprof.annotate` para anotar funções completas

Você pode agrupar funções completas com o gerenciador de contexto `smprof.annotate()`. Esse wrapper é recomendado se você quiser criar perfis por funções em vez de linhas de código. O script de exemplo a seguir mostra como implementar o gerenciador de contexto para encapsular o ciclo de treinamento e as funções completas em cada iteração.

```
import smprof

SMProf = smprof.SMProfiler.instance()
config = smprof.Config()
config.profiler = {
    "EnableCuda": "1",
}
SMProf.configure(config)
SMProf.start_profiling()

for epoch in range(args.epochs):
    if world_size > 1:
        sampler.set_epoch(epoch)
    tstart = time.perf_counter()
    for i, data in enumerate(trainloader, 0):
        with smprof.annotate("step_"+str(i)):
            inputs, labels = data
            inputs = inputs.to("cuda", non_blocking=True)
            labels = labels.to("cuda", non_blocking=True)
    
            optimizer.zero_grad()
    
            with smprof.annotate("Forward"):
                outputs = net(inputs)
            with smprof.annotate("Loss"):
                loss = criterion(outputs, labels)
            with smprof.annotate("Backward"):
                loss.backward()
            with smprof.annotate("Optimizer"):
                optimizer.step()

SMProf.stop_profiling()
```

**Abordagem 2.** Use `smprof.annotation_begin()` e `smprof.annotation_end()` para anotar uma linha de código específica nas funções

Você também pode definir anotações para traçar o perfil de linhas de código específicas. Você pode definir o ponto inicial e final exatos da criação de perfil no nível das linhas de código individuais, não pelas funções. Por exemplo, no script a seguir, o `step_annotator` é definido no início de cada iteração e termina no final da iteração. Enquanto isso, outros anotadores detalhados para cada operação são definidos e envolvem as operações de destino em cada iteração.

```
import smprof

SMProf = smprof.SMProfiler.instance()
config = smprof.Config()
config.profiler = {
    "EnableCuda": "1",
}
SMProf.configure(config)
SMProf.start_profiling()

for epoch in range(args.epochs):
    if world_size > 1:
        sampler.set_epoch(epoch)
    tstart = time.perf_counter()
    for i, data in enumerate(trainloader, 0):
        step_annotator = smprof.annotation_begin("step_" + str(i))

        inputs, labels = data
        inputs = inputs.to("cuda", non_blocking=True)
        labels = labels.to("cuda", non_blocking=True)
        optimizer.zero_grad()

        forward_annotator = smprof.annotation_begin("Forward")
        outputs = net(inputs)
        smprof.annotation_end(forward_annotator)

        loss_annotator = smprof.annotation_begin("Loss")
        loss = criterion(outputs, labels)
        smprof.annotation_end(loss_annotator)

        backward_annotator = smprof.annotation_begin("Backward")
        loss.backward()
        smprof.annotation_end(backward_annotator)

        optimizer_annotator = smprof.annotation_begin("Optimizer")
        optimizer.step()
        smprof.annotation_end(optimizer_annotator)

        smprof.annotation_end(step_annotator)

SMProf.stop_profiling()
```

Depois de anotar e configurar os módulos de iniciação do profiler, salve o script para enviar usando um inicializador de tarefas de SageMaker treinamento na próxima Etapa 2. O iniciador de exemplo presume que o script de treinamento seja chamado de `train_with_profiler_demo.py`.

## Etapa 2: criar um estimador de estrutura de SageMaker IA e ativar o Profiler SageMaker
<a name="profiler-profilerconfig"></a>

O procedimento a seguir mostra como preparar um estimador de estrutura de SageMaker IA para treinamento usando o SDK do Python SageMaker .

1. Configure um objeto `profiler_config` usando os módulos `ProfilerConfig` e `Profiler` da seguinte forma:

   ```
   from sagemaker import ProfilerConfig, Profiler
   profiler_config = ProfilerConfig(
       profile_params = Profiler(cpu_profiling_duration=3600)
   )
   ```

   A seguir está a descrição do módulo `Profiler` e do argumento.
   +  `Profiler`: O módulo para ativar o SageMaker Profiler com o trabalho de treinamento.
     +  `cpu_profiling_duration`(int): especifique a duração do tempo em segundos para a criação de perfil. CPUs O padrão é 3600 segundos. 

1. Crie um estimador de estrutura de SageMaker IA com o `profiler_config` objeto criado na etapa anterior. O código a seguir mostra um exemplo de criação de um PyTorch estimador. Se você quiser criar um TensorFlow estimador, importe `sagemaker.tensorflow.TensorFlow` em vez disso e especifique uma das [TensorFlowversões](profiler-support.md#profiler-support-frameworks-tensorflow) suportadas pelo SageMaker Profiler. Para obter mais informações sobre os tipos de instâncias compatível com as estruturas, consulte [SageMaker Imagens da estrutura de IA pré-instaladas com SageMaker o Profiler](profiler-support.md#profiler-support-frameworks).

   ```
   import sagemaker
   from sagemaker.pytorch import PyTorch
   
   estimator = PyTorch(
       framework_version="2.0.0",
       role=sagemaker.get_execution_role(),
       entry_point="train_with_profiler_demo.py", # your training job entry point
       source_dir=source_dir, # source directory for your training script
       output_path=output_path,
       base_job_name="sagemaker-profiler-demo",
       hyperparameters=hyperparameters, # if any
       instance_count=1, # Recommended to test with < 8
       instance_type=ml.p4d.24xlarge,
       profiler_config=profiler_config
   )
   ```

1. Inicie o trabalho de treinamento executando o método `fit`. Com o `wait=False`, você pode silenciar os logs de trabalhos de treinamento e deixá-los em execução em segundo plano.

   ```
   estimator.fit(wait=False)
   ```

Durante a execução do trabalho de treinamento ou após a conclusão do trabalho, você pode ir para o próximo tópico em [Abra o aplicativo SageMaker Profiler UI](profiler-access-smprofiler-ui.md) e começar a explorar e visualizar os perfis salvos.

Se você quiser acessar diretamente os dados do perfil salvos no bucket do Amazon S3, use o script a seguir para recuperar o URI do S3.

```
import os
# This is an ad-hoc function to get the S3 URI
# to where the profile output data is saved
def get_detailed_profiler_output_uri(estimator):
    config_name = None
    for processing in estimator.profiler_rule_configs:
        params = processing.get("RuleParameters", dict())
        rule = config_name = params.get("rule_to_invoke", "")
        if rule == "DetailedProfilerProcessing":
            config_name = processing.get("RuleConfigurationName")
            break
    return os.path.join(
        estimator.output_path, 
        estimator.latest_training_job.name, 
        "rule-output",
        config_name,
    )

print(
    f"Profiler output S3 bucket: ", 
    get_detailed_profiler_output_uri(estimator)
)
```

## (Opcional) Instale o pacote SageMaker Profiler Python
<a name="profiler-install-python-package"></a>

Para usar o SageMaker Profiler em PyTorch imagens de TensorFlow estrutura não listadas ou em [SageMaker Imagens da estrutura de IA pré-instaladas com SageMaker o Profiler](profiler-support.md#profiler-support-frameworks) seu próprio contêiner Docker personalizado para treinamento, você pode instalar o SageMaker Profiler usando um dos. [SageMaker Arquivos binários do pacote Profiler Python](profiler-support.md#profiler-python-package)

**Opção 1: instalar o pacote SageMaker Profiler ao iniciar um trabalho de treinamento**

[Se você quiser usar o SageMaker Profiler para treinar trabalhos usando PyTorch TensorFlow imagens não listadas[SageMaker Imagens da estrutura de IA pré-instaladas com SageMaker o Profiler](profiler-support.md#profiler-support-frameworks), crie um `requirements.txt` arquivo e localize-o no caminho especificado para o `source_dir` parâmetro do estimador da estrutura de SageMaker IA na Etapa 2.](#profiler-profilerconfig) Para obter mais informações sobre como configurar um `requirements.txt` arquivo em geral, consulte Como [usar bibliotecas de terceiros](https://sagemaker.readthedocs.io/en/stable/frameworks/pytorch/using_pytorch.html#using-third-party-libraries) na documentação do *SDK do SageMaker Python*. No arquivo `requirements.txt`, adicione um dos caminhos de bucket do S3 para o [SageMaker Arquivos binários do pacote Profiler Python](profiler-support.md#profiler-python-package).

```
# requirements.txt
https://smppy.s3.amazonaws.com/tensorflow/cu112/smprof-0.3.332-cp39-cp39-linux_x86_64.whl
```

**Opção 2: instalar o pacote SageMaker Profiler em seus contêineres personalizados do Docker**

Se você usa um contêiner do Docker personalizado para treinamento, adicione um dos [SageMaker Arquivos binários do pacote Profiler Python](profiler-support.md#profiler-python-package) ao seu Dockerfile.

```
# Install the smprof package version compatible with your CUDA version
RUN pip install https://smppy.s3.amazonaws.com/tensorflow/cu112/smprof-0.3.332-cp39-cp39-linux_x86_64.whl
```

Para obter orientação sobre como executar um contêiner Docker personalizado para treinamento em SageMaker IA em geral, consulte [Adaptar seu próprio contêiner de treinamento](https://docs.aws.amazon.com/sagemaker/latest/dg/adapt-training-container.html).

# Abra o aplicativo SageMaker Profiler UI
<a name="profiler-access-smprofiler-ui"></a>

Você pode acessar o aplicativo SageMaker Profiler UI por meio das seguintes opções.

**Topics**
+ [Opção 1: iniciar a interface do SageMaker Profiler na página de detalhes do domínio](#profiler-access-smprofiler-ui-console-smdomain)
+ [Opção 2: iniciar o aplicativo SageMaker Profiler UI na página inicial do SageMaker Profiler no console AI SageMaker](#profiler-access-smprofiler-ui-console-profiler-landing-page)
+ [Opção 3: usar a função de inicializador de aplicativos no SDK do SageMaker AI Python](#profiler-access-smprofiler-ui-app-launcher-function)

## Opção 1: iniciar a interface do SageMaker Profiler na página de detalhes do domínio
<a name="profiler-access-smprofiler-ui-console-smdomain"></a>

Se você tiver acesso ao console de SageMaker IA, poderá escolher essa opção.

**Navegue até a página de detalhes do domínio**

 O procedimento a seguir mostra como navegar até a página de detalhes do domínio. 

1. Abra o console do Amazon SageMaker AI em [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. No painel de navegação à esquerda, escolha **Domínios**. 

1. Na lista de domínios, selecione o domínio no qual você deseja iniciar o aplicativo SageMaker Profiler.

**Inicie o aplicativo SageMaker Profiler UI**

O procedimento a seguir mostra como iniciar o aplicativo SageMaker Profiler que tem como escopo um perfil de usuário. 

1. Na página Detalhes do domínio, escolha a aba **Perfis de usuário**. 

1. Identifique o perfil de usuário para o qual você deseja iniciar o aplicativo SageMaker Profiler UI. 

1. Escolha **Iniciar** para o perfil de usuário selecionado e escolha **Profiler** 

## Opção 2: iniciar o aplicativo SageMaker Profiler UI na página inicial do SageMaker Profiler no console AI SageMaker
<a name="profiler-access-smprofiler-ui-console-profiler-landing-page"></a>

O procedimento a seguir descreve como iniciar o aplicativo SageMaker Profiler UI na página inicial do SageMaker Profiler no console do SageMaker AI. Se você tiver acesso ao console de SageMaker IA, poderá escolher essa opção.

1. Abra o console do Amazon SageMaker AI em [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. No painel de navegação à esquerda, escolha **Profiler**.

1. Em **Comece a usar**, selecione o domínio no qual você deseja executar a aplicação do Studio Classic. Se o seu perfil de usuário pertencer apenas a um domínio, você não verá a opção para selecionar um domínio.

1. Selecione o perfil de usuário para o qual você deseja iniciar o aplicativo SageMaker Profiler UI. Se não houver perfil de usuário no domínio, escolha **Criar perfil de usuário**. Para obter mais informações sobre a criação de um novo perfil de usuário, consulte [Adicionar perfis de usuário](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-user-profile-add.html).

1. Escolha **Abrir o Profiler**.

## Opção 3: usar a função de inicializador de aplicativos no SDK do SageMaker AI Python
<a name="profiler-access-smprofiler-ui-app-launcher-function"></a>

Se você for um usuário do domínio SageMaker AI e tiver acesso somente ao SageMaker Studio, poderá acessar o aplicativo SageMaker Profiler UI por meio do SageMaker Studio Classic executando a [https://sagemaker.readthedocs.io/en/stable/api/utility/interactive_apps.html#module-sagemaker.interactive_apps.detail_profiler_app](https://sagemaker.readthedocs.io/en/stable/api/utility/interactive_apps.html#module-sagemaker.interactive_apps.detail_profiler_app)função.

Observe que o SageMaker Studio Classic é a experiência anterior do Studio UI antes do re:Invent 2023 e foi migrado como um aplicativo para uma interface de usuário do Studio recém-projetada no re:Invent 2023. O aplicativo SageMaker Profiler UI está disponível no nível do domínio SageMaker AI e, portanto, requer seu ID de domínio e nome de perfil de usuário. Atualmente, a `DetailedProfilerApp` função só funciona no aplicativo SageMaker Studio Classic; a função absorve adequadamente as informações de domínio e perfil de usuário do SageMaker Studio Classic.

Para domínio, usuários de domínio e Studio criados antes do re:Invent 2023, o Studio Classic seria a experiência padrão, a menos que você o tenha atualizado seguindo as instruções em [Migração do Amazon SageMaker ](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-migrate.html) Studio Classic. Se esse for o seu caso, não é necessária nenhuma ação adicional e você pode iniciar diretamente o aplicativo SageMaker Profiler UI executando a `DetailProfilerApp` função.

Se você criou um novo domínio e o Studio após o re:Invent 2023, inicie o aplicativo Studio Classic na interface do usuário do Studio e execute a `DetailProfilerApp` função para iniciar o aplicativo SageMaker Profiler UI.

Observe que a `DetailedProfilerApp` função não funciona em outras instâncias de aprendizado de máquina de SageMaker IA IDEs, como o JupyterLab aplicativo SageMaker Studio, o aplicativo SageMaker Studio Code Editor e as instâncias do SageMaker Notebook. Se você executar a `DetailedProfilerApp` função nesses IDEs, ela retornará uma URL para a página inicial do Profiler no console do SageMaker AI, em vez de um link direto para abrir o aplicativo Profiler UI.

# Explore os dados de saída do perfil visualizados na interface do SageMaker usuário do Profiler
<a name="profiler-explore-viz"></a>

Esta seção mostra a interface do usuário do SageMaker Profiler e fornece dicas sobre como usá-la e obter informações a partir dela.

## Carregar perfil
<a name="profiler-explore-viz-load"></a>

Quando você abre a interface do SageMaker Profiler, a página **Carregar perfil** é aberta. Para carregar e gerar o **Painel** e a **Linha do tempo**, siga o procedimento a seguir.<a name="profiler-explore-viz-load-procedure"></a>

**Para carregar o perfil de um trabalho de treinamento**

1. Na seção **Lista de trabalhos de treinamento**, use a caixa de seleção para escolher o trabalho de treinamento para o qual você deseja carregar o perfil.

1. Escolha **Load**. O nome do trabalho deve aparecer na seção **Perfil carregado** na parte superior.

1. Escolha o botão de opção à esquerda do **Nome do trabalho** para gerar o **Painel** e a **Linha do tempo**. Observe que quando você escolhe o botão de opção, a interface do usuário abre automaticamente o **Painel**. Observe também que, se você gerar as visualizações enquanto o status do trabalho e o status do carregamento ainda parecem estar em andamento, a interface do usuário do SageMaker Profiler gerará gráficos de **painel** e uma **linha do tempo** até os dados de perfil mais recentes coletados do trabalho de treinamento contínuo ou dos dados de perfil parcialmente carregados.

**dica**  
Você pode carregar e visualizar um perfil por vez. Para carregar outro perfil, você deve primeiro descarregar o perfil carregado anteriormente. Para descarregar um perfil, use o ícone da lixeira na extremidade direita do perfil na seção **Perfil carregado**.

![\[\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-load-data.png)


## Painel
<a name="profiler-explore-viz-overview"></a>

Depois de terminar de carregar e selecionar o trabalho de treinamento, a interface do usuário abre a página **Painel** com os seguintes painéis por padrão:
+ **Tempo ativo da GPU**: Esse gráfico circular mostra a porcentagem do tempo ativo versus o tempo ocioso da GPU. Você pode verificar se GPUs está mais ativo do que ocioso durante todo o trabalho de treinamento. O tempo ativo da GPU é baseado nos pontos de dados do perfil com uma taxa de utilização maior que 0%, enquanto o tempo ocioso da GPU são os pontos de dados perfilados com 0% de utilização.
+ **Utilização da GPU ao longo do tempo**: Esse gráfico de cronograma mostra a taxa média de utilização da GPU ao longo do tempo por nó, agregando todos os nós em um único gráfico. Você pode verificar se há uma carga de trabalho desequilibrada, problemas de subutilização, gargalos ou problemas de inatividade durante determinados intervalos de tempo. GPUs Para rastrear a taxa de utilização individual da GPU e as execuções relacionadas do kernel, use o [Interface de linha do tempo](#profiler-explore-viz-timeline). Observe que a coleção de atividades da GPU começa de onde você adicionou a função inicial do Profiler `SMProf.start_profiling()` no script de treinamento e termina em `SMProf.stop_profiling()`.
+ **Tempo ativo da CPU**: Esse gráfico circular mostra a porcentagem do tempo ativo versus o tempo ocioso da CPU. Você pode verificar se CPUs está mais ativo do que ocioso durante todo o trabalho de treinamento. O tempo ativo da CPU é baseado nos pontos de dados perfilados com uma taxa de utilização maior que 0%, enquanto o tempo ocioso da CPU são os pontos de dados perfilados com 0% de utilização.
+ **Utilização da CPU ao longo do tempo**: Esse gráfico de cronograma mostra a taxa média de utilização da CPU ao longo do tempo por nó, agregando todos os nós em um único gráfico. Você pode verificar se CPUs eles estão congestionados ou subutilizados durante determinados intervalos de tempo. Para rastrear a taxa de utilização do CPUs alinhado com a utilização individual da GPU e as execuções do kernel, use o. [Interface de linha do tempo](#profiler-explore-viz-timeline) Observe que as métricas de utilização começam desde o início da inicialização do trabalho.
+ **Tempo gasto por todos os kernels da GPU**: Este gráfico circular mostra todos os kernels da GPU operados durante todo o trabalho de treinamento. Ele mostra os 15 principais kernels de GPU por padrão como setores individuais e todos os outros kernels em um setor. Passe o mouse sobre os setores para ver informações mais detalhadas. O valor mostra o tempo total dos kernels da GPU operados em segundos e a porcentagem é baseada em todo o tempo do perfil. 
+ **Tempo gasto pelos 15 principais kernels de GPU**: Este gráfico circular mostra todos os kernels de GPU operados durante todo o trabalho de treinamento. Ele mostra os 15 principais kernels de GPU como setores individuais. Passe o mouse sobre os setores para ver informações mais detalhadas. O valor mostra o tempo total dos kernels da GPU operados em segundos e a porcentagem é baseada em todo o tempo do perfil. 
+ **Contagens de lançamento de todos os kernels de GPU**: Esse gráfico circular mostra o número de contagens de cada kernel de GPU lançado durante o trabalho de treinamento. Ele mostra os 15 principais kernels de GPU como setores individuais e todos os outros kernels em um setor. Passe o mouse sobre os setores para ver informações mais detalhadas. O valor mostra a contagem total dos kernels da GPU lançados e a porcentagem é baseada na contagem total de todos os kernels. 
+ **Contagens de lançamentos dos 15 principais kernels da GPU**: Este gráfico circular mostra o número de contagens de cada kernel da GPU lançado durante o trabalho de treinamento. Ele mostra os 15 principais kernels da GPU. Passe o mouse sobre os setores para ver informações mais detalhadas. O valor mostra a contagem total dos kernels da GPU lançados e a porcentagem é baseada na contagem total de todos os kernels. 
+ **Distribuição do tempo das etapas** — Esse histograma mostra a distribuição das durações das etapas em. GPUs Esse gráfico é gerado somente depois que você adiciona o anotador de etapas no script de treinamento.
+ **Distribuição de precisão do kernel** — Esse gráfico circular mostra a porcentagem de tempo gasto na execução de kernels em diferentes tipos de dados FP32, como, FP16, e. INT32 INT8 
+ **Distribuição da atividade da GPU**: Esse gráfico circular mostra a porcentagem de tempo gasto em atividades da GPU, como executar kernels, memória (`memcpy` e `memset`) e sincronização (`sync`).
+ **Distribuição das operações de memória da GPU**: Esse gráfico circular mostra a porcentagem de tempo gasto nas operações de memória da GPU. Isso visualiza as atividades `memcopy` e ajuda a identificar se o trabalho de treinamento está gastando muito tempo em determinadas operações de memória.
+ **Crie um novo histograma**: Crie um novo diagrama de uma métrica personalizada que você anotou manualmente durante a [Etapa 1: Adapte seu script de treinamento usando os módulos SageMaker Profiler Python](profiler-prepare.md#profiler-prepare-training-script) Ao adicionar uma anotação personalizada a um novo histograma, selecione ou digite o nome da anotação que você adicionou no script de treinamento. Por exemplo, no script de treinamento de demonstração na Etapa 1, `step`, `Forward`, `Backward`, `Optimize` e `Loss` estão as anotações personalizadas. Ao criar um novo histograma, esses nomes de anotações devem aparecer no menu suspenso para seleção de métricas. Se você escolher `Backward`, a interface do usuário adiciona o histograma do tempo gasto em retrocessos ao longo do tempo perfilado no **painel**. Esse tipo de histograma é útil para verificar se há valores discrepantes demorando muito mais e causando problemas de gargalo.

As capturas de tela a seguir mostram a taxa de tempo ativo da GPU e da CPU e a taxa média de utilização da GPU e da CPU em relação ao tempo por nó de computação.

![\[\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-dashboard-1.png)


A captura de tela a seguir mostra um exemplo de gráficos circulares para comparar quantas vezes os kernels da GPU são lançados e medir o tempo gasto na execução deles. Nos painéis **Tempo gasto por todos os kernels da GPU** e **Contagens de inicialização de todos os núcleos da GPU**, você também pode especificar um número inteiro no campo de entrada para *k* para ajustar o número de legendas a serem mostradas nos gráficos. Por exemplo, se você especificar 10, os gráficos mostrarão os 10 kernels mais executados e lançados, respectivamente.

![\[\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-dashboard-2.png)


A captura de tela a seguir mostra um exemplo de tempo de etapa, duração, histograma e gráficos circulares para a distribuição de precisão do kernel, distribuição de atividades da GPU e distribuição da operação de memória da GPU.

![\[\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-dashboard-3.png)


## Interface de linha do tempo
<a name="profiler-explore-viz-timeline"></a>

**Para obter uma visão detalhada dos recursos computacionais no nível das operações e dos kernels programados CPUs e executados no GPUs, use a interface Timeline.**

Você pode ampliar e reduzir o zoom e se deslocar para a esquerda ou para a direita na interface da linha do tempo usando o mouse, as teclas `[w, a, s, d]` ou as quatro teclas de seta do teclado.

**dica**  
Para obter mais dicas sobre os atalhos do teclado para interagir com a interface da **Linha do tempo**, escolha **Atalhos de teclado** no painel esquerdo.

As trilhas da linha do tempo são organizadas em uma estrutura de árvore, fornecendo informações desde o host ao dispositivo. Por exemplo, se você executar `N` instâncias com oito GPUs em cada, a estrutura do cronograma de cada instância seria a seguinte.
+ **algo-i node — Essas** são as tags de SageMaker IA para atribuir trabalhos às instâncias provisionadas. O dígito inode é atribuído aleatoriamente. Por exemplo, se você usar 4 instâncias, esta seção se expandirá de **algo-1** para **algo-4**.
  + **CPU**: Nesta seção, você pode verificar a taxa média de utilização da CPU e os contadores de desempenho.
  + **GPUs**— Nesta seção, você pode verificar a taxa média de utilização da GPU, a taxa de utilização individual da GPU e os kernels.
    + **Utilização do SUM**: As taxas médias de utilização da GPU por instância.
    + **HOST-0 PID-123**: Um nome exclusivo atribuído a cada trilha de processo. A sigla PID é a ID do processo, e o número anexado a ela é o número da ID do processo que é registrado durante a captura de dados do processo. Esta seção mostra as seguintes informações do processo:
      + **Utilização da GPU-inum\$1gpu**: A taxa de utilização da GPU num\$1gpu-ésimo ao longo do tempo.
      + **Dispositivo GPU-inum\$1gpu**: O kernel é executado no dispositivo GPU inum\$1gpu-th.
        + **stream icuda\$1stream**: Fluxos CUDA mostrando a execução do kernel no dispositivo GPU. Para saber mais sobre os fluxos CUDA, veja os slides em PDF em [CUDA C/C\$1\$1 Streams and Concurrency](https://developer.download.nvidia.com/CUDA/training/StreamsAndConcurrencyWebinar.pdf) fornecidos pela NVIDIA.
      + **Host GPU-inum\$1gpu**: O kernel é executado no host da GPU inum\$1gpu-th.

As várias capturas de tela a seguir mostram a **linha** do tempo do perfil de um trabalho de treinamento executado em `ml.p4d.24xlarge` instâncias equipadas com 8 NVIDIA A100 Tensor Core em cada uma. GPUs 

A seguir, é apresentada uma visão ampliada do perfil, imprimindo uma dúzia de etapas, incluindo um carregador de dados intermitente entre `step_232` e `step_233` para buscar o próximo lote de dados.

![\[\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-timeline-1.png)


Para cada CPU, você pode rastrear os contadores de utilização e desempenho da CPU, como `"clk_unhalted_ref.tsc"` e `"itlb_misses.miss_causes_a_walk"`, que são indicativos das instruções executadas na CPU.

Para cada GPU, você pode ver a linha do tempo do host e a linha do tempo do dispositivo. Os lançamentos do kernel estão na linha do tempo do host e as execuções do kernel estão na linha do tempo do dispositivo. Você também pode ver anotações (como avançar, retroceder e otimizar) se tiver adicionado um script de treinamento na linha do tempo do host da GPU.

Na visualização da linha do tempo, você também pode rastrear pares de launch-and-run kernels. Isso ajuda você a entender como a inicialização de um kernel agendada em um host (CPU) é executada no dispositivo de GPU correspondente.

**dica**  
Pressione a tecla `f` para ampliar o kernel selecionado.

A captura de tela a seguir é uma visão ampliada de `step_233` e `step_234` para a captura de tela anterior. O intervalo da linha do tempo selecionado na captura de tela a seguir é a operação `AllReduce`, uma etapa essencial de comunicação e sincronização no treinamento distribuído, executada no dispositivo GPU-0. Na captura de tela, observe que a inicialização do kernel no host GPU-0 se conecta ao kernel executado no fluxo do dispositivo 1 GPU-0, indicado com a seta na cor ciano.

![\[\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-timeline-2.png)


Além disso, duas guias de informações aparecem no painel inferior da interface do usuário quando você seleciona um intervalo da linha do tempo, conforme mostrado na captura de tela anterior. A guia **Seleção atual** mostra os detalhes do kernel selecionado e da inicialização do kernel conectado a partir do host. A direção de conexão é sempre do host (CPU) para o dispositivo (GPU), pois cada kernel da GPU é sempre chamado a partir de uma CPU. A guia **Conexões** mostra o par escolhido para iniciar e executar o kernel. Você pode selecionar qualquer um deles para movê-lo para o centro da visualização da **Linha do tempo**.

A captura de tela a seguir amplia ainda mais o par de lançamento e execução da operação `AllReduce`. 

![\[\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/profiler/sagemaker-profiler-ui-timeline-3.png)


## Informações
<a name="profiler-expore-viz-information"></a>

Em **Informações**, você pode acessar informações sobre o trabalho de treinamento carregado, como o tipo de instância, Amazon Resource Names (ARNs) dos recursos computacionais provisionados para o trabalho, nomes de nós e hiperparâmetros.

## Configurações
<a name="profiler-expore-viz-settings"></a>

Por padrão, a instância do aplicativo SageMaker AI Profiler UI está configurada para ser desligada após 2 horas de tempo ocioso. Em **Configurações**, use as seguintes configurações para ajustar o cronômetro de desligamento automático:
+ **Ativar encerramento automático da aplicação**: Escolha e defina como **Ativado** para permitir que a aplicação seja encerrada automaticamente após o número especificado de horas de tempo ocioso. Para desativar a funcionalidade de desligamento automático, escolha **Desativado**.
+ **Limite de encerramento automático em horas**: Se você escolher **Ativado** para **Ativar o encerramento automático** da aplicação, poderá definir o tempo limite em horas para o encerramento automático da aplicação. Por padrão, ele é definida como 2.

# Solução de problemas para o SageMaker Profiler
<a name="profiler-faq"></a>

Use os question-and-answer pares a seguir para solucionar problemas ao usar o SageMaker Profiler.

**P. Estou recebendo uma mensagem de erro `ModuleNotFoundError: No module named 'smppy'`**

Desde dezembro de 2023, o nome do pacote SageMaker Profiler Python mudou de `smprof` para para para resolver um problema `smppy` de nome de pacote duplicado`smppy`; já é usado por um pacote de código aberto.

Portanto, se você usa o `smppy` desde antes de dezembro de 2023 e está enfrentando esse problema `ModuleNotFoundError`, pode ser devido ao nome do pacote desatualizado em seu script de treinamento ao ter o pacote `smprof` mais recente instalado ou ao usar um dos [SageMaker Imagens da estrutura de IA pré-instaladas com SageMaker o Profiler](profiler-support.md#profiler-support-frameworks) mais recentes. Nesse caso, certifique-se de substituir todas as menções de `smppy` por `smprof` em todo o seu script de treinamento.

Ao atualizar o nome do pacote SageMaker Profiler Python em seus scripts de treinamento, para evitar confusão sobre qual versão do nome do pacote você deve usar, considere usar uma instrução de importação condicional, conforme mostrado no trecho de código a seguir.

```
try:
    import smprof 
except ImportError:
    # backward-compatability for TF 2.11 and PT 1.13.1 images
    import smppy as smprof
```

Observe também que, se você estiver usando `smppy` durante a atualização para a versão mais recente PyTorch ou para TensorFlow as versões mais recentes, certifique-se de instalar o `smprof` pacote mais recente seguindo as instruções em[(Opcional) Instale o pacote SageMaker Profiler Python](profiler-prepare.md#profiler-install-python-package).

**P. Estou recebendo uma mensagem de erro `ModuleNotFoundError: No module named 'smprof'`**

Primeiro, certifique-se de usar um dos contêineres do SageMaker AI Framework com suporte oficial. Se você não usar um desses, poderá instalar o pacote `smprof` seguindo as instruções em [(Opcional) Instale o pacote SageMaker Profiler Python](profiler-prepare.md#profiler-install-python-package).

**P. Não consigo importar `ProfilerConfig`**

Se você não conseguir importar `ProfilerConfig` o script do iniciador de tarefas usando o SDK do SageMaker Python, seu ambiente local ou o kernel do Jupyter pode ter uma versão significativamente desatualizada do SDK do Python. SageMaker Verifique se você atualizou o SDK para a versão mais recente.

```
$ pip install --upgrade sagemaker
```

**P. Estou recebendo uma mensagem de erro `aborted: core dumped when importing smprof into my training script`**

Em uma versão anterior do`smprof`, esse problema ocorre com PyTorch 2.0\$1 e PyTorch Lightning. Para resolver esse problema, instale também o pacote `smprof` mais recente seguindo as instruções em [(Opcional) Instale o pacote SageMaker Profiler Python](profiler-prepare.md#profiler-install-python-package).

**P: Não consigo encontrar a interface do usuário do SageMaker Profiler no Studio. SageMaker Como posso encontrá-la?**

Se você tiver acesso ao console de SageMaker IA, escolha uma das opções a seguir.
+ [Opção 1: iniciar a interface do SageMaker Profiler na página de detalhes do domínio](profiler-access-smprofiler-ui.md#profiler-access-smprofiler-ui-console-smdomain)
+ [Opção 2: iniciar o aplicativo SageMaker Profiler UI na página inicial do SageMaker Profiler no console AI SageMaker](profiler-access-smprofiler-ui.md#profiler-access-smprofiler-ui-console-profiler-landing-page)

Se você for um usuário de domínio e não tiver acesso ao console de SageMaker IA, poderá acessar o aplicativo por meio do SageMaker Studio Classic. Se este for seu caso, escolha uma das seguintes opções:
+ [Opção 3: usar a função de inicializador de aplicativos no SDK do SageMaker AI Python](profiler-access-smprofiler-ui.md#profiler-access-smprofiler-ui-app-launcher-function)