Melhores práticas para o Amazon SageMaker 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á.

Melhores práticas para o Amazon SageMaker Debugger

Use as diretrizes a seguir ao executar tarefas de treinamento com o Debugger.

Escolha um framework de Machine Learning

Você pode escolher uma estrutura de aprendizado de máquina e usar contêineres de treinamento SageMaker pré-criados ou seus próprios contêineres. Use o Debugger para detectar problemas de treinamento e desempenho e analisar o progresso do seu trabalho de treinamento em. SageMaker SageMaker fornece opções para usar contêineres pré-criados que são preparados para vários ambientes de estrutura de aprendizado de máquina para treinar seu modelo na AmazonEC2. Qualquer trabalho de treinamento pode ser adaptado para execução em AWS Deep Learning Containers, contêineres de SageMaker treinamento e contêineres personalizados.

Use o painel de insights do Studio Debugger

Com o painel de insights do Studio Debugger, você tem o controle de suas tarefas de treinamento. Use os painéis do Studio Debugger para manter o desempenho do seu modelo nas EC2 instâncias da Amazon sob controle e otimizado. Para qualquer trabalho de SageMaker treinamento executado na EC2 instância da Amazon, o Debugger monitora a utilização de recursos e os dados básicos de saída do modelo (valores de perda e precisão). Por meio dos painéis do Studio Debugger, obtenha insights sobre suas tarefas de treinamento e melhore a performance do seu treinamento de modelos. Para saber mais, consulte Interface do SageMaker usuário do Amazon Debugger no Amazon Studio Classic Experiments SageMaker .

Faça download de relatórios do Debugger e obtenha mais insights

Você pode visualizar os resultados da agregação e obter insights nos relatórios do Debugger. O Debugger agrega os resultados de treinamento e perfil coletados da análise de regras integrada em um relatório por tarefa de treinamento. Você pode encontrar informações detalhadas sobre os resultados do treinamento nos relatórios do Debugger. Para saber mais, consulte SageMaker Relatório interativo do Debugger.

Capturar dados da tarefa de treinamento e salvar dados no Amazon S3

Você pode usar um hook do Debugger para salvar os tensores de saída. Depois de escolher um contêiner e uma framework que se adequa ao script de treinamento, use um hook do Debugger para configurar quais tensores salvar e em qual diretório salvá-los, como um bucket do Amazon S3. Um hook do Debugger ajuda a criar a configuração e mantê-la na sua conta para ser usada em análises subsequentes, onde é protegida para uso com os aplicativos mais sensíveis à privacidade. Para saber mais, consulte Configurar o SageMaker depurador para salvar tensores.

Analisar os dados com uma frota de regras integradas do Debugger

Você pode usar as regras integradas do Debugger para inspecionar tensores em paralelo com uma tarefa de treinamento. Para analisar os dados de performance do treinamento, o Debugger fornece regras integradas que observam comportamentos anormais do processo de treinamento. Por exemplo, uma regra do Debugger detecta problemas quando o processo de treinamento sofre problemas de gargalo do sistema ou problemas de treinamento, como gradientes de desaparecimento, tensores explosivos, excesso de ajuste ou excesso de treinamento. Se necessário, você também pode construir regras personalizadas criando uma definição de regra com seus próprios critérios para definir um problema de treinamento. Para saber mais sobre as regras do Debugger, consulte Configurar regras integradas do Depurador para obter instruções detalhadas sobre o uso do Amazon Python. SageMaker SDK Para obter uma lista completa das regras integradas do Debugger, consulte Lista de regras integradas do Debugger. Se quiser criar uma regra personalizada, consulte Crie regras personalizadas do Debugger para Análise de trabalho de treinamento.

Executar ações baseadas no status da regra integrada

Você pode usar o Debugger com Amazon Events e. CloudWatch AWS Lambda Você pode automatizar ações com base no status da regra, como interromper previamente as tarefas de treinamento e configurar notificações por e-mail ou texto. Quando as regras do Debugger detectam problemas e acionam um status de "IssuesFound" avaliação, o CloudWatch Events detecta as mudanças de status da regra e invoca a função Lambda para realizar ações. Para configurar ações automatizadas para seus problemas de treinamento, consulte Crie ações sobre regras usando a Amazon CloudWatch e AWS Lambda.

Mergulhe profundamente nos dados usando a biblioteca de SMDebug cliente

Você pode usar as SMDebug ferramentas para acessar e analisar os dados de treinamento coletados pelo Debugger. As classes TrainingJob e create_trial carregam as métricas e os tensores salvos pelo Debugger. Essas classes fornecem métodos de classe estendidos para analisar os dados em tempo real ou após o término do treinamento. A SMDebug biblioteca também fornece ferramentas de visualização: mesclar cronogramas de métricas da estrutura para agregar diferentes perfis, gráficos de linhas e mapas de calor para rastrear a utilização do sistema e histogramas para encontrar valores discrepantes na duração da etapa. Para saber mais sobre as ferramentas da SMDebug biblioteca, consulteAnalise dados usando a biblioteca cliente do Debugger Python.

Monitorar e analisar métricas de tarefas de treinamento

A Amazon CloudWatch oferece suporte a métricas personalizadas de alta resolução, e sua melhor resolução é de 1 segundo. No entanto, quanto melhor for a resolução, menor será a vida útil das métricas. CloudWatch Para a resolução de frequência de 1 segundo, as CloudWatch métricas ficam disponíveis por 3 horas. Para obter mais informações sobre a resolução e a vida útil das CloudWatch métricas, consulte GetMetricStatisticsna Amazon CloudWatch API Reference.

