Notas de lançamento da biblioteca de paralelismo de modelos do SageMaker - 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á.

Notas de lançamento da biblioteca de paralelismo de modelos do SageMaker

Veja as seguintes notas da versão para acompanhar as atualizações mais recentes da biblioteca de modelos de paralelismo do SageMaker (SMP): Se tiver mais dúvidas sobre a biblioteca de SMP, entre em contato com a equipe de serviço de SMP em sm-model-parallel-feedback@amazon.com.

Biblioteca de paralelismo de modelos do SageMaker v2.8.0

Data: 1.º de abril de 2025

Atualizações da biblioteca de SMP

Correções de bugs

  • O recorte de norma de gradiente da SMP agora permite descarregamento de ativação.

Contêineres do Docker e Enroot da SMP

A equipe da biblioteca de SMP distribui os contêineres do Docker para substituir os contêineres da estrutura do PyTorch do SageMaker. Se você usar a classe de estimadores do PyTorch no SageMaker Python SDK e especificar a configuração de distribuição para usar a SMP v2, o SageMaker AI selecionará automaticamente os contêineres do Docker da SMP. Para usar essa versão da SMP v2, atualize o SageMaker Python SDK para a versão v2.243.0 ou posterior.

Atualizações de moeda

  • Adição de compatibilidade com o PyTorch v2.5.1.

  • Suporte ao CUDA atualizado para v12.4.

  • Suporte à NCCL atualizado para v2.23.4.

  • Biblioteca SMDDP atualizada para 2.6.0.

Detalhes do contêiner

  • Contêiner do Docker da SMP para PyTorch v2.5.1 com CUDA v12.4

    658645717510.dkr.ecr.<us-west-2>.amazonaws.com/smdistributed-modelparallel:2.5.1-gpu-py311-cu124
  • Contêiner Enroot da SMP para PyTorch v2.5.1 com CUDA v12.4

    https://sagemaker-distributed-model-parallel.s3.<us-west-2>.amazonaws.com/enroot/2.5.1-gpu-py311-cu124.sqsh
  • Pacotes pré-instalados.

    • Biblioteca de SMP v2.8.0

    • A biblioteca de SMDDP v2.6.0

    • CUDNN v9.4.0

    • FlashAttention v2.5.8

    • TransformerEngine v1.10

    • Megatron v0.8.0

    • Hugging Face Transformers v4.44.2

    • Biblioteca de conjuntos de dados Hugging Face v2.19.0

    • EFA v1.36.0

    • NCCL v2.23.4

    • AWS-OFI-NCCL v1.13.2

Canal SMP Conda

O bucket do S3 a seguir é o canal público Conda da biblioteca de SMP hospedada pela equipe de serviço de SMP. Se quiser instalar a biblioteca de SMP v2 em um ambiente como clusters do SageMaker HyperPod, use esse canal Conda para instalar adequadamente a biblioteca de SMP.

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Para obter mais informações sobre os canais Conda em geral, consulte Canais, na documentação Conda.

Biblioteca de paralelismo de modelos do SageMaker v2.7.0

Data: 4 de dezembro de 2024

Atualizações da biblioteca de SMP

Novos recursos

Contêineres do Docker e Enroot da SMP

A equipe da biblioteca de SMP distribui os contêineres do Docker para substituir os contêineres do framework PyTorch do SageMaker. Se você usar a função de estimador do PyTorch no SageMaker Python SDK e especificar a configuração de distribuição para usar o SMP v2, o SageMaker selecionará automaticamente os contêineres do Docker do SMP. Para usar essa versão da SMP v2, atualize o SageMaker Python SDK para a versão v2.237.0 ou posterior.

Detalhes do contêiner

  • Contêiner do Docker do SMP para PyTorch v2.4.1 com CUDA v12.1

    658645717510.dkr.ecr.<us-west-2>.smdistributed-modelparallel:2.4.1-gpu-py311-cu121
  • Contêiner Enroot da SMP para PyTorch v2.4.1 com CUDA v12.1

    https://sagemaker-distributed-model-parallel.s3.<us-west-2>.amazonaws.com/enroot/2.4.1-gpu-py311-cu121.sqsh
  • Pacotes pré-instalados.

    • Biblioteca de SMP v2.7.0

    • A biblioteca de SMDDP v2.5.0

    • CUDNN v9.4.0

    • FlashAttention v2.5.8

    • TransformerEngine v1.10

    • Megatron v0.8.0

    • Hugging Face Transformers v4.44.2

    • Biblioteca de conjuntos de dados Hugging Face v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

Canal SMP Conda

O bucket do S3 a seguir é o canal público Conda da biblioteca de SMP hospedada pela equipe de serviço de SMP. Se quiser instalar a biblioteca de SMP v2 em um ambiente Conda, como clusters do SageMaker HyperPod, use esse canal Conda para instalar adequadamente a biblioteca de SMP.

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Para obter mais informações sobre os canais Conda em geral, consulte Canais, na documentação Conda.

Biblioteca de paralelismo de modelos do SageMaker v2.6.1

Data: 31 de outubro de 2024

Atualizações da biblioteca de SMP

Correções de bugs

  • Corrigido o problema ImportError que ocorria ao usar scripts de treinamento mais antigos com a SMP v2.6.0. Isso corrige a incompatibilidade de versões anteriores com a SMP v2.6.0.

  • Foi adicionado um DeprecationWarning para torch.sagemaker.distributed.fsdp.checkpoint. Este módulo será descontinuado e removido da SMP v2.7.0. Se no momento você está usando torch.sagemaker.distributed.fsdp.checkpoint em seu código, planeje atualizar seus scripts antes do lançamento da SMP v2.7.0 para evitar problemas no futuro.

  • Foi corrigido um problema de compatibilidade com versões anteriores identificado na SMP v2.6.0. Esse problema estava relacionado à descontinuação do método de ponto de verificação USE_PG_WITH_UTIL na SMP v2.6.0, que interrompeu a compatibilidade com versões anteriores dos scripts de treinamento. Para resolver esse problema, execute novamente sua tarefas de treinamento do PyTorch para obter o contêiner da SMP mais recente fornecido com a SMP v2.6.1.

Contêiner do Docker do SMP

A equipe da biblioteca de SMP distribui os contêineres do Docker para substituir os contêineres da estrutura do PyTorch do SageMaker. Se você usar a classe de estimadores do PyTorch no SageMaker Python SDK e especificar a configuração de distribuição para usar a SMP v2, o SageMaker AI selecionará automaticamente os contêineres do Docker da SMP.

Detalhes do contêiner

  • Contêiner do Docker do SMP para PyTorch v2.4.1 com CUDA v12.1

    658645717510.dkr.ecr.<us-west-2>.amazonaws.com/smdistributed-modelparallel:2.4.1-gpu-py311-cu121
  • Pacotes pré-instalados.

    • Biblioteca de SMP v2.6.1

    • A biblioteca de SMDDP v2.5.0

    • CUDNN v9.4.0

    • FlashAttention v2.5.8

    • TransformerEngine v1.10

    • Megatron v0.8.0

    • Hugging Face Transformers v4.44.2

    • Biblioteca de conjuntos de dados Hugging Face v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

Canal SMP Conda

O bucket do S3 a seguir é o canal público Conda da biblioteca de SMP hospedada pela equipe de serviço de SMP. Se quiser instalar a biblioteca de SMP v2 em um ambiente de recursos computacionais altamente personalizáveis, como clusters do SageMaker HyperPod, use esse canal Conda para instalar adequadamente a biblioteca de SMP.

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Para obter mais informações sobre os canais Conda em geral, consulte Canais, na documentação Conda.

A biblioteca de paralelismo de modelos do SageMaker v2.6.0

Data: 17 de outubro de 2024

Atualizações da biblioteca de SMP

Novos recursos

  • Foi adicionada compatibilidade com as seguintes configurações do modelo de LLM: Você pode começar a usar Paralelismo de contexto e Paralelismo de tensores.

  • Foi adicionada compatibilidade com Paralelismo de tensores para as seguintes configurações do modelo Mixtral:

  • Foi adicionada compatibilidade com uma implementação de paralelismo de contexto baseada em AllGather que utiliza o coletivo de comunicação AllGather para obter a sequência completa de tensores de chave e valor. As implementações disponíveis são p2p e all_gather. A implementação de p2p utiliza chamadas de envio e recebimento ponto a ponto para acúmulo de tensores de chave e valor (KV) durante o cálculo da atenção, funcionando de forma assíncrona e permitindo que a comunicação se sobreponha à computação. Por outro lado, a implementação de all_gather utiliza a operação coletiva de comunicação AllGather para o acúmulo de tensores de KV. Para saber como aplicar essa implementação de paralelismo de contexto, consulte Paralelismo de contexto.

  • Foi adicionada compatibilidade com ajustar o valor teta das incorporações de posições rotativas (RoPE).

Correções de bugs

  • Correção de um erro em que as incorporações de posições rotativas (RoPE) não eram inicializadas corretamente durante o pré-treinamento, quando o parâmetro atrasado estava ativado.

Problemas conhecidos

  • Atualmente, o Transformer Engine não comporta o paralelismo de contexto nem o FP8 com a atenção da janela deslizante ativada. Portanto, a versão do SMP dos transformadores Mistral não comporta o paralelismo de contexto nem o treinamento de FP8 quando a configuração da janela deslizante é definida como um valor não nulo.

Contêiner do Docker do SMP

A equipe da biblioteca de SMP distribui os contêineres do Docker para substituir os contêineres da estrutura do PyTorch do SageMaker. Se você usar a classe de estimadores do PyTorch no SageMaker Python SDK e especificar a configuração de distribuição para usar a SMP v2, o SageMaker AI selecionará automaticamente os contêineres do Docker da SMP.

Atualizações de moeda

  • Atualização do PyTorch para v2.4.1

  • Atualização do Megatron para v0.8.0

  • Atualização da biblioteca TransformerEngine para v1.10

  • Atualização do Transformers para v4.44.2

  • Atualização do cuDNN para v9.4.0.58

Detalhes do contêiner

  • Contêiner do Docker do SMP para PyTorch v2.4.1 com CUDA v12.1

    658645717510.dkr.ecr.<us-west-2>.amazonaws.com/smdistributed-modelparallel:2.4.1-gpu-py311-cu121
  • Pacotes pré-instalados.

    • A biblioteca de SMP v2.6.0

    • A biblioteca de SMDDP v2.5.0

    • CUDNN v9.4.0

    • FlashAttention v2.5.8

    • TransformerEngine v1.10

    • Megatron v0.8.0

    • Hugging Face Transformers v4.44.2

    • Biblioteca de conjuntos de dados Hugging Face v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

Canal SMP Conda

O bucket do S3 a seguir é o canal público Conda da biblioteca de SMP hospedada pela equipe de serviço de SMP. Se quiser instalar a biblioteca de SMP v2 em um ambiente de recursos computacionais altamente personalizáveis, como clusters do SageMaker HyperPod, use esse canal Conda para instalar adequadamente a biblioteca de SMP.

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Para obter mais informações sobre os canais Conda em geral, consulte Canais, na documentação Conda.

A biblioteca de paralelismo de modelos do SageMaker v2.5.0

Data: 28 de agosto de 2024

Atualizações da biblioteca de SMP

Novos recursos

  • Foi adicionada compatibilidade com treinamento de precisão mista com uso do formato de dados FP8 em instâncias P5 para o modelo Mixtral.

  • Foi adicionada compatibilidade com Paralelismo de contexto às seguintes configurações do modelo:

    • Llama-v2: 7B e 70B

    • Llama-v3: 8B e 70B

    • GPT-NeoX: 20B

  • Foi adicionada compatibilidade com salvar pontos de verificação de forma assíncrona. Para saber mais, consulte Ponto de verificação com uso do SMP.

    • Compatibilidade para salvar pontos de verificação diretamente no S3 sem usar o Amazon EBS nem servidores de arquivos.

Correções de bugs

  • Resolveu um problema que causava uma grande perda inicial inesperadamente durante o ajuste do Llama ao carregar um ponto de verificação de modelo pré-treinado e utilizar o paralelismo de tensores.

Observações

  • Para usar o ponto de verificação de ativação do Mixtral com precisão mista FP8, você precisará verificar as camadas de atenção e especializada separadamente. Para ver um exemplo de como configurá-lo corretamente, consulte o exemplo de script de treinamento, no repositório de exemplos do Amazon SageMaker AI.

Problemas conhecidos

  • O tipo de balanceador de carga equilibrado na configuração MoE (torch.sagemaker.moe.moe_config.MoEConfig) atualmente é incompatível com o ponto de verificação de ativação.

  • Com o paralelismo de contexto, o GPT-NeoX mostra regressão de desempenho, tanto no pré-treinamento quanto no ajuste.

  • Para o GPT-NeoX em instâncias P4, carregar pesos diretamente de um modelo tipo transformador inicializado com parâmetros atrasados em um modelo tipo transformador do Hugging Face leva a uma incompatibilidade de perdas na primeira etapa.

Contêiner do Docker do SMP

A equipe da biblioteca de SMP distribui os contêineres do Docker para substituir os contêineres da estrutura do PyTorch do SageMaker. Se você usar a classe de estimadores do PyTorch no SageMaker Python SDK e especificar a configuração de distribuição para usar a SMP v2, o SageMaker AI selecionará automaticamente os contêineres do Docker da SMP. Para usar essa versão do SMP v2, atualize seu SageMaker Python SDK para v2.224.0 ou versão posterior.

Atualizações de moeda

  • Atualização da biblioteca FlashAttention para v2.5.8

  • Atualização da biblioteca Transformer Engine para v1.8

    • Se quiser instalar o Transformer Engine em um ambiente Conda, você precisará criar a partir da fonte e escolher as correções específicas do upstream (744624d, 27c6342, 7669bf3).

Detalhes do contêiner

  • Contêiner do Docker do SMP para PyTorch v2.3.1 com CUDA v12.1

    658645717510.dkr.ecr.<region>.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121

    Para obter uma lista completa das regiões compatíveis, consulte Regiões da AWS.

  • Pacotes pré-instalados.

    • A biblioteca de SMP v2.5.0

    • A biblioteca de SMDDP v2.3.0

    • CUDNN v8.9.7.29

    • FlashAttention v2.5.8

    • TransformerEngine v1.8

    • Megatron v0.7.0

    • Hugging Face Transformers v4.40.1

    • Biblioteca de conjuntos de dados Hugging Face v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

Canal SMP Conda

O bucket do S3 a seguir é o canal público Conda da biblioteca de SMP hospedada pela equipe de serviço de SMP. Se quiser instalar a biblioteca de SMP v2 em um ambiente de recursos computacionais altamente personalizáveis, como clusters do SageMaker HyperPod, use esse canal Conda para instalar adequadamente a biblioteca de SMP.

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Para obter mais informações sobre os canais Conda em geral, consulte Canais, na documentação Conda.

A biblioteca de paralelismo de modelos do SageMaker v2.4.0

Data: 20 de junho de 2024

Atualizações da biblioteca de SMP

Correções de bugs

  • Correção de um erro que causa formas de logit incorretas quando os rótulos não são passados na passagem para frente ao usar o transformador de SMP.

Atualizações de moeda

  • Foi adicionada compatibilidade com PyTorch v2.3.1.

  • Foi adicionada compatibilidade com Python v3.11.

  • Foi adicionada compatibilidade com a biblioteca Hugging Face Transformers v4.40.1.

Defasagens

  • Encerramento da compatibilidade com Python v3.10.

  • Encerramento de compatibilidade com as versões da biblioteca Hugging Face Transformers anteriores à v4.40.1.

Outras alterações

  • Inclusão de um patch para ativar o salvamento a eliminação de tensores duplicados em diferentes níveis. Para saber mais, consulte o tópico de discussão, no repositório PyTorch no GitHub.

Problemas conhecidos

  • Há um problema conhecido de que a perda pode aumentar e, em seguida, retomar com um valor de perda mais alto enquanto ajusta o Llama-3 70B ao paralelismo de tensores.

Contêiner do Docker do SMP

A equipe da biblioteca de SMP distribui os contêineres do Docker para substituir os contêineres da estrutura do PyTorch do SageMaker. Se você usar a classe de estimadores do PyTorch no SageMaker Python SDK e especificar a configuração de distribuição para usar a SMP v2, o SageMaker AI selecionará automaticamente os contêineres do Docker da SMP. Para usar essa versão do SMP v2, atualize seu SageMaker Python SDK para v2.224.0 ou versão posterior.

Atualizações de moeda

  • Atualização da biblioteca SMDDP para v2.3.0.

  • Atualização da biblioteca NCCL para v2.21.5.

  • Atualização do software EFA para v1.32.0.

Defasagens

Detalhes do contêiner

  • Contêiner do Docker do SMP para PyTorch v2.3.1 com CUDA v12.1

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121
  • Pacotes pré-instalados.

    • A biblioteca de SMP v2.4.0

    • A biblioteca de SMDDP v2.3.0

    • CUDNN v8.9.7.29

    • FlashAttention v2.3.3

    • TransformerEngine v1.2.1

    • Hugging Face Transformers v4.40.1

    • Biblioteca de conjuntos de dados Hugging Face v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

Canal SMP Conda

O bucket do S3 a seguir é o canal público Conda da biblioteca de SMP hospedada pela equipe de serviço de SMP. Se quiser instalar a biblioteca de SMP v2 em um ambiente de recursos computacionais altamente personalizáveis, como clusters do SageMaker HyperPod, use esse canal Conda para instalar adequadamente a biblioteca de SMP.

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Para obter mais informações sobre os canais Conda em geral, consulte Canais, na documentação Conda.

A biblioteca de paralelismo de modelos do SageMaker v2.3.1

Data: 9 de maio de 2024

Correções de bugs

  • Correção de um problema ImportError ao usar moe_load_balancing=balanced no torch.sagemaker.moe.moe_config.MoEConfig para paralelismo especializado.

  • Correção de um problema de ajuste em que a chamada torch.sagemaker.transform gerava KeyError quando o load_state_dict_from_rank0 estava habilitado.

  • Correção para ajuste de um erro de falta de memória (OOM) gerado ao carregar grandes modelos Mixture of Experts (MoE), como o Mixtral 8x22B.

Contêiner do Docker do SMP

A equipe da biblioteca de SMP distribui os contêineres do Docker para substituir os contêineres da estrutura do PyTorch do SageMaker. Esta versão inclui as correções de bugs mencionadas acima na seguinte imagem do Docker do SMP:

  • Contêiner do Docker do SMP para PyTorch v2.2.0 com CUDA v12.1

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121

A biblioteca de paralelismo de modelos do SageMaker v2.3.0

Data: 11 de abril de 2024

Novos recursos

  • Foi adicionado um novo atributo principal, o paralelismo especializado, para ser compatível com os modelos tipo transformador Mixture of Experts. Para saber mais, consulte Paralelismo especializado.

Contêiner do Docker do SMP

A equipe da biblioteca de SMP distribui os contêineres do Docker para substituir os contêineres da estrutura do PyTorch do SageMaker. Se você usar a função de estimador do PyTorch no SageMaker Python SDK e especificar a configuração de distribuição para usar o SMP v2, o SageMaker selecionará automaticamente os contêineres do Docker do SMP. Para usar essa versão do SMP v2, atualize seu SageMaker Python SDK para v2.214.4 ou versão posterior.

  • Contêiner do Docker do SMP para PyTorch v2.2.0 com CUDA v12.1

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121
    • Pacotes pré-instalados neste contêiner do Docker

      • A biblioteca de SMDDP v2.2.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Biblioteca de conjuntos de dados Hugging Face v2.16.1

      • Megatron-core 0.5.0

      • EFA v1.30.0

      • NCCL v2.19.4

A biblioteca de paralelismo de modelos do SageMaker v2.2.0

Data: 7 de março de 2024

Novos atributos

  • Foi adicionada compatibilidade com treinamento de FP8 dos seguintes modelos tipo transformador Hugging Face em instâncias P5 com integração ao Transformer Engine:

    • GPT-NeoX

    • Llama 2

Correções de bugs

  • Correção de um bug em que não era garantido que os tensores fossem contíguos antes da chamada coletiva AllGather, durante o treinamento de paralelismo de tensores.

Atualizações de moeda

  • Foi adicionada compatibilidade com PyTorch v2.2.0.

  • Atualização da biblioteca SMDDP para v2.2.0.

  • Atualização da biblioteca FlashAttention para v2.3.3.

  • Atualização da biblioteca NCCL para v2.19.4.

Desaprovação

  • Encerramento de compatibilidade com as versões do Transformer Engine anteriores à v1.2.0.

Problemas conhecidos

  • Atualmente, o atributo Ativação e descarregamento do SMP não funciona. Em vez disso, use o descarregamento de ativação nativo do PyTorch.

Outras alterações

Contêiner do Docker do SMP

A equipe da biblioteca de SMP distribui os contêineres do Docker para substituir os contêineres da estrutura do PyTorch do SageMaker. Se você usar a classe de estimadores do PyTorch no SageMaker Python SDK e especificar a configuração de distribuição para usar a SMP v2, o SageMaker AI selecionará automaticamente os contêineres do Docker da SMP. Para usar essa versão do SMP v2, atualize seu SageMaker Python SDK para v2.212.0 ou versão posterior.

  • Contêiner do Docker do SMP para PyTorch v2.2.0 com CUDA v12.1

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121
    • Disponível para instâncias P4d, P4de e P5

    • Pacotes pré-instalados neste contêiner do Docker

      • A biblioteca de SMDDP v2.2.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Biblioteca de conjuntos de dados Hugging Face v2.16.1

      • EFA v1.30.0

      • NCCL v2.19.4

A biblioteca de paralelismo de modelos do SageMaker v2.1.0

Data: 6 de fevereiro de 2024

Atualizações de moeda

  • Foi adicionada compatibilidade com PyTorch v2.1.2.

Desaprovação

  • Encerramento de compatibilidade com o Hugging Face Transformers v4.31.0.

Problemas conhecidos

  • Foi descoberto um problema: o ajuste do modelo Hugging Face Llama 2 com attn_implementation=flash_attention_2, e o FSDP causa divergência no modelo. Para referência, consulte o tíquete de problema, no repositório Hugging Face Transformers, no GitHub. Para evitar o problema de divergência, use attn_implementation=sdpa. Você também pode usar a implementação do modelo tipo transformador do SMP, ao configurar use_smp_implementation=True.

Contêiner do Docker do SMP

A equipe da biblioteca de SMP distribui os contêineres do Docker para substituir os contêineres da estrutura do PyTorch do SageMaker. Se você usar a função de estimador do PyTorch no SageMaker Python SDK e especificar a configuração de distribuição para usar o SMP v2, o SageMaker selecionará automaticamente os contêineres do Docker do SMP. Para usar essa versão do SMP v2, atualize seu SageMaker Python SDK para v2.207.0 ou versão posterior.

  • Contêiner do Docker do SMP para PyTorch v2.1.2 com CUDA v12.1

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.1.2-gpu-py310-cu121
    • Disponível para instâncias P4d, P4de e P5

    • Pacotes pré-instalados neste contêiner do Docker

      • A biblioteca de SMDDP v2.1.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Biblioteca de conjuntos de dados Hugging Face v2.16.1

      • EFA v1.30.0

Canal SMP Conda

O bucket do S3 a seguir é um canal público Conda hospedado pela equipe de serviço de SMP. Se quiser instalar a biblioteca de SMP v2 em um ambiente de recursos computacionais altamente personalizáveis, como clusters do SageMaker HyperPod, use esse canal Conda para instalar adequadamente a biblioteca de SMP.

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Para obter mais informações sobre os canais Conda em geral, consulte Canais, na documentação Conda.

A biblioteca de paralelismo de modelos do SageMaker v2.0.0

Data: 19 de dezembro de 2023

Novos recursos

Lançamento da biblioteca de paralelismo de modelos do SageMaker (SMP) v2:0:0 com as seguintes novas ofertas:

  • Um novo pacote torch.sagemaker, totalmente renovado em relação ao pacote smdistributed.modelparallel.torch anterior do SMP v1.x.

  • Compatibilidade com PyTorch 2.0.1.

  • Compatibilidade com FSDP do PyTorch.

  • Implementação do paralelismo de tensores por meio da integração com a biblioteca do Transformer Engine.

  • Compatibilidade com o SageMaker Training e o SageMaker HyperPod.

Alterações significativas

  • O SMP v2 reformulou totalmente as APIs e fornece o pacote torch.sagemaker. Na maioria das vezes, é necessário apenas inicializar com o módulo torch.sagemaker.init() e passar os parâmetros de configuração do paralelismo de modelos. Com esse novo pacote, você pode simplificar bastante as modificações de código no script de treinamento. Para saber mais sobre como adaptar seu script de treinamento para usar o SMP v2, consulte Utilize a biblioteca de paralelismo de modelos do SageMaker v2.

  • Se você já usou o SMP v1 para treinar modelos do Hugging Face Transformer e deseja reutilizar os modelos no SMP v2, consulte Atualização do SMP v1 para o SMP v2.

  • Para o treinamento do FSDP do PyTorch, você deve usar o SMP v2.

Problemas conhecidos

  • Atualmente, o ponto de verificação de ativação só funciona com as seguintes políticas de empacotamento com o FSDP:

    • auto_wrap_policy = functools.partial(transformer_auto_wrap_policy, ...)

  • Para usar Ativação e descarregamento, o tipo de ponto de verificação de ativação do FSDP deve ser REENTRANT.

  • Ao executar com uso do paralelismo de tensores habilitado com o grau de paralelismo de dados fragmentados definido como 1, você deve usar backend = nccl. A opção de backend smddp não é aceita nesse caso.

  • É necessário que o Transformer Engine use o PyTorch com a biblioteca de SMP, mesmo quando não estiver usando o paralelismo de tensores.

Outras alterações

Defasagens

  • Encerramento de compatibilidade com TensorFlow.

  • Não há compatibilidade com paralelismo de pipeline no SMP v2.

  • Não há compatibilidade com a biblioteca DeepSpeed em favor do FSDP do PyTorch nativo.

Contêiner do Docker do SMP

A equipe da biblioteca de SMP distribui os contêineres do Docker para substituir os contêineres da estrutura do PyTorch do SageMaker. Se você usar a classe de estimadores do PyTorch no SageMaker Python SDK e especificar a configuração de distribuição para usar a SMP v2, o SageMaker AI selecionará automaticamente os contêineres do Docker da SMP. Para usar essa versão do SMP v2, atualize seu SageMaker Python SDK para v2.207.0 ou versão posterior.

  • Contêiner do Docker do SMP para PyTorch v2.0.1 com CUDA v12.1

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.0.1-gpu-py310-cu121