Treinamento de modelos - SageMaker IA da Amazon

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

Treinamento de modelos

O estágio de treinamento do ciclo de vida completo de machine learning (ML) abrange desde o acesso ao conjunto de dados de treinamento até a geração de um modelo final e a seleção do modelo com melhor desempenho para implantação. As seções a seguir fornecem uma visão geral dos recursos e recursos de SageMaker treinamento disponíveis, com informações técnicas detalhadas sobre cada um.

A arquitetura básica do SageMaker treinamento

Se você estiver usando SageMaker IA pela primeira vez e quiser encontrar uma solução rápida de ML para treinar um modelo em seu conjunto de dados, considere usar uma solução sem código ou com pouco código, como o SageMaker Canvas, JumpStartno SageMaker Studio Classic ou no Autopilot. SageMaker

Para experiências de codificação intermediárias, considere usar um notebook SageMaker Studio Classic ou instâncias de SageMaker notebook. Para começar, siga as instruções no guia Treinar um modelo de introdução à SageMaker IA. Recomendamos isso para casos de uso nos quais você cria seu próprio modelo e script de treinamento usando um framework de machine learning.

O núcleo dos trabalhos de SageMaker IA é a conteinerização das cargas de trabalho de ML e a capacidade de gerenciar recursos computacionais. A plataforma de SageMaker treinamento cuida do trabalho pesado associado à configuração e gerenciamento da infraestrutura para cargas de trabalho de treinamento de ML. Com o SageMaker treinamento, você pode se concentrar em desenvolver, treinar e ajustar seu modelo.

O diagrama de arquitetura a seguir mostra como a SageMaker IA gerencia trabalhos de treinamento de ML e provisiona EC2 instâncias da Amazon em nome dos usuários de SageMaker IA. Você, como usuário de SageMaker IA, pode trazer seu próprio conjunto de dados de treinamento, salvando-o no Amazon S3. Você pode escolher um modelo de treinamento de ML a partir dos algoritmos integrados de SageMaker IA disponíveis ou trazer seu próprio script de treinamento com um modelo criado com estruturas populares de aprendizado de máquina.

Como os usuários fornecem dados e escolhem algoritmos, e a SageMaker IA provisiona a infraestrutura computacional.

Visão completa do fluxo de trabalho e dos recursos do SageMaker treinamento

A jornada completa do treinamento de machine learning envolve tarefas além da ingestão de dados para modelos de machine learning, incluindo o treinamento de modelos em instâncias de computação e a obtenção de artefatos e saídas do modelo. Você precisa avaliar cada fase antes, durante e após o treinamento para garantir que seu modelo seja treinado adequadamente para atingir a precisão desejada para seus objetivos.

O fluxograma a seguir mostra uma visão geral de alto nível de suas ações (em caixas azuis) e dos recursos de SageMaker treinamento disponíveis (em caixas azuis claras) durante toda a fase de treinamento do ciclo de vida do ML.

Fluxograma das etapas e atributos recomendados a serem usados em cada etapa do fluxo de trabalho de treinamento de ML.

As seções a seguir explicam cada fase do treinamento descrita no fluxograma anterior e os recursos úteis oferecidos pela SageMaker IA nos três subestágios do treinamento de ML.

Antes do treinamento

Há vários cenários de configuração de atributos de dados e acesso que você precisa considerar antes do treinamento. Consulte o diagrama a seguir e os detalhes de cada estágio antes do treinamento para ter uma ideia das decisões que você precisa tomar.

Um fluxograma mostrando as tarefas antes do treinamento e os recursos de SageMaker IA associados

Durante o treinamento

Durante o treinamento, você precisa melhorar continuamente a estabilidade, a velocidade e a eficiência do treinamento e, ao mesmo tempo, escalar os recursos de computação, a otimização de custos e, o mais importante, o desempenho do modelo. Continue lendo para obter mais informações sobre os estágios de treinamento e os recursos de SageMaker treinamento relevantes.

Um fluxograma mostrando as tarefas durante o treinamento e os recursos de SageMaker IA associados
  • Configure a infraestrutura: escolha o tipo de instância e as ferramentas de gerenciamento de infraestrutura corretos para seu caso de uso. Você pode começar com uma pequena instância e aumentar a escala de acordo com sua workload. Para treinar um modelo em um conjunto de dados tabular, comece com a menor instância de CPU das famílias de instâncias C4 ou C5. Para treinar um modelo grande para visão computacional ou processamento de linguagem natural, comece com a menor instância de GPU das famílias de instâncias P2, P3, G4dn ou G5. Você também pode misturar diferentes tipos de instância em um cluster ou manter as instâncias em pools aquecidos usando as seguintes ferramentas de gerenciamento de instâncias oferecidas pela SageMaker IA. Você também pode usar o cache persistente para reduzir a latência e o tempo faturável em tarefas de treinamento iterativo, em vez da redução da latência apenas de grupos de aquecimento. Para saber mais, consulte os tópicos a seguir.

    Você deve ter cota suficiente para executar um trabalho de treinamento. Se você executar seu trabalho de treinamento em uma instância em que não tem cota suficiente, receberá um erro ResourceLimitExceeded. Para verificar as cotas atualmente disponíveis em sua conta, use o console do Service Quotas. Para saber como solicitar um aumento de cota, consulte Regiões e Cotas compatíveis. Além disso, para encontrar informações de preços e tipos de instância disponíveis, dependendo do Regiões da AWS, consulte as tabelas na página de preços do Amazon SageMaker AI.

  • Execute um trabalho de treinamento a partir de um código local: você pode anotar seu código local com um decorador remoto para executá-lo como um trabalho de SageMaker treinamento de dentro do Amazon SageMaker Studio Classic, de um SageMaker notebook da Amazon ou de seu ambiente de desenvolvimento integrado local. Para obter mais informações, consulte Execute seu código local como um trabalho SageMaker de treinamento.

  • Monitore trabalhos de treinamento: monitore e acompanhe seus trabalhos de treinamento usando SageMaker Experiments, SageMaker Debugger ou Amazon. CloudWatch Você pode observar o desempenho do modelo em termos de precisão e convergência e executar análises comparativas de métricas entre vários trabalhos de treinamento usando experimentos de SageMaker IA. Você pode observar a taxa de utilização dos recursos computacionais usando as ferramentas de criação de perfil do SageMaker Debugger ou a Amazon. CloudWatch Para saber mais, consulte os tópicos a seguir.

    Além disso, para tarefas de aprendizado profundo, use as ferramentas de depuração de modelos do Amazon SageMaker Debugger e as regras incorporadas para identificar problemas mais complexos nos processos de convergência de modelos e atualização de peso.

  • Treinamento distribuído: se seu trabalho de treinamento estiver em um estágio estável sem interrupções devido à configuração incorreta da infraestrutura de treinamento ou a out-of-memory problemas, talvez você queira encontrar mais opções para escalar seu trabalho e executá-lo por um longo período de dias e até meses. Quando você estiver pronto para expandir, considere o treinamento distribuído. SageMaker A IA fornece várias opções para computação distribuída, desde cargas de trabalho leves de ML até cargas de trabalho pesadas de aprendizado profundo.

    Para tarefas de aprendizado profundo que envolvam o treinamento de modelos muito grandes em conjuntos de dados muito grandes, considere usar uma das estratégias de treinamento distribuído de SageMaker IA para ampliar e alcançar o paralelismo de dados, o paralelismo de modelos ou uma combinação dos dois. Você também pode usar o SageMaker Training Compiler para compilar e otimizar gráficos de modelos em instâncias de GPU. Esses recursos de SageMaker IA oferecem suporte a estruturas de aprendizado profundo PyTorch, como TensorFlow, e Hugging Face Transformers.

  • Ajuste de hiperparâmetros do modelo: ajuste os hiperparâmetros do seu modelo usando o ajuste automático de modelos com SageMaker IA. SageMaker A IA fornece métodos de ajuste de hiperparâmetros, como pesquisa em grade e pesquisa bayesiana, lançando trabalhos paralelos de ajuste de hiperparâmetros com funcionalidade de interrupção antecipada para trabalhos de ajuste de hiperparâmetros que não melhoram.

  • Verificação e economia de custos com instâncias spot: se o tempo de treinamento não for uma grande preocupação, considere otimizar os custos de treinamento de Modelos com instâncias spot gerenciadas. Observe que você deve ativar o ponto de verificação para o treinamento Spot para continuar restaurando após pausas intermitentes no trabalho devido à substituição de instâncias do Spot. Você também pode usar a funcionalidade de ponto de verificação para fazer backup de seus modelos em caso de término inesperado do trabalho de treinamento. Para saber mais, consulte os tópicos a seguir.

Após o treinamento

Após o treinamento, você obtém um artefato do modelo final para usar na implantação e inferência do modelo. Há ações adicionais envolvidas na fase de pós-treinamento, conforme mostrado no diagrama a seguir.

Um fluxograma mostrando as tarefas após o treinamento e os recursos de SageMaker IA associados
  • Obter modelo de linha de base: depois de ter o artefato do modelo, você pode defini-lo como um modelo de linha de base. Considere as seguintes ações de pós-treinamento e o uso de recursos de SageMaker IA antes de passar para a implantação do modelo na produção.

  • Examine o desempenho do modelo e verifique o viés: use o Amazon CloudWatch Metrics e o SageMaker Clarify para detectar qualquer viés pós-treinamento para detectar qualquer viés nos dados recebidos e modelar ao longo do tempo em relação à linha de base. Você precisa avaliar seus novos dados e modelar as predições em relação aos novos dados regularmente ou em tempo real. Usando esses atributos, você pode receber alertas sobre quaisquer alterações ou anomalias agudas, bem como alterações ou oscilações graduais nos dados e no modelo.

  • Você também pode usar a funcionalidade de treinamento incremental da SageMaker IA para carregar e atualizar seu modelo (ou ajustar) com um conjunto de dados expandido.

  • Você pode registrar o treinamento de modelos como uma etapa do seu pipeline de SageMaker IA ou como parte de outros recursos de fluxo de trabalho oferecidos pela SageMaker IA para orquestrar todo o ciclo de vida do ML.