Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisez la SMDDP bibliothèque dans votre script PyTorch d'entraînement
À partir de la bibliothèque de parallélisme de données SageMaker distribué (SMDDP) v1.4.0, vous pouvez utiliser la bibliothèque comme option de backend pour le package distribué. PyTorch AllReduce
les opérations AllGather
collectives, il vous suffit d'importer la SMDDP bibliothèque au début de votre script de formation et de la définir SMDDP comme backend des modules PyTorch distribués lors de l'initialisation du groupe de processus. Avec une seule ligne de spécification du backend, vous pouvez conserver tous les modules PyTorch distribués natifs et l'intégralité du script de formation inchangés. Les extraits de code suivants montrent comment utiliser la SMDDP bibliothèque en tant que backend de packages de formation PyTorch distribués : distributed PyTorch data parallel (DDP)
Pour PyTorch DDP ou FSDP
Initialisez le groupe de processus comme suit.
import torch.distributed as dist import smdistributed.dataparallel.torch.torch_smddp dist.init_process_group(backend="smddp")
Note
(Pour les PyTorch DDP tâches uniquement) Le smddp
backend ne prend actuellement pas en charge la création de groupes de sous-processus avec le. torch.distributed.new_group()
API Vous ne pouvez pas non plus utiliser le smddp
backend simultanément avec d'autres backends de groupes de processus tels que et. NCCL
Gloo
Pour DeepSpeed ou Megatron- DeepSpeed
Initialisez le groupe de processus comme suit.
import deepspeed import smdistributed.dataparallel.torch.torch_smddp deepspeed.init_distributed(dist_backend="smddp")
Note
Pour l'utiliser SMDDP AllGather
avec les lanceurs mpirun
basés (smdistributed
etpytorchddp
)Lancement de tâches de formation distribuées à SMDDP l'aide de SageMaker Python SDK, vous devez également définir la variable d'environnement suivante dans votre script d'entraînement.
export SMDATAPARALLEL_OPTIMIZE_SDP=true
Pour obtenir des conseils généraux sur la rédaction d'un script d' PyTorch FSDPentraînement, voir Advanced Model Training with Fully Sharded Data Parallel (FSDP)
Pour obtenir des conseils généraux sur la rédaction d'un script de PyTorch DDP formation, consultez Getting started with distributed data parallel
Une fois que vous avez terminé d'adapter votre scénario d'entraînement, passez à Lancement de tâches de formation distribuées à SMDDP l'aide de SageMaker Python SDK.