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
-
A instalação da biblioteca Torch Distributed Experimental (TorchDistX
) foi interrompida.
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
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 usarmoe_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
quandoload_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
-
O Ativação e descarregamento recurso SMP atualmente não funciona. Em vez disso, use o descarregamento de PyTorch ativação nativo.
Outras mudanças
-
Incluiu um patch para corrigir a regressão de desempenho discutida no tópico do problema em https://github.com/pytorch/pytorch/issues/117748
no PyTorch GitHub repositório.
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órioHugging 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
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.
-
Um novo
torch.sagemaker
pacote, totalmente renovado em relação aosmdistributed.modelparallel.torch
pacote anterior no SMP v1.x. -
Support para PyTorch 2.0.1.
-
Support para PyTorch FSDP.
-
Implementação do paralelismo de tensores por meio da integração com a biblioteca Transformer Engine.
-
Support tanto para SageMaker Training quanto para SageMaker HyperPod.
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 otorch.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 como
1
, você deve usar.backend = nccl
A opçãosmddp
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
-
A partir desta versão, a documentação da biblioteca de paralelismo de SageMaker modelos está totalmente disponível neste Guia do desenvolvedor da Amazon SageMaker . Em favor deste guia completo do desenvolvedor para SMP v2 no Amazon SageMaker Developer Guide, a referência adicional para SMP v1.x
na documentação do SDK do SageMaker Python está obsoleta. Se você ainda precisar da documentação do SMP v1.x, o guia do desenvolvedor do SMP v1.x está disponível em, Biblioteca de paralelismo de SageMaker modelos (arquivada) v1.x e a referência da biblioteca SMP Python v1.x está disponível na documentação do SDK do Python v2.199.0. SageMaker
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