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

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

Consulte as notas de versão a seguir para acompanhar as atualizações mais recentes da biblioteca de paralelismo de SageMaker modelos (SMP). Se você tiver mais perguntas sobre a biblioteca SMP, entre em contato com a equipe de serviço do SMP em. sm-model-parallel-feedback@amazon.com

A biblioteca de paralelismo de SageMaker modelos v2.4.0

Data: 20 de junho de 2024

Atualizações da biblioteca SMP

Correções de erros

  • Corrigido 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 SMP.

Atualizações de moeda

  • Foi adicionado suporte para PyTorch v2.3.1.

  • Foi adicionado suporte para Python v3.11.

  • Foi adicionado suporte para a biblioteca Hugging Face Transformers v4.40.1.

Depreciações

  • Suporte descontinuado para Python v3.10.

  • Suporte descontinuado para as versões da biblioteca Hugging Face Transformers anteriores à v4.40.1.

Outras mudanças

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

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 com paralelismo de tensores.

Contêiner SMP Docker

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

Atualizações de moeda

  • Atualizou a biblioteca SMDDP para a versão 2.3.0.

  • Atualizou a biblioteca NCCL para v2.21.5.

  • Atualizou o software EFA para v1.32.0.

Depreciações

Detalhes do contêiner

  • Contêiner SMP Docker 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 SMP v2.4.0

    • A biblioteca SMDDP v2.3.0

    • CUDNN v8.9.7.29

    • FlashAttention v2.3.3

    • TransformerEngine v1.2.1

    • Transformadores Hugging Face 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 S3 a seguir é o canal público Conda da biblioteca SMP hospedada pela equipe de serviço SMP. Se você quiser instalar a biblioteca SMP v2 em um ambiente de recursos computacionais altamente personalizáveis, como SageMaker HyperPod clusters, use esse canal Conda para instalar adequadamente a biblioteca SMP.

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

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

A biblioteca de paralelismo de SageMaker modelos v2.3.1

Data: 9 de maio de 2024

Correções de erros

  • Corrigido um ImportError problema ao usar moe_load_balancing=balanced in torch.sagemaker.moe.moe_config.MoEConfig para paralelismo especializado.

  • Corrigido um problema de ajuste fino em que a torch.sagemaker.transform chamada era gerada KeyError quando load_state_dict_from_rank0 ativada.

  • Corrigido um erro out-of-memory (OOM) gerado ao carregar modelos grandes do Mixture of Experts (MoE), como o Mixtral 8x22B, para ajuste fino.

Contêiner SMP Docker

A equipe da biblioteca SMP distribui contêineres Docker em substituição aos contêineres da SageMaker PyTorch estrutura. Esta versão incorpora as correções de bugs mencionadas acima na seguinte imagem do SMP Docker.

  • Contêiner SMP Docker 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 SageMaker modelos v2.3.0

Data: 11 de abril de 2024

Novos atributos

  • Foi adicionado um novo recurso principal, o paralelismo especializado, para oferecer suporte aos modelos de transformadores Mixture of Experts. Para saber mais, consulte Paralelismo especializado.

Contêiner SMP Docker

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

  • Contêiner SMP Docker 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 Docker

      • A biblioteca SMDDP v2.2.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Transformadores Hugging Face 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 SageMaker modelos v2.2.0

Data: 7 de março de 2024

Novos recursos

  • Foi adicionado suporte para treinamento de FP8 dos seguintes modelos de transformadores Hugging Face em instâncias P5 com integração com o Transformer Engine:

    • GPT-Neox

    • Lhama 2

Correções de bugs

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

Atualizações de moeda

  • Foi adicionado suporte para PyTorch v2.2.0.

  • Atualizou a biblioteca SMDDP para a versão 2.2.0.

  • Atualizou a FlashAttention biblioteca para a v2.3.3.

  • Atualizou a biblioteca NCCL para v2.19.4.

Depreciação

  • Suporte descontinuado para versões do Transformer Engine anteriores à v1.2.0.

Problemas conhecidos

Outras mudanças

Contêiner SMP Docker

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

  • Contêiner SMP Docker 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 Docker

      • A biblioteca SMDDP v2.2.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Transformadores Hugging Face 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 SageMaker modelos v2.1.0

Data: 6 de fevereiro de 2024

Atualizações de moeda

  • Foi adicionado suporte para PyTorch v2.1.2.

Depreciação

  • Suporte descontinuado para Hugging Face Transformers v4.31.0.

Problemas conhecidos

  • Foi descoberto um problema: o ajuste fino do modelo Hugging Face Llama 2 com um FSDP faz com que o attn_implementation=flash_attention_2 modelo diverja. Para referência, consulte o tíquete de edição no repositório Hugging Face Transformers. GitHub Para evitar o problema de divergência, use. attn_implementation=sdpa Como alternativa, use a implementação do modelo de transformador SMP configurando. use_smp_implementation=True

Contêiner SMP Docker

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

  • Contêiner SMP Docker 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 Docker

      • A biblioteca SMDDP v2.1.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Transformadores Hugging Face v4.37.1

      • Biblioteca de conjuntos de dados Hugging Face v2.16.1

      • EFA v1.30.0

Canal SMP Conda

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

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

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

A biblioteca de paralelismo de SageMaker modelos v2.0.0

Data: 19 de dezembro de 2023

Novos atributos

Lançou a biblioteca de paralelismo de SageMaker modelos (SMP) v2.0.0 com as seguintes novas ofertas.

Alterações significativas

  • O SMP v2 reformulou totalmente as APIs e fornece o pacote. torch.sagemaker Na maioria das vezes, você só precisa inicializar com o torch.sagemaker.init() módulo e passar os parâmetros de configuração paralela do modelo. Com esse novo pacote, você pode simplificar significativamente as modificações de código em seu script de treinamento. Para saber mais sobre como adaptar seu script de treinamento para usar o SMP v2, consulte. Comece com a biblioteca de paralelismo de SageMaker modelos 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 treinamento em PyTorch FSDP, 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 ser usadoAtivação e descarregamento, o tipo de ponto de verificação de ativação do FSDP deve ser REENTRANT.

  • Ao executar com o tensor parallel habilitado com o grau paralelo de dados fragmentados definido como1, você deve usar. backend = nccl A opção smddp de back-end não é suportada nesse cenário.

  • É necessário usar o Transformer Engine PyTorch com a biblioteca SMP mesmo quando não está usando o paralelismo de tensores.

Outras mudanças

Depreciações

  • Suporte descontinuado para TensorFlow.

  • Não há suporte para paralelismo de pipeline no SMP v2.

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

Contêiner SMP Docker

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

  • Contêiner SMP Docker 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