Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzate la libreria SMDDP nello script di addestramento PyTorch
A partire dalla libreria SageMaker AI Distributed Data Parallelism (SMDDP) v1.4.0, puoi utilizzare la libreria come opzione di backend per il pacchetto distribuito. PyTorch AllReduce
e le operazioni AllGather
collettive, è sufficiente importare la libreria SMDDP all'inizio dello script di formazione e impostare SMDDP come backend dei moduli distribuiti durante l'inizializzazione del gruppo di processi. PyTorch Con la singola riga di specifiche del backend, è possibile mantenere invariati tutti i moduli distribuiti nativi PyTorch e l'intero script di formazione. I seguenti frammenti di codice mostrano come utilizzare la libreria SMDDP come backend di pacchetti di formazione distribuiti PyTorch basati: distributed PyTorch data parallel (DDP), PyTorch Fully Sharded Data Parallelism (FSDP)
PyTorch Per DDP o FSDP
Inizializza il gruppo di processi come segue.
import torch.distributed as dist import smdistributed.dataparallel.torch.torch_smddp dist.init_process_group(backend="smddp")
Nota
(Solo per i lavori PyTorch DDP) Il smddp
backend attualmente non supporta la creazione di gruppi di sottoprocessi con l'API. torch.distributed.new_group()
Inoltre, non è possibile utilizzare il smddp
backend contemporaneamente ad altri backend di gruppi di processi come e. NCCL
Gloo
Per DeepSpeed o Megatron- DeepSpeed
Inizializza il gruppo di processi come segue.
import deepspeed import smdistributed.dataparallel.torch.torch_smddp deepspeed.init_distributed(dist_backend="smddp")
Nota
Per utilizzare SMDDP AllGather
con i launcher mpirun
basati (smdistributed
andpytorchddp
) inAvvio di lavori di formazione distribuiti con SMDDP utilizzando Python SDK SageMaker , è inoltre necessario impostare la seguente variabile di ambiente nello script di addestramento.
export SMDATAPARALLEL_OPTIMIZE_SDP=true
Per indicazioni generali sulla scrittura di uno script di formazione PyTorch FSDP, consultate Advanced Model Training with Fully Sharded Data Parallel
Per indicazioni generali sulla scrittura di uno script di addestramento PyTorch DDP, consulta Getting started with distributed data parallel
Dopo aver completato l'adattamento dello script di addestramento, procedi con Avvio di lavori di formazione distribuiti con SMDDP utilizzando Python SDK SageMaker .