SageMaker Compilador de treinamento FAQ - 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 Compilador de treinamento FAQ

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 os FAQ itens a seguir para encontrar respostas às perguntas mais frequentes sobre o SageMaker Training Compiler.

P: Como sei se o SageMaker Training Compiler está funcionando?

Se você iniciou com sucesso seu trabalho de treinamento com o SageMaker Training Compiler, receberá as seguintes mensagens de registro:

  • Com TrainingCompilerConfig(debug=False)

    Found configuration for Training Compiler Configuring SM Training Compiler...
  • Com TrainingCompilerConfig(debug=True)

    Found configuration for Training Compiler Configuring SM Training Compiler... Training Compiler set to debug mode

P: Quais modelos o SageMaker Training Compiler acelera?

SageMaker O Training Compiler é compatível com os modelos de aprendizado profundo mais populares da biblioteca de transformadores Hugging Face. Com a maioria dos operadores que o compilador suporta, esses modelos podem ser treinados mais rapidamente com o SageMaker Training Compiler. Os modelos compiláveis incluem, mas não estão limitados ao seguinte: bert-base-cased, bert-base-chinese, bert-base-uncased, distilbert-base-uncased, distilbert-base-uncased-finetuned-sst-2-english, gpt2, roberta-base, roberta-large, t5-base e xlm-roberta-base. O compilador funciona com a maioria dos operadores e frameworks de dados de DL e pode acelerar muitos outros modelos de DL além dos que foram testados.

P: O que acontece se eu ativar o SageMaker Training Compiler com um modelo que não foi testado?

Para um modelo não testado, talvez seja necessário primeiro modificar o script de treinamento para ser compatível com o SageMaker Training Compiler. Para obter mais informações, consulte Usar o seu próprio modelo de aprendizado profundo e siga as instruções sobre como preparar seu script de treinamento.

Depois de atualizar seu script de treinamento, você pode iniciar o trabalho de treinamento. O compilador continua compilando o modelo. No entanto, a velocidade de treinamento pode não aumentar e até diminuir em relação à linha de base com um modelo não testado. Talvez seja necessário reajustar os parâmetros de treinamento, como batch_size e learning_rate para obter quaisquer benefícios de aceleração.

Se a compilação do modelo não testado falhar, o compilador retornará um erro. Consulte SageMaker Solução de problemas do compilador de treinamento para obter informações detalhadas sobre os tipos de falha e as mensagens de erro.

P: Sempre conseguirei um trabalho de treinamento mais rápido com o SageMaker Training Compiler?

Não necessariamente. Primeiro, o SageMaker Training Compiler adiciona alguma sobrecarga de compilação antes que o processo de treinamento contínuo possa ser acelerado. O trabalho de treinamento otimizado deve ser executado tempo suficiente para amortizar e compensar essa sobrecarga incremental de compilação no início do trabalho de treinamento.

Além disso, como acontece com qualquer modelo de processo de treinamento, o treinamento com parâmetros abaixo do ideal pode aumentar o tempo de treinamento. SageMaker O Training Compiler pode alterar as características do trabalho de treinamento, por exemplo, alterando o espaço de memória do trabalho. Devido a essas diferenças, talvez seja necessário ajustar novamente os parâmetros do seu trabalho de treinamento para acelerar o processo de treinamento. Uma tabela de referência especificando os parâmetros de melhor desempenho para trabalhos de treinamento com diferentes tipos e modelos de instância pode ser encontrada em Modelos testados.

Finalmente, algum código em um script de treinamento pode adicionar sobrecarga adicional ou interromper o gráfico de computação compilado, retardando o treinamento. Se estiver trabalhando com um modelo personalizado ou não testado, consulte as instruções em Melhores práticas para usar o SageMaker Training Compiler com PyTorch /XLA.

P: Posso sempre usar um lote maior com o SageMaker Training Compiler?

O tamanho do lote aumenta na maioria dos casos, mas não em todos. As otimizações feitas pelo SageMaker Training Compiler podem alterar as características do seu trabalho de treinamento, como a pegada de memória. Normalmente, um trabalho do Training Compiler ocupa menos memória do que um trabalho de treinamento não compilado com o framework nativo, o que permite um tamanho de lote maior durante o treinamento. Um tamanho de lote maior e um ajuste correspondente na taxa de aprendizagem aumentam a produtividade do treinamento e podem diminuir o tempo total de treinamento.

No entanto, pode haver casos em que o SageMaker Training Compiler possa realmente aumentar o consumo de memória com base em seu esquema de otimização. O compilador usa um modelo de custo analítico para prever o cronograma de execução com o menor custo de execução para qualquer operador com uso intensivo de computação. Esse modelo pode encontrar um cronograma ideal que aumente o uso da memória. Nesse caso, você não será capaz de aumentar o tamanho dos lotes, mas o rendimento de sua amostra ainda é maior.

P: O SageMaker Training Compiler funciona com outros recursos de SageMaker treinamento, como as bibliotecas de treinamento SageMaker distribuídas e SageMaker o Debugger?

SageMaker Atualmente, o Training Compiler não é compatível com as bibliotecas SageMaker de treinamento distribuídas da.

SageMaker O Training Compiler é compatível com o SageMaker Debugger, mas o Debugger pode degradar o desempenho computacional ao adicionar sobrecarga.

P: O SageMaker Training Compiler oferece suporte a contêineres personalizados (traga seu próprio contêiner)?

SageMaker O Training Compiler é fornecido por meio do AWS Deep Learning Containers, e você pode estender um subconjunto dos contêineres para personalizar de acordo com seu caso de uso. Os contêineres que são estendidos AWS DLCs são compatíveis com o SageMaker Training Compiler. Para obter mais informações, consulte frameworks suportadas e Usando o SageMaker Python SDK e o Extending SageMaker Framework Deep Learning Containers. Se precisar de mais suporte, entre em contato com a SageMaker equipe por meio de AWS Support ou AWS Developer Forums for Amazon SageMaker.