SageMaker Relatório interativo do Debugger - Amazon SageMaker

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

SageMaker Relatório interativo do Debugger

Receba relatórios de criação de perfil gerados automaticamente pelo Debugger. O relatório do Debugger fornece insights sobre seus trabalhos de treinamento e sugere recomendações para melhorar o desempenho do seu modelo. A captura de tela a seguir mostra uma colagem do relatório de criação de perfil do Debugger. Para saber mais, consulte SageMaker Relatório de criação de perfil do depurador.

nota

Você pode baixar os relatórios do Debugger enquanto seu trabalho de treinamento está em execução ou após a conclusão do trabalho. Durante o treinamento, o Debugger atualiza simultaneamente o relatório, refletindo o status de avaliação das regras atuais. Você só pode baixar um relatório completo do Debugger após a conclusão do trabalho de treinamento.

Importante

Nos relatórios, gráficos e recomendações são fornecidos para fins informativos e não são definitivos. Você é responsável por fazer sua própria avaliação independente das informações.

Um exemplo de relatório de resumo do trabalho de treinamento do Debugger

SageMaker Relatório de criação de perfil do depurador

Para qualquer trabalho de SageMaker treinamento, a ProfilerReport regra do SageMaker Debugger invoca todas as regras de monitoramento e criação de perfil e agrega a análise das regras em um relatório abrangente. Seguindo este guia, baixe o relatório usando o Amazon SageMaker Python SDK ou o console do S3 e saiba o que você pode interpretar a partir dos resultados da criação de perfil.

Importante

No relatório, os gráficos e as recomendações são fornecidos para fins informativos e não são definitivos. Você é responsável por fazer sua própria avaliação independente das informações.

Baixe o relatório de criação de SageMaker perfil do Debugger

Baixe o relatório de criação de perfil do SageMaker Debugger enquanto seu trabalho de treinamento estiver em execução ou após o término do trabalho usando o SDK e (CLI) do Amazon SageMaker Python. AWS Command Line Interface

nota

Para obter o relatório de criação de perfil gerado pelo SageMaker Debugger, você deve usar a ProfilerReportregra integrada oferecida pelo Debugger. SageMaker Para ativar a regra com seu trabalho de treinamento, consulte Configurar regras do criador de perfil integrado.

dica

Você também pode baixar o relatório com um único clique no painel de insights do SageMaker Studio Debugger. Isso não requer nenhum script adicional para baixar o relatório. Para saber como baixar o relatório do Studio, consulte Abra o painel do Amazon SageMaker Debugger Insights.

Download using SageMaker Python SDK and AWS CLI
  1. Verifique o URI base de saída S3 padrão do trabalho atual.

    estimator.output_path
  2. Verifique o nome do trabalho atual.

    estimator.latest_training_job.job_name
  3. O relatório de criação de perfil do Debugger é armazenado em <default-s3-output-base-uri>/<training-job-name>/rule-output. Configure o caminho de saída da regra da seguinte forma:

    rule_output_path = estimator.output_path + estimator.latest_training_job.job_name + "/rule-output"
  4. Para verificar se o relatório foi gerado, liste os diretórios e arquivos recursivamente em rule_output_path usando aws s3 ls com a opção --recursive.

    ! aws s3 ls {rule_output_path} --recursive

    Isso deve retornar uma lista completa de arquivos em uma pasta gerada automaticamente chamada ProfilerReport-1234567890. O nome da pasta é uma combinação de cadeias de caracteres: ProfilerReport e uma tag exclusiva de 10 dígitos baseada no carimbo de data/hora do Unix quando a regra é iniciada. ProfilerReport

    Um exemplo de saída de regra

    O profiler-report.html é um relatório de criação de perfil gerado automaticamente pelo Debugger. Os arquivos restantes são os componentes integrados de análise de regras armazenados em JSON e em um bloco de anotações Jupyter que são usados para agregá-los ao relatório.

  5. Faça download dos arquivos recursivamente usando aws s3 cp. O comando a seguir salva todos os arquivos de saída da regra na pasta ProfilerReport-1234567890 sob o diretório de trabalho atual.

    ! aws s3 cp {rule_output_path} ./ --recursive
    dica

    Se estiver usando um servidor do bloco de anotações Jupyter, execute !pwd para verificar novamente o diretório de trabalho atual.

  6. Abaixo do diretório/ProfilerReport-1234567890/profiler-output, abra profiler-report.html. Se estiver usando JupyterLab, escolha Confiar em HTML para ver o relatório de criação de perfil do Debugger gerado automaticamente.

    Um exemplo de saída de regra
  7. Abra o arquivo profiler-report.ipynb para explorar como o relatório é gerado. Você também pode personalizar e estender o relatório de criação de perfil usando o arquivo do bloco de anotações Jupyter.

