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á.
Use a biblioteca SMDDP em seu script de treinamento PyTorch
A partir da biblioteca de paralelismo de dados distribuídos de SageMaker IA (SMDDP) v1.4.0, você pode usar a biblioteca como uma opção de back-end para o pacote distribuído. PyTorch AllReduce e as operações AllGather coletivas, você só precisa importar a biblioteca SMDDP no início do script de treinamento e definir o SMDDP como o back-end dos módulos distribuídos durante a inicialização do grupo de PyTorch processos. Com uma única linha de especificação de back-end, você pode manter todos os módulos PyTorch distribuídos nativos e todo o script de treinamento inalterados. Os trechos de código a seguir mostram como usar a biblioteca SMDDP como back-end de pacotes de treinamento PyTorch-based distribuídos: PyTorch dados distribuídos paralelos (DDP)
Para PyTorch DDP ou FSDP
Inicialize o grupo de processos da seguinte maneira:
import torch.distributed as dist import smdistributed.dataparallel.torch.torch_smddp dist.init_process_group(backend="smddp")
nota
(Somente para trabalhos de PyTorch DDP) Atualmente, o smddp back-end não oferece suporte à criação de grupos de subprocessos com a API. torch.distributed.new_group() Você não pode usar o backend smddp simultaneamente com outros backends de grupos de processos, como NCCL e Gloo.
Para DeepSpeed ou Megatron-DeepSpeed
Inicialize o grupo de processos da seguinte maneira:
import deepspeed import smdistributed.dataparallel.torch.torch_smddp deepspeed.init_distributed(dist_backend="smddp")
nota
Para usar o SMDDP AllGather com os iniciadores do mpirun (smdistributed e pytorchddp) em Lançamento de trabalhos de treinamento distribuídos com SMDDP usando o SDK do Python SageMaker, você também precisa definir a seguinte variável de ambiente em seu script de treinamento:
export SMDATAPARALLEL_OPTIMIZE_SDP=true
Para obter orientação geral sobre como escrever um script de treinamento de PyTorch FSDP, consulte Treinamento avançado de modelos com dados paralelos totalmente fragmentados (FSDP) na documentação.
Para obter orientação geral sobre como escrever um script de treinamento de PyTorch DDP, consulte Introdução aos dados distribuídos
Depois de concluir a adaptação do seu script de treinamento, prossiga para Lançamento de trabalhos de treinamento distribuídos com SMDDP usando o SDK do Python SageMaker.