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.
Utilisation de la bibliothèque SMDDP dans un script d’entraînement PyTorch
À partir de la version 1.4.0, vous pouvez utiliser la bibliothèque SageMaker AI de parallélisme distribué des données (SMDDP) comme option de système dorsal pour le package distribué PyTorchAllReduce et AllGather SMDDP, il vous suffit d’importer la bibliothèque SMDDP au début du script d’entraînement et de définir SMDDP comme système dorsal des modules distribués PyTorch lors de l’initialisation du groupe de processus. Avec la seule ligne de spécification du système dorsal, vous pouvez garder inchangés l’ensemble des modules distribués PyTorch et l’intégralité du script d’entraînement. Les extraits de code suivants montrent comment utiliser la bibliothèque SMDDP comme système dorsal des packages d’entraînement distribué basés sur PyTorch : PyTorch Distributed 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 tâches PyTorch DDP uniquement) Le système dorsal smddp ne prend actuellement pas en charge la création de groupes de sous-processus avec l’API torch.distributed.new_group(). Vous ne pouvez pas utiliser le système dorsal smddp en même temps que d’autres systèmes dorsaux de groupes de processus tels que NCCL et 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 utiliser la fonction AllGather SMDDP avec les lanceurs basés sur mpirun (smdistributed et pytorchddp) dans Lancement de tâches d’entraînement distribué avec SMDDP à l’aide du kit 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 l’écriture d’un script d’entraînement PyTorch FSDP, consultez Advanced Model Training with Fully Sharded Data Parallel (FSDP)
Pour obtenir des conseils généraux sur l’écriture d’un script d’entraînement DDP PyTorch, 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 d’entraînement distribué avec SMDDP à l’aide du kit SageMaker Python SDK.