Se você quiser traçar o perfil do seu trabalho de treinamento com uma resolução mais precisa de até 100 milissegundos (0,1 segundo) de granularidade e armazenar as métricas de treinamento indefinidamente no Amazon S3 para análise personalizada a qualquer momento, considere usar o Amazon Debugger. SageMaker SageMaker O Debugger fornece regras integradas para detectar automaticamente problemas comuns de treinamento; ele detecta problemas de utilização de recursos de hardware (como CPU gargalos de E/S e gargalos de E/S) e problemas de modelos não convergentes (como sobreajusteGPU, gradientes que desaparecem e tensores explosivos).

SageMaker O Debugger também fornece visualizações por meio do Studio Classic e seu relatório de criação de perfil. Ao contrário das CloudWatch métricas, que acumulam taxas de utilização de recursos CPU e GPU núcleos e calculam a média delas em várias instâncias, o Debugger rastreia a taxa de utilização de cada núcleo. Isso habilita a identificação de uso desequilibrado dos recursos de hardware à medida que você aumentar a escala verticalmente para clusters de computação maiores. Para explorar as visualizações do Debugger, consulte Passo a passo do painel do SageMaker Debugger Insights, Passo a passo do relatório de criação de perfil do Debugger e Análise de dados usando a biblioteca cliente. SMDebug

Monitoramento da utilização do sistema e detecção de gargalos

Com o monitoramento do Amazon SageMaker Debugger, você pode medir a utilização dos recursos do sistema de hardware das instâncias da Amazon. EC2 O monitoramento está disponível para qualquer trabalho de SageMaker treinamento construído com os estimadores da SageMaker estrutura (TensorFlow, PyTorch, eMXNet) e o SageMaker estimador genérico (algoritmos SageMaker integrados e seus próprios contêineres personalizados). As regras integradas do Debugger para monitoramento detectam problemas de gargalo do sistema e enviam notificações ao detectar problemas de gargalo.

Para saber como habilitar o monitoramento do sistema do Debugger, consulte Configure um estimador com parâmetros para criação de perfil básica usando os módulos Python do Amazon Debugger SageMaker e, em seguida, Defina as configurações para a criação de perfil básico da utilização dos recursos do sistema.

Para obter uma lista completa das regras incorporadas disponíveis para monitoramento, consulte Regras integradas do Debugger para definir o perfil da utilização de recursos do sistema de hardware (métricas do sistema).

Operações do framework de perfil

Com a definição de perfil SageMaker do Amazon Debugger, você pode traçar o perfil das operações de estruturas de aprendizado profundo. Você pode criar o perfil do seu modelo de treinamento com os contêineres de SageMaker TensorFlow treinamento, os contêineres da SageMaker PyTorch estrutura e seus próprios contêineres de treinamento. Usando o recurso de perfil do Debugger, você pode realizar uma busca detalhada nos operadores e funções do Python que são executados para realizar a tarefa de treinamento. O Debugger é compatível com perfis detalhados, perfis de Python, perfis de carregador de dados e perfis de treinamento distribuído com o Horovod. Você pode mesclar as linhas do tempo de perfis para correlacioná-las com os gargalos do sistema. Regras integradas do Debugger para problemas relacionados à operação de framework de monitoramento de perfil, incluindo tempo de inicialização do treinamento excessivo devido ao download de dados antes do início do treinamento e valores atípicos na duração da etapa nos loops de treinamento.

Para saber como configurar o Debugger para perfil de framework, consulte Configure um estimador com parâmetros para criação de perfil básica usando os módulos Python do Amazon Debugger SageMaker e, em seguida, Configurar para criação de perfil de framework.

Para obter uma lista completa das regras integradas disponíveis para criação de perfil, consulte Regras integradas do Debugger para métricas da estrutura de criação de perfil.

Tensores de saída do modelo de depuração

A depuração está disponível para estruturas de aprendizado profundo usando Deep Learning Containers e os AWS contêineres de treinamento. SageMaker Para versões de framework totalmente compatíveis (consulte as versões em Algoritmos e frameworks com suporte), o Debugger registra automaticamente os hooks para coletar tensores de saída e você pode executar diretamente seu script de treinamento. Para as versões com um sinal de asterisco, você precisa registrar manualmente os hooks para coletar os tensores. O Debugger fornece coleções de tensores pré-configuradas com nomes generalizados que você pode utilizar em diferentes frameworks. Se quiser personalizar a configuração do tensor de saída, você também pode usar DebuggerHookConfig API as operações CollectionConfig e e o Amazon SageMaker SDK Python para configurar suas próprias coleções de tensores. As regras integradas do Debugger para depuração analisam os tensores de saída e identificam problemas de otimização do modelo que impedem que seu modelo minimize a função de perda. Por exemplo, as regras identificam ajuste excessivo, treinamento excessivo, perda que não diminui, tensores explosivos e gradientes que desaparecem.

Para saber como configurar o Debugger para depuração dos tensores de saída, consulte Etapa 2: Iniciar e depurar trabalhos de treinamento usando Python SageMaker SDK e, em seguida Configurar o SageMaker depurador para salvar tensores.

Para obter uma lista completa das regras integradas disponíveis para depuração, consulte Regras integradas do depurador para depuração de dados de treinamento do modelo (tensores de saída).