Download using Amazon S3 Console
  1. Faça login AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. Procure o bucket base do S3. Por exemplo, se você não especificou o nome de trabalho básico, o nome básico do bucket do S3 deve estar no seguinte formato:sagemaker-<region>-111122223333. Procure o bucket S3 básico por meio do campo Localizar bucket pelo nome.

    Um exemplo de saída de regra para o URI do bucket do S3
  3. No bucket básico do S3, pesquise o nome do trabalho de treinamento especificando o prefixo do nome do trabalho no campo de entrada Localizar objetos por prefixo. Escolha o nome do trabalho de treinamento.

    Um exemplo de saída de regra para o URI do bucket do S3
  4. No bucket S3 do trabalho de treinamento, deve haver três subpastas para dados de treinamento coletados pelo Debugger: debug-output/, profiler-output/ e rule-output/. Escolha rule-output/.

    Um exemplo de saída de regra para o URI do bucket do S3
  5. Na pasta rule-output/, escolha ProfilerReport-1234567890 e escolha profiler-output/ folder. A pasta profiler-output/ contém profiler-report.html (o relatório de criação de perfil gerado automaticamente em html), profiler-report.ipynb (um bloco de anotações Jupyter com scripts usados para gerar o relatório) e uma pasta profiler-report/ (contém arquivos JSON de análise de regras que são usados como componentes do relatório).

  6. Selecione o arquivo profiler-report.html, escolha Ações e Fazer download.

    Um exemplo de saída de regra para o URI do bucket do S3
  7. Abra o arquivo profiler-report.html baixado em um navegador da web.

nota

Se você iniciou seu trabalho de treinamento sem configurar os parâmetros específicos do Debugger, o Debugger gerará o relatório com base apenas nas regras de monitoramento do sistema porque os parâmetros do Debugger não estão configurados para salvar métricas da estrutura. Para habilitar o perfil de métricas da estrutura e receber um relatório estendido de criação de perfil do Debugger, configure o profiler_config parâmetro ao criar ou atualizar estimadores. SageMaker

Para saber como configurar o profiler_config parâmetro antes de iniciar um trabalho de treinamento, consulteConfigurar para criação de perfil de framework.

Para atualizar o trabalho de treinamento atual e habilitar a criação de perfil de métricas da estrutura, consulte Atualizar configuração de perfil da framework do Debugger.

Passo a passo do relatório de criação de perfil do Debugger

Esta seção o orienta no relatório de criação de perfil do Depurador, seção por seção. O relatório de criação de perfil é gerado baseado nas regras integradas para monitoramento e criação de perfil. O relatório mostra gráficos de resultados somente para as regras que encontraram problemas.

Importante

No relatório, os gráficos e as recomendações são fornecidos para fins informativos e não são definitivos. Você é responsável por fazer sua própria avaliação independente das informações.

Resumo do trabalho de treinamento

No início do relatório, o Debugger fornece um resumo do seu trabalho de treinamento. Nesta seção, você pode ter uma visão geral das durações e dos registros de data e hora em diferentes fases do treinamento.

Um exemplo do relatório de criação de perfil do Debugger

A tabela do resumo contém as seguintes informações:

  • start_time — A hora exata em que o trabalho de treinamento começou.

  • end_time — A hora exata em que o trabalho de treinamento foi concluído.

  • job_duration_in_seconds — O tempo total de treinamento do horário_inicial até o horário_final.

  • training_loop_start — A hora exata em que a primeira etapa da primeira época começou.

  • training_loop_start — A hora exata em que a primeira etapa da primeira época começou.

  • training_loop_duration_in_seconds — O tempo total entre a hora de início do ciclo de treinamento e a hora de término do ciclo de treinamento.

  • initialization_in_seconds — Tempo gasto na inicialização do trabalho de treinamento. A fase de inicialização abrange o período entre o start_time e o training_loop_start time. O tempo de inicialização é gasto na compilação do script de treinamento, na inicialização do script de treinamento, na criação e na inicialização do modelo, na inicialização de instâncias do EC2 e no download dos dados de treinamento.

  • finalization_in_seconds — Tempo gasto na finalização do trabalho de treinamento, como finalizar o treinamento do modelo, atualizar os artefatos do modelo e fechar as instâncias do EC2. A fase de finalização abrange o período desde o momento training_loop_end ao end_time.

  • inicialização (%) — A porcentagem de tempo gasto na inicialização sobre o total de job_duration_in_seconds.

  • ciclo de treinamento (%) — A porcentagem de tempo gasto no ciclo de treinamento sobre o total de job_duration_in_seconds.

  • finalização (%) — A porcentagem de tempo gasto na finalização sobre o total de job_duration_in_seconds.

Estatísticas de uso do sistema

Nesta seção, você pode ver uma visão geral das estatísticas de utilização do sistema.

Um exemplo do relatório de criação de perfil do Debugger

O relatório de criação de perfil inclui as seguintes informações:

  • — Lista o nome dos nós. Se estiver usando treinamento distribuído em vários nós (várias instâncias do EC2), os nomes dos nós estão no formato de. algo-n

  • métrica — As métricas do sistema coletadas pelo Debugger: CPU, GPU, memória da CPU, memória da GPU, E/S e métricas de rede.

  • unidade – A unidade das métricas do sistema.

  • max — O valor máximo de cada métrica do sistema.

  • p99 — O 99º percentil de cada utilização do sistema.

  • p95 — O 95º percentil de cada utilização do sistema.

  • p50 — O 50º percentil (médio) de cada utilização do sistema.

  • min — O valor mínimo de cada métrica do sistema.

Resumo das métricas do framework

Nesta seção, os gráficos circulares a seguir mostram o detalhamento das operações da framework em CPUs e GPUs.

Um exemplo do relatório de criação de perfil do Debugger

Cada um dos gráficos circulares analisa as métricas da framework coletadas em vários aspectos, da seguinte forma:

  • Proporção entre a fase TRAIN/EVAL e outras — Mostra a proporção entre as durações de tempo gastas em diferentes fases de treinamento.

  • Razão entre passe para frente e para trás — Mostra a proporção entre as durações de tempo gastas no passe para frente e para trás no ciclo de treinamento.

  • Proporção entre operadores de CPU/GPU — Mostra a proporção entre o tempo gasto em operadores executados em CPU ou GPU, como operadores convolucionais.

  • Métricas gerais registradas na framework — Mostra a proporção entre o tempo gasto nas principais métricas da framework, como carregamento de dados, avanço e retrocesso.

Visão geral: operadores de CPU

Esta seção fornece informações detalhadas sobre os operadores da CPU. A tabela mostra a porcentagem do tempo e o tempo cumulativo absoluto gasto nos operadores de CPU mais frequentemente chamados.

Um exemplo do relatório de criação de perfil do Debugger
Visão geral: operadores de GPU

Esta seção fornece informações detalhadas sobre os operadores de GPU. A tabela mostra a porcentagem de tempo e o tempo acumulado absoluto gasto nos operadores de GPU chamados com mais frequência.

Um exemplo do relatório de criação de perfil do Debugger

Resumo das regras

Nesta seção, o Debugger agrega todos os resultados da avaliação de regras, análises, descrições de regras e sugestões.

Um exemplo do relatório de criação de perfil do Debugger

Analisando o ciclo de treinamento — durações das etapas

Nesta seção, você pode encontrar estatísticas detalhadas das durações das etapas em cada núcleo da GPU de cada nó. O depurador avalia valores médios, máximos, p99, p95, p50 e mínimos das durações das etapas e avalia os valores discrepantes das etapas. O histograma a seguir mostra as durações das etapas capturadas em diferentes nós de trabalho e GPUs. Você pode ativar ou desativar o histograma de cada trabalhador escolhendo as legendas do lado direito. Você pode verificar se há uma GPU específica que está causando discrepâncias na duração da etapa.

Um exemplo do relatório de criação de perfil do Debugger

Análise de utilização da GPU

Esta seção mostra as estatísticas detalhadas sobre a utilização do núcleo da GPU baseado na regra LowGPUUtilization. Também resume as estatísticas de utilização da GPU, média, p95 e p5 para determinar se o trabalho de treinamento está subutilizando GPUs.

Tamanho do lote

Esta seção mostra as estatísticas detalhadas da utilização total da CPU, das utilizações individuais da GPU e da área ocupada pela memória da GPU. A BatchSize regra determina se você precisa alterar o tamanho do lote para melhor utilizar as GPUs. Você pode verificar se o tamanho do lote é muito pequeno, resultando em subutilização, ou muito grande, causando superutilização e problemas de falta de memória. No gráfico, as caixas mostram os intervalos percentuais p25 e p75 (preenchidos com roxo escuro e amarelo brilhante, respectivamente) da mediana (p50), e as barras de erro mostram o percentil 5 para o limite inferior e o percentil 95 para o limite superior.

Um exemplo do relatório de criação de perfil do Debugger

Problemas com a CPU

Nesta seção, você pode detalhar os problemas com a CPU que a regra CPUBottleneck detectou em seu trabalho de treinamento. A regra verifica se a utilização da CPU está acima cpu_threshold (90% por padrão) e também se a utilização da GPU está abaixo gpu_threshold (10% por padrão).

Um exemplo do relatório de criação de perfil do Debugger

Os gráficos circulares mostram as seguintes informações:

  • Baixo uso da GPU causado por gargalos da CPU — Mostra a proporção de pontos de dados entre aqueles com utilização da GPU acima e abaixo do limite e aqueles que correspondem aos critérios de gargalo da CPU.

  • Proporção entre a fase TRAIN/EVAL e outras — Mostra a proporção entre as durações de tempo gastas em diferentes fases de treinamento.

  • Razão entre passe para frente e para trás — Mostra a proporção entre as durações de tempo gastas no passe para frente e para trás no ciclo de treinamento.

  • Proporção entre operadores de CPU/GPU — Mostra a proporção entre as durações de tempo gastas em GPUs e CPUs por operadores Python, como processos de carregador de dados e operadores de passagem para frente e para trás.

  • Métricas gerais registradas na estrutura — Mostra as principais métricas da estrutura e a proporção entre as durações de tempo gastas nas métricas.

Problemas de E/S

Nesta seção, você pode encontrar um resumo dos problemas de E/S. A regra avalia o tempo de espera de E/S e as taxas de utilização da GPU e monitora se o tempo gasto nas solicitações de E/S excede uma porcentagem limite do tempo total de treinamento. Isso pode indicar gargalos de E/S em que as GPUs aguardam a chegada dos dados do armazenamento.

Balanceamento de carga no treinamento com várias GPUs

Nesta seção, você pode identificar problemas de balanceamento da carga de trabalho nas GPUs.

Um exemplo do relatório de criação de perfil do Debugger

Análise de memória da GPU

Nesta seção, você pode analisar a utilização da memória da GPU coletada pela regra da MemoryIncrease GPU. No gráfico, as caixas mostram os intervalos percentuais p25 e p75 (preenchidos com roxo escuro e amarelo brilhante, respectivamente) da mediana (p50), e as barras de erro mostram o percentil 5 para o limite inferior e o percentil 95 para o limite superior.

Um exemplo do relatório de criação de perfil do Debugger