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 SMDDP biblioteca em seu script PyTorch de treinamento
A partir da biblioteca de paralelismo de dados SageMaker distribuídos (SMDDP) v1.4.0, você pode usar a biblioteca como uma opção de back-end para o pacote distribuído. PyTorch AllGather
coletivas SMDDP AllReduce
e as operações coletivas, você só precisa importar a SMDDP biblioteca no início do script de treinamento e defini-la SMDDP como back-end dos módulos PyTorch distribuídos durante a inicialização do grupo de processos. Com a ú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 SMDDP biblioteca como back-end de pacotes de treinamento distribuídos PyTorch baseados: distributed PyTorch data parallel (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 PyTorch DDP trabalhos) Atualmente, o smddp
back-end não oferece suporte à criação de grupos de subprocessos com o. torch.distributed.new_group()
API Você também não pode usar o smddp
back-end simultaneamente com outros back-ends de grupos de processos, como e. NCCL
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 SMDDP AllGather
com os lançadores mpirun
baseados (smdistributed
epytorchddp
) emLançamento de trabalhos de treinamento distribuídos com o SMDDP uso do SageMaker Python SDK, 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 PyTorch FSDP treinamento, consulte Treinamento avançado de modelos com dados paralelos totalmente fragmentados (FSDP)
Para obter orientação geral sobre como escrever um script de PyTorch DDP treinamento, consulte Getting started with distributed data parallel
Depois de concluir a adaptação do seu roteiro de treinamento, prossiga para Lançamento de trabalhos de treinamento distribuídos com o SMDDP uso do SageMaker Python SDK.