Compilador SageMaker de treinamento da Amazon - 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á.

Compilador SageMaker de treinamento da Amazon

Importante

A Amazon Web Services (AWS) anuncia que não haverá novos lançamentos ou versões do SageMaker Training Compiler. Você pode continuar a utilizar o SageMaker Training Compiler por meio dos AWS Deep Learning Containers (DLCs) existentes para SageMaker treinamento. É importante observar que, embora os existentes DLCs permaneçam acessíveis, eles não receberão mais patches ou atualizações de AWS, de acordo com a Política de Suporte do AWS Deep Learning Containers Framework.

Use o Amazon SageMaker Training Compiler para treinar modelos de aprendizado profundo (DL) com mais rapidez em GPU instâncias escaláveis gerenciadas por. SageMaker

O que é o SageMaker Training Compiler?

Os modelos S de aprendizado tate-of-the-art profundo (DL) consistem em redes neurais complexas de várias camadas com bilhões de parâmetros que podem levar milhares de GPU horas para serem treinados. Otimizar tais modelos na infraestrutura de treinamento requer amplo conhecimento em aprendizado profundo (DL) e engenharia de sistemas; isso é desafiador mesmo para casos de uso específicos. Embora existam implementações de código aberto de compiladores que otimizam o processo de treinamento de DL, elas podem não ter a flexibilidade de integrar estruturas de DL a alguns hardwares, como instâncias. GPU

SageMaker O Training Compiler é um recurso SageMaker que faz essas hard-to-implement otimizações para reduzir o tempo de treinamento nas instâncias. GPU O compilador otimiza os modelos de DL para acelerar o treinamento usando instâncias de aprendizado SageMaker de máquina (ML) GPU com mais eficiência. SageMaker O Training Compiler está disponível sem custo adicional SageMaker e pode ajudar a reduzir o tempo total faturável à medida que acelera o treinamento.

Um diagrama conceitual de como o SageMaker Training Compiler funciona com. SageMaker

SageMaker O Training Compiler é integrado aos AWS Deep Learning Containers (DLCs). Usando o SageMaker Training Compiler ativado AWS DLCs, você pode compilar e otimizar trabalhos de treinamento em GPU instâncias com o mínimo de alterações em seu código. Traga seus modelos de aprendizado profundo SageMaker e habilite o SageMaker Training Compiler para acelerar a velocidade de seu trabalho de treinamento em instâncias de SageMaker ML para computação acelerada.

Como funciona

SageMaker O Training Compiler converte modelos de DL de sua representação de linguagem de alto nível em instruções otimizadas para hardware. Especificamente, o SageMaker Training Compiler aplica otimizações em nível de gráfico, otimizações em nível de fluxo de dados e otimizações de back-end para produzir um modelo otimizado que usa recursos de hardware com eficiência. Como resultado, você pode treinar seus modelos mais rapidamente do que quando você os treina sem compilação.

É um processo de duas etapas para ativar o SageMaker Training Compiler para seu trabalho de treinamento:

  1. Traga seu próprio script de DL e, se necessário, adapte-o para compilar e treinar com o SageMaker Training Compiler. Para saber mais, consulte Usar o seu próprio modelo de aprendizado profundo.

  2. Crie um objeto SageMaker estimador com o parâmetro de configuração do compilador usando o Python. SageMaker SDK

    1. Ative o SageMaker Training Compiler adicionando compiler_config=TrainingCompilerConfig() à classe do SageMaker estimador.

    2. Ajuste os hiperparâmetros (batch_sizeelearning_rate) para maximizar o benefício que o SageMaker Training Compiler oferece.

      A compilação por meio do SageMaker Training Compiler altera a pegada de memória do modelo. Mais comumente, isso se manifesta como uma redução na utilização da memória e um consequente aumento no maior tamanho de lote que pode caber no. GPU Em alguns casos, o compilador promove o armazenamento em cache de forma inteligente, o que leva a uma diminuição no maior tamanho do lote que pode caber no. GPU Observe que, se você quiser alterar o tamanho do lote, deverá ajustar a taxa de aprendizagem adequadamente.

      Para obter uma referência sobre batch_size testados para modelos populares, consulte Modelos testados.

      Ao ajustar o tamanho do lote, você também precisa ajustá-lo learning_rate adequadamente. Para obter as melhores práticas para ajustar a taxa de aprendizagem junto com a alteração no tamanho do lote, consulte SageMaker Práticas recomendadas e considerações sobre o Training Compiler.

    3. Ao executar o método estimator.fit() class, SageMaker compila seu modelo e inicia o trabalho de treinamento.

    Para obter instruções sobre como iniciar um trabalho de treinamento, consulte Ativar compilador SageMaker de treinamento.

SageMaker O Training Compiler não altera o modelo final treinado, ao mesmo tempo que permite acelerar o trabalho de treinamento usando a GPU memória com mais eficiência e ajustando um tamanho de lote maior por iteração. O modelo final treinado do trabalho de treinamento acelerado pelo compilador é idêntico ao do trabalho de treinamento normal.

dica

SageMaker O Training Compiler compila apenas modelos de DL para treinamento em GPUinstâncias suportadas gerenciadas pelo. SageMaker Para compilar seu modelo para inferência e implantá-lo para execução em qualquer lugar na nuvem e na borda, use o compilador SageMaker Neo.