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á.
Execute trabalhos PyTorch de treinamento com o SageMaker Training Compiler
Importante
Aviso de descontinuação: o SageMaker Training Compiler não é suportado no SageMaker Python SDK v3. Se você estiver usando o Training Compiler, continue usando o SageMaker Python SDK v2. Para novos projetos, considere usar a ModelTrainer classe unificada com estruturas compatíveis. Consulte a documentação do SDK do SageMaker Python
Você pode usar qualquer uma das interfaces de SageMaker IA para executar um trabalho de treinamento com o SageMaker Training Compiler: Amazon SageMaker Studio Classic AWS SDK for Python (Boto3), instâncias de SageMaker notebooks da Amazon e. AWS Command Line Interface
Usando o SDK do SageMaker Python
SageMaker O Training Compiler for PyTorch está disponível por meio das classes de estimadores de HuggingFacePyTorchcompiler_config parâmetro aos estimadores de SageMaker IA. Importe a classe TrainingCompilerConfig e passe uma instância dela para o parâmetro compiler_config. Os exemplos de código a seguir mostram a estrutura das classes de estimadores de SageMaker IA com o SageMaker Training Compiler ativado.
dica
Para começar com modelos pré-construídos fornecidos por PyTorch ou Transformers, tente usar os tamanhos de lote fornecidos na tabela de referência em. Modelos testados
nota
O PyTorch suporte nativo está disponível no SDK do SageMaker Python v2.121.0 e versões posteriores. Certifique-se de atualizar o SDK do SageMaker Python adequadamente.
nota
A partir da PyTorch v1.12.0, os contêineres do SageMaker Training Compiler para estão disponíveis. PyTorch Observe que os contêineres do SageMaker Training Compiler para não PyTorch são pré-embalados com Hugging Face Transformers. Se precisar instalar a biblioteca no contêiner, certifique-se de adicionar o arquivo requirements.txt no diretório de origem ao enviar um trabalho de treinamento.
Para a PyTorch versão v1.11.0 e anteriores, use as versões anteriores dos contêineres do SageMaker Training Compiler para Hugging Face e. PyTorch
Para obter uma lista completa de versões de framework e informações de contêiner correspondentes, consulte Estruturas compatíveis.
Para obter informações adequadas ao seu caso de uso, consulte uma das opções a seguir.
A lista a seguir é o conjunto mínimo de parâmetros necessários para executar um trabalho de SageMaker treinamento com o compilador.
nota
Ao usar o estimador SageMaker AI Hugging Face, você deve especificar os compiler_config parâmetros, transformers_version pytorch_versionhyperparameters, e para ativar o Training Compiler. SageMaker Você não pode usar image_uri para especificar manualmente os contêineres de aprendizado profundo integrados ao Training Compiler que estão listados em Estruturas compatíveis.
-
entry_point(str): Obrigatório. Especifique o nome do arquivo do seu script de treinamento.nota
Para executar um treinamento distribuído com o SageMaker Training Compiler e a versão PyTorch v1.10.2 e anteriores, especifique o nome do arquivo de um script de inicialização para esse parâmetro. O script do lançador deve estar preparado para empacotar seu script de treinamento e configurar o ambiente de treinamento distribuído. Para obter mais informações, veja os cadernos de seguintes exemplos:
-
source_dir(str): Opcional. Adicione isso se precisar instalar pacotes adicionais. Para instalar pacotes, você precisa preparar um arquivorequirements.txtnesse diretório. -
instance_count(int): Obrigatório. Especifique o número de instâncias. -
instance_type(str): Obrigatório. Especifique o tipo de instância. -
transformers_version(str) — Exigido somente ao usar o estimador SageMaker AI Hugging Face. Especifique a versão da biblioteca Hugging Face Transformers suportada pelo SageMaker Training Compiler. Para encontrar as versões disponíveis, consulte Estruturas compatíveis. -
framework_versionoupytorch_version(str): Obrigatório. Especifique a PyTorch versão suportada pelo SageMaker Training Compiler. Para encontrar as versões disponíveis, consulte Estruturas compatíveis.nota
Ao usar o estimador SageMaker AI Hugging Face, você deve especificar e.
transformers_versionpytorch_version -
hyperparameters(dict): Opcional. Especifique hiperparâmetros para o trabalho de treinamenton_gpus,batch_sizee.learning_rateAo ativar o SageMaker Training Compiler, experimente lotes maiores e ajuste a taxa de aprendizado de acordo. Para encontrar estudos de caso sobre o uso do compilador e tamanhos de lote ajustados para melhorar a velocidade de treinamento, consulte Modelos testados e SageMaker Exemplos de cadernos e blogs do compilador de treinamento.nota
Para executar um treinamento distribuído com o SageMaker Training Compiler e a versão PyTorch v1.10.2 e anteriores, você precisa adicionar um parâmetro adicional,
"training_script", para especificar seu script de treinamento, conforme mostrado no exemplo de código anterior. -
compiler_config(TrainingCompilerConfig objeto) — Necessário para ativar o SageMaker Training Compiler. Inclua esse parâmetro para ativar o SageMaker Training Compiler. Veja a seguir os parâmetros para a classeTrainingCompilerConfig.-
enabled(bool): Opcional. EspecifiqueTrueouFalseative ou desative o SageMaker Training Compiler. O valor padrão éTrue. -
debug(bool): Opcional. Para receber logs de treinamento mais detalhados de seus trabalhos de treinamento acelerados por compilador, altere-os paraTrue. No entanto, o registro adicional pode aumentar a sobrecarga e retardar o trabalho de treinamento compilado. O valor padrão éFalse.
-
-
distribution(dict): Opcional. Para executar um trabalho de treinamento distribuído com o SageMaker Training Compiler, adicionedistribution = { 'pytorchxla' : { 'enabled': True }}.
Atenção
Se você ativar o SageMaker Debugger, isso poderá afetar o desempenho do Training Compiler. SageMaker Recomendamos que você desative o Debugger ao executar o SageMaker Training Compiler para garantir que não haja impacto no desempenho. Para obter mais informações, consulte Considerações. Para desativar as funcionalidades do Depurador, adicione os dois argumentos a seguir ao estimador.
disable_profiler=True, debugger_hook_config=False
Se o trabalho de treinamento com o compilador for iniciado com êxito, você receberá os seguintes logs durante a fase de inicialização do trabalho:
-
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
Usando a operação CreateTrainingJob da API SageMaker AI
SageMaker As opções de configuração do compilador de treinamento devem ser especificadas por meio do HyperParameters campo AlgorithmSpecification e na sintaxe de solicitação para a operação da CreateTrainingJob API.
"AlgorithmSpecification": { "TrainingImage": "<sagemaker-training-compiler-enabled-dlc-image>" }, "HyperParameters": { "sagemaker_training_compiler_enabled": "true", "sagemaker_training_compiler_debug_mode": "false", "sagemaker_pytorch_xla_multi_worker_enabled": "false" // set to "true" for distributed training }
Para encontrar uma lista completa de URIs de imagens de contêiner de aprendizado profundo que têm o SageMaker Training Compiler implementado, consulte. Estruturas compatíveis