

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

# Tutoriais do Depurador
<a name="debugger-tutorial"></a>

Os tópicos a seguir orientam você pelos tutoriais, desde os básicos até os casos de uso avançados de monitoramento, criação de perfil e depuração de trabalhos de treinamento do SageMaker usando o Debugger. Explore os atributos do Debugger e saiba como você pode depurar e melhorar seus modelos de machine learning de forma eficiente usando o Debugger.

**Topics**
+ [Vídeos tutoriais do Depurador](debugger-videos.md)
+ [cadernos de exemplos do Depurador](debugger-notebooks.md)
+ [Demonstrações e visualização avançadas do Depurador](debugger-visualization.md)

# Vídeos tutoriais do Depurador
<a name="debugger-videos"></a>

Os vídeos a seguir fornecem um tour pelos recursos do Amazon SageMaker Debugger usando instâncias de notebook SageMaker Studio e SageMaker AI. 

**Topics**
+ [Modelos de depuração com o Amazon SageMaker Debugger no Studio Classic](#debugger-video-get-started)
+ [Mergulhe profundamente no Amazon SageMaker Debugger e SageMaker no monitor de modelos de IA](#debugger-video-dive-deep)

## Modelos de depuração com o Amazon SageMaker Debugger no Studio Classic
<a name="debugger-video-get-started"></a>

*Julien Simon, Evangelista AWS Técnico \$1 Duração: 14 minutos 17 segundos*

Este vídeo tutorial demonstra como usar o Amazon SageMaker Debugger para capturar e inspecionar informações de depuração de um modelo de treinamento. O exemplo de modelo de treinamento usado neste vídeo é uma rede neural convolucional simples (CNN) baseada em Keras com o back-end. TensorFlow SageMaker A IA em uma TensorFlow estrutura e o Debugger permitem que você crie um estimador diretamente usando o script de treinamento e depure o trabalho de treinamento.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/MqPdTj0Znwg/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/MqPdTj0Znwg)


É possível encontrar o caderno de exemplo no vídeo [neste repositório de demonstrações do Studio](https://gitlab.com/juliensimon/amazon-studio-demos/-/tree/master) fornecido pelo autor. Você precisa clonar o arquivo do `debugger.ipynb` notebook e o script de `mnist_keras_tf.py` treinamento no seu SageMaker Studio ou em uma instância do SageMaker notebook. Depois de clonar os dois arquivos, especifique o caminho `keras_script_path` para o arquivo `mnist_keras_tf.py` dentro do caderno `debugger.ipynb`. Por exemplo, se você clonou os dois arquivos no mesmo diretório, defina-o como `keras_script_path = "mnist_keras_tf.py"`.

## Mergulhe profundamente no Amazon SageMaker Debugger e SageMaker no monitor de modelos de IA
<a name="debugger-video-dive-deep"></a>

*Julien Simon, Evangelista AWS Técnico \$1 Duração: 44 minutos 34 segundos*

Esta sessão de vídeo explora os recursos avançados do Debugger e do SageMaker Model Monitor que ajudam a aumentar a produtividade e a qualidade de seus modelos. Primeiro, esse vídeo mostra como detectar e corrigir problemas de treinamento, visualizar tensores e aprimorar modelos com o Debugger. A seguir, às 22:41, o vídeo mostra como monitorar modelos em produção e identificar problemas de previsão, como recursos ausentes ou desvio de dados, usando o AI Model Monitor. SageMaker Por fim, ele oferece dicas de otimização de custos para ajudá-lo a aproveitar ao máximo seu orçamento de machine learning.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/0zqoeZxakOI/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/0zqoeZxakOI)


É possível encontrar o caderno de exemplo do vídeo [neste repositório do Dev Days 2020 da AWS](https://gitlab.com/juliensimon/awsdevdays2020/-/tree/master/mls1) oferecido pelo autor.

# cadernos de exemplos do Depurador
<a name="debugger-notebooks"></a>

SageMaker [Os [notebooks de exemplo do Debugger](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-debugger/) são fornecidos no repositório aws/. amazon-sagemaker-examples](https://github.com/aws/amazon-sagemaker-examples) Os cadernos de exemplo do Debugger orientam você nos casos de uso básicos e avançados de trabalhos de treinamento de depuração e criação de perfil. 

Recomendamos que você execute os notebooks de exemplo no SageMaker Studio ou em uma instância do SageMaker Notebook porque a maioria dos exemplos foi projetada para trabalhos de treinamento no ecossistema de SageMaker IA, incluindo Amazon EC2, Amazon S3 e Amazon SageMaker Python SDK. 

Para clonar o repositório de exemplo no SageMaker Studio, siga as instruções no [Amazon SageMaker Studio Tour](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-end-to-end.html).

**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 Jupyter Notebook 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)
```

## Cadernos de exemplo do Depurador para a criação de perfis de trabalhos de treinamento
<a name="debugger-notebooks-profiling"></a>

A lista a seguir mostra exemplos de cadernos do Debugger que apresentam a adaptabilidade do Debugger para monitorar e criar perfis de tarefas de treinamento para vários modelos, conjuntos de dados e estruturas de machine learning.


| Título do caderno | Framework | Modelo | Conjunto de dados | Description | 
| --- | --- | --- | --- | --- | 
|  [Análise de dados de perfil do Amazon SageMaker Debugger](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/debugger_interactive_analysis_profiling/interactive_analysis_profiling_data.html)  |  TensorFlow  |  Keras 50 ResNet  | Cifar-10 |  Este notebook fornece uma introdução à análise interativa de dados perfilados capturados pelo SageMaker Debugger. Explore a funcionalidade completa das ferramentas de análise interativa `SMDebug`.  | 
|  [Treinamento de aprendizado de máquina de perfil com o Amazon SageMaker Debugger](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/tensorflow_nlp_sentiment_analysis/sentiment-analysis-tf-distributed-training-bringyourownscript.html)  |  TensorFlow  |  Rede neural convolucional 1-D  |  Conjunto de dados do IMDB  |  Crie o perfil de uma CNN TensorFlow 1-D para análise de sentimentos dos dados do IMDB que consistem em resenhas de filmes rotuladas como tendo sentimentos positivos ou negativos. Explore os insights do Studio Debugger e o relatório de criação de perfil do Debugger.  | 
|  [ TensorFlow ResNet Modelo de criação de perfil de treinamento com várias configurações de treinamento distribuídas](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-debugger/tensorflow_profiling)  |  TensorFlow  | ResNet50 | Cifar-10 |  Execute trabalhos TensorFlow de treinamento com várias configurações de treinamento distribuídas, monitore a utilização dos recursos do sistema e defina o perfil do desempenho do modelo usando o Debugger.  | 
|  [ PyTorch ResNet Modelo de criação de perfil de treinamento com várias configurações de treinamento distribuídas](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-debugger/pytorch_profiling)   | PyTorch |  ResNet50  | Cifar-10 |  Execute trabalhos PyTorch de treinamento com várias configurações de treinamento distribuídas, monitore a utilização dos recursos do sistema e defina o perfil do desempenho do modelo usando o Debugger.  | 

## Cadernos de exemplo do Depurador para a análise de parâmetros do modelo
<a name="debugger-notebooks-debugging"></a>

A lista a seguir mostra exemplos de cadernos do Debugger que apresentam a adaptabilidade do Debugger para depurar trabalhos de treinamento para vários modelos, conjuntos de dados e estruturas de machine learning.


| Título do caderno | Framework | Modelo | Conjunto de dados | Description | 
| --- | --- | --- | --- | --- | 
|  [Amazon SageMaker Debugger - Use uma regra integrada](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-debugger/tensorflow_builtin_rule)  |  TensorFlow  |  Rede neural convolucional  | MNIST |  Use as regras integradas do Amazon SageMaker Debugger para depurar um modelo. TensorFlow  | 
|  [Amazon SageMaker Debugger - Tensorflow 2.1](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-debugger/tensorflow2)  |  TensorFlow  |  ResNet50  | Cifar-10 |  Use a configuração de gancho do Amazon SageMaker Debugger e as regras integradas para depurar um modelo com a estrutura Tensorflow 2.1.  | 
|  [Visualizando tensores de depuração do treinamento MXNet](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-debugger/mnist_tensor_plot)  |  MXNet  |  Rede Neural Convolucional Gluon  | Modo MNIST |  Execute um trabalho de treinamento e configure o SageMaker Debugger para armazenar todos os tensores desse trabalho e, em seguida, visualize esses tensores em um notebook.  | 
|  [Habilite o treinamento pontual com o Amazon SageMaker Debugger](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-debugger/mxnet_spot_training)   | MXNet |  Rede Neural Convolucional Gluon  | Modo MNIST |  Saiba como o Debugger coleta dados de tensores de um trabalho de treinamento em uma instância spot e como usar as regras integradas do Debugger com treinamento spot gerenciado.  | 
| [Explique um XGBoost modelo que prevê a renda de um indivíduo com o Amazon SageMaker Debugger](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/xgboost_census_explanations/xgboost-census-debugger-rules.html) | XGBoost |  XGBoost Regressão  |  [Conjunto de dados do Censo de Adultos](https://archive.ics.uci.edu/ml/datasets/adult)  | Aprenda a usar o gancho do Debugger e as regras integradas para coletar e visualizar dados de tensores de um modelo de XGBoost regressão, como valores de perda, recursos e valores SHAP. | 

Para encontrar visualizações avançadas dos parâmetros do modelo e dos casos de uso, consulte o próximo tópico em [Demonstrações e visualização avançadas do Depurador](debugger-visualization.md).

# Demonstrações e visualização avançadas do Depurador
<a name="debugger-visualization"></a>

As demonstrações a seguir mostram casos de uso avançados e scripts de visualização usando o Debugger.

**Topics**
+ [Modelos de treinamento e poda com Amazon SageMaker Experiments and Debugger](#debugger-visualization-video-model-pruning)
+ [[Usando o SageMaker Debugger para monitorar um treinamento de modelo de autoencoder convolucional](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/model_specific_realtime_analysis/autoencoder_mnist/autoencoder_mnist.html)](#debugger-visualization-autoencoder_mnist)
+ [[Usando o SageMaker Debugger para monitorar as atenções no treinamento do modelo BERT](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/model_specific_realtime_analysis/bert_attention_head_view/bert_attention_head_view.html)](#debugger-visualization-bert_attention_head_view)
+ [[Usando o SageMaker Debugger para visualizar mapas de ativação de classes em redes neurais convolucionais () CNNs](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/model_specific_realtime_analysis/cnn_class_activation_maps/cnn_class_activation_maps.html)](#debugger-visualization-cnn_class_activation_maps)

## Modelos de treinamento e poda com Amazon SageMaker Experiments and Debugger
<a name="debugger-visualization-video-model-pruning"></a>

*Dra. Nathalie Rauschmayr, Cientista AWS Aplicada \$1 Duração: 49 minutos 26 segundos*

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/Tnv6HsT1r4I/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/Tnv6HsT1r4I)


Descubra como o Amazon SageMaker Experiments and Debugger pode simplificar o gerenciamento de seus trabalhos de treinamento. O Amazon SageMaker Debugger fornece visibilidade transparente das tarefas de treinamento e salva métricas de treinamento em seu bucket do Amazon S3. SageMaker O Experiments permite que você chame as informações de treinamento como *testes* por meio do SageMaker Studio e oferece suporte à visualização do trabalho de treinamento. Isso ajuda a manter uma alta qualidade do modelo enquanto reduz parâmetros menos importantes com base na classificação de importância.

Este vídeo demonstra uma técnica de *poda de modelos que torna os AlexNet modelos pré-treinados ResNet 50 e S mais leves e acessíveis, mantendo altos padrões de precisão do modelo*.

SageMaker O AI Estimator treina esses algoritmos fornecidos pelo zoológico PyTorch modelo em um AWS Deep Learning Containers com PyTorch estrutura, e o Debugger extrai métricas de treinamento do processo de treinamento.

O vídeo também demonstra como configurar uma regra personalizada do Debugger para observar a precisão de um modelo removido, acionar um CloudWatch evento e uma AWS Lambda função da Amazon quando a precisão atingir um limite e interromper automaticamente o processo de remoção para evitar iterações redundantes. 

Os objetivos de aprendizado são os seguintes: 
+  Saiba como usar a SageMaker IA para acelerar o treinamento do modelo de ML e melhorar a qualidade do modelo. 
+  Entenda como gerenciar as iterações de treinamento com o SageMaker Experiments capturando automaticamente os parâmetros de entrada, as configurações e os resultados. 
+  Descubra como o Debugger torna o processo de treinamento transparente capturando automaticamente dados de tensores em tempo real a partir de métricas como pesos, gradientes e saídas de ativação de redes neurais convolucionais.
+ Use CloudWatch para acionar o Lambda quando o Debugger detecta problemas.
+  Domine o processo SageMaker de treinamento usando o SageMaker Experiments and Debugger.

Você pode encontrar os cadernos e scripts de treinamento usados neste vídeo do [SageMaker Debugger PyTorch ](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-debugger/pytorch_iterative_model_pruning) Iterative Model Pruning.

A imagem a seguir mostra como o processo de remoção iterativa do AlexNet modelo reduz o tamanho ao cortar os 100 filtros menos significativos com base na classificação de importância avaliada pelas saídas de ativação e gradientes.

O processo de redução diminuiu os 50 milhões de parâmetros iniciais para 18 milhões. Também reduziu o tamanho estimado do modelo de 201 MB para 73 MB. 

![\[Uma imagem contendo visualizações de saída de resultados de redução de modelo\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/debugger/debugger-model-pruning-results-alexnet.gif)


Você também precisa monitorar a precisão do modelo, e a imagem a seguir mostra como você pode traçar o processo de poda do modelo para visualizar as alterações na precisão do modelo com base no número de parâmetros no SageMaker Studio.

![\[Uma imagem da visualização do tensor usando o Debugger no Studio SageMaker\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/debugger/debugger-model-pruning-studio.png)


**No SageMaker Studio, escolha a guia **Experimentos**, selecione uma lista de tensores salvos pelo Debugger no processo de poda e, em seguida, crie um painel Lista de componentes de teste.** Selecione todas as 10 iterações e escolha **Adicionar gráfico** para criar um **Gráfico de componentes de teste**. Depois de decidir sobre um modelo a ser implantado, escolha o componente de teste e escolha um menu para realizar uma ação ou escolha **Implantar modelo**.

**nota**  
Para implantar um modelo por meio do SageMaker Studio usando o exemplo de notebook a seguir, adicione uma linha no final da `train` função no `train.py` script.  

```
# In the train.py script, look for the train function in line 58.
def train(epochs, batch_size, learning_rate):
    ...
        print('acc:{:.4f}'.format(correct/total))
        hook.save_scalar("accuracy", correct/total, sm_metric=True)

    # Add the following code to line 128 of the train.py script to save the pruned models
    # under the current SageMaker Studio model directory
    torch.save(model.state_dict(), os.environ['SM_MODEL_DIR'] + '/model.pt')
```

## [Usando o SageMaker Debugger para monitorar um treinamento de modelo de autoencoder convolucional](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/model_specific_realtime_analysis/autoencoder_mnist/autoencoder_mnist.html)
<a name="debugger-visualization-autoencoder_mnist"></a>

Este caderno demonstra como o SageMaker Debugger visualiza tensores de um processo de aprendizado não supervisionado (ou autosupervisionado) em um conjunto de dados de imagens MNIST de números manuscritos.

O modelo de treinamento neste notebook é um codificador automático convolucional com a estrutura. MXNet O codificador automático convolucional tem uma rede neural convolucional em forma de gargalo que consiste em uma parte codificadora e uma parte decodificadora. 

O codificador neste exemplo tem duas camadas de convolução para produzir uma representação compactada (variáveis latentes) das imagens de entrada. Neste caso, o codificador produz uma variável latente de tamanho (1, 20) a partir de uma imagem de entrada original de tamanho (28, 28) e reduz significativamente o tamanho dos dados para treinamento em 40 vezes.

O decodificador tem duas camadas *desconvolucionais* e garante que as variáveis latentes preservem informações importantes reconstruindo imagens de saída.

O codificador convolucional alimenta algoritmos de agrupamento com tamanho menor de dados de entrada e o desempenho de algoritmos de agrupamento, como k-means, K-NN e t-Distributed Stochastic Neighbor Embedding (t-SNE).

Este exemplo de caderno demonstra como visualizar as variáveis latentes usando o Debugger, como mostrado na animação a seguir. Ele também demonstra como o algoritmo t-SNE classifica as variáveis latentes em 10 clusters e as projeta em um espaço bidimensional. O esquema de cores do gráfico de dispersão no lado direito da imagem reflete os valores verdadeiros para mostrar a eficiência com que o modelo BERT e o algoritmo t-SNE organizam as variáveis latentes nos clusters.

![\[Uma imagem conceitual do codificador automático convolucional\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/debugger/debugger-cnn-autoencoder-plot.gif)


## [Usando o SageMaker Debugger para monitorar as atenções no treinamento do modelo BERT](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/model_specific_realtime_analysis/bert_attention_head_view/bert_attention_head_view.html)
<a name="debugger-visualization-bert_attention_head_view"></a>

Bidirectional Encode Representations from Transformers (BERT) é um modelo de representação de linguagem. Como reflete o nome do modelo, o modelo BERT baseia-se na *aprendizado de transferência* e no *modelo tipo transformador* para processamento de linguagem natural (PLN).

O modelo BERT é pré-treinado em tarefas não supervisionadas, como prever palavras ausentes em uma frase ou prever a próxima frase que naturalmente segue uma frase anterior. Os dados de treinamento contêm 3,3 bilhões de palavras (tokens) de texto em inglês, de fontes como Wikipédia e livros eletrônicos. Para obter um exemplo simples, o modelo BERT pode dar uma grande *atenção* aos tokens de verbo apropriados ou tokens de pronome de um token de assunto.

O modelo BERT pré-treinado pode ser ajustado com uma camada de saída adicional para obter treinamento de state-of-the-art modelo em tarefas de PNL, como respostas automatizadas a perguntas, classificação de texto e muitas outras. 

O Debugger coleta tensores do processo de ajuste fino. No contexto do PLN, o peso dos neurônios chama *atenção*. 

Este caderno demonstra como usar o [modelo BERT pré-treinado do zoológico modelo GluonNLP](https://gluon-nlp.mxnet.io/model_zoo/bert/index.html) no conjunto de dados de perguntas e respostas de Stanford e como configurar o Debugger para monitorar o trabalho de treinamento. SageMaker 

Traçar *pontuações de atenção* e neurônios individuais na consulta e vetores chave pode ajudar a identificar causas de predições incorretas do modelo. Com o SageMaker AI Debugger, você pode recuperar os tensores e traçar a *visão da cabeça de atenção* em tempo real à medida que o treinamento avança e entender o que o modelo está aprendendo.

A animação a seguir mostra as pontuações de atenção dos primeiros 20 tokens de entrada para 10 iterações no trabalho de treinamento fornecido no exemplo do caderno.

![\[Uma animação das pontuações de atenção\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/debugger/debugger-attention_scores.gif)


## [Usando o SageMaker Debugger para visualizar mapas de ativação de classes em redes neurais convolucionais () CNNs](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/model_specific_realtime_analysis/cnn_class_activation_maps/cnn_class_activation_maps.html)
<a name="debugger-visualization-cnn_class_activation_maps"></a>

Este notebook demonstra como usar o SageMaker Debugger para traçar mapas de ativação de classes para detecção e classificação de imagens em redes neurais convolucionais (). CNNs No aprendizado profundo, uma *rede neural convolucional (CNN ou ConvNet)* é uma classe de redes neurais profundas, mais comumente aplicada à análise de imagens visuais. Uma das aplicações que adota os mapas de ativação de classe é o caso dos veículos autônomos, que exigem detecção instantânea e classificação de imagens, como sinais de trânsito, estradas e obstáculos.

Neste notebook, o PyTorch ResNet modelo é treinado [no conjunto de dados alemão de sinais de trânsito](http://benchmark.ini.rub.de/), que contém mais de 40 classes de objetos relacionados ao trânsito e mais de 50.000 imagens no total.

![\[Uma animação de mapas de ativação da classe CNN\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/debugger/debugger-cnn-class-activation-maps.gif)


Durante o processo de treinamento, o SageMaker Debugger coleta tensores para traçar os mapas de ativação da classe em tempo real. Como mostrado na imagem animada, o mapa de ativação de classe (também chamado de *mapa de saliência*) destaca regiões com alta ativação na cor vermelha. 

Ao usar os tensores capturados pelo Debugger, você pode visualizar como o mapa de ativação evolui durante o treinamento do modelo. O modelo começa detectando a borda no canto inferior esquerdo no início do trabalho de treinamento. À medida que o treinamento progride, o foco muda para o centro e detecta o sinal de limite de velocidade, e o modelo prevê com êxito a imagem de entrada como Classe 3, que é uma classe de sinais de limite de velocidade de 60 km/h, com um nível de confiança de 97%.