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 SageMaker model parallelism ()SMP. Se você tiver mais perguntas sobre a SMP biblioteca, entre em contato com a equipe SMP de serviço emsm-model-parallel-feedback@amazon.com.

A biblioteca de paralelismo de SageMaker modelos v2.5.0

Data: 28 de agosto de 2024

SMPatualizações da biblioteca

Novos atributos

  • Foi adicionado suporte para treinamento de precisão mista usando formato de FP8 dados em instâncias P5 para o modelo Mixtral.

  • Foi adicionado suporte Paralelismo de contexto para as seguintes configurações de modelo.

    • Llama-v2:7B e 70B

    • Llama-v3:8B e 70B

    • GPT-NeoX: 20B

  • Foi adicionado suporte para salvar pontos de verificação de forma assíncrona. Para saber mais, consulte Ponto de verificação usando SMP.

    • Support para salvar pontos de verificação diretamente no S3 sem usar a Amazon EBS ou servidores de arquivos.

Correções de erros

  • Resolveu um problema que causava uma perda inicial inesperadamente alta durante o ajuste fino 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 FP8 mista, você precisará verificar as camadas de atenção e especialista separadamente. Para ver um exemplo de como configurá-lo corretamente, consulte o exemplo de script de treinamento no repositório Amazon SageMaker Examples.

Problemas conhecidos

  • O tipo de balanceamento de carga balanceado 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, GPT -NeoX mostra regressão de desempenho tanto no pré-treinamento quanto no ajuste fino.

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

SMPContêiner Docker

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

Atualizações de moeda

Detalhes do contêiner

  • SMPContêiner Docker para PyTorch v2.3.1 com v12.1 CUDA

    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 SMP biblioteca v2.5.0

    • A SMDDP biblioteca v2.3.0

    • CUDNNv8.9.7.29

    • FlashAttention v2.5.8

    • TransformerEngine v1.8

    • Megatron v0.7.0

    • Transformadores Hugging Face v4.40.1

    • Biblioteca de conjuntos de dados Hugging Face v2.19.0

    • EFAv1.32.0

    • NCCLv2.21.5

SMPCanal Conda

O bucket S3 a seguir é o canal público Conda da SMP biblioteca hospedada pela equipe de SMP serviço. 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.4.0

Data: 20 de junho de 2024

SMPatualizações da biblioteca

Correções de erros

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

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.

SMPContêiner Docker

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

Atualizações de moeda

  • Atualizou a SMDDP biblioteca para a v2.3.0.

  • Atualizou a NCCL biblioteca para a v2.21.5.

  • Atualizou o EFA software para v1.32.0.

Depreciações

Detalhes do contêiner

  • SMPContêiner Docker para PyTorch v2.3.1 com v12.1 CUDA

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

    • A SMP biblioteca v2.4.0

    • A SMDDP biblioteca v2.3.0

    • CUDNNv8.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

    • EFAv1.32.0

    • NCCLv2.21.5

SMPCanal Conda

O bucket S3 a seguir é o canal público Conda da SMP biblioteca hospedada pela equipe de SMP serviço. 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.

SMPContêiner Docker

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

  • SMPContêiner Docker para PyTorch v2.2.0 com v12.1 CUDA

    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.

SMPContêiner Docker

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

  • SMPContêiner Docker para PyTorch v2.2.0 com v12.1 CUDA

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

      • A SMDDP biblioteca v2.2.0

      • CUDNNv8.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

      • EFAv1.30.0

      • NCCLv2.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 o FP8treinamento 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 SMDDP biblioteca para a v2.2.0.

  • Atualizou a FlashAttention biblioteca para a v2.3.3.

  • Atualizou a NCCL biblioteca para a v2.19.4.

Depreciação

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

Problemas conhecidos

Outras mudanças

SMPContêiner Docker

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

  • SMPContêiner Docker para PyTorch v2.2.0 com v12.1 CUDA

    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 SMDDP biblioteca v2.2.0

      • CUDNNv8.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

      • EFAv1.30.0

      • NCCLv2.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 e faz FSDP 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 SMP transformador use_smp_implementation=True configurando.

SMPContêiner Docker

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

  • SMPContêiner Docker para PyTorch v2.1.2 com v12.1 CUDA

    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 SMDDP biblioteca v2.1.0

      • CUDNNv8.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

      • EFAv1.30.0

SMPCanal Conda

O bucket S3 a seguir é um canal público da Conda hospedado pela equipe de SMP serviço. 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 SageMaker model parallelism (SMP) v2.0.0 com as seguintes novas ofertas.

Alterações significativas

  • SMPA v2 o reformulou APIs completamente 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 a SMP v2, consulte. Use a biblioteca de paralelismo de SageMaker modelos v2

  • Se você usou a SMP v1 para treinar modelos do Hugging Face Transformer e deseja reutilizar os modelos na v2, consulte. SMP Atualize da SMP v1 para a SMP v2

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

Problemas conhecidos

  • Atualmente, o ponto de verificação de ativação funciona apenas com as seguintes políticas de empacotamento com. FSDP

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

  • Para usarAtivação e descarregamento, o tipo FSDP de ponto de verificação de ativação 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 SMP biblioteca 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 na v2. SMP

  • Não há suporte para a DeepSpeed biblioteca em favor da nativa PyTorchFSDP.

SMPContêiner Docker

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

  • SMPContêiner Docker para PyTorch v2.0.1 com v12.1 CUDA

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