

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

# 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%.