Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden Sie die SMDDP-Bibliothek in Ihrem Trainingsskript PyTorch
Ausgehend von der SMDDP-Bibliothek ( SageMaker AI Distributed Data Parallelism) v1.4.0 können Sie die Bibliothek als Backend-Option für das verteilte Paket verwenden. PyTorch AllReduce - und AllGather kollektiven Operationen zu verwenden, müssen Sie nur die SMDDP-Bibliothek zu Beginn Ihres Trainingsskripts importieren und SMDDP während der Prozessgruppeninitialisierung als Backend für verteilte Module festlegen. PyTorch Mit der einzigen Zeile der Backend-Spezifikation können Sie alle nativen PyTorch verteilten Module und das gesamte Trainingsskript unverändert lassen. Die folgenden Codefragmente zeigen, wie die SMDDP-Bibliothek als Backend für PyTorch-based verteilte Trainingspakete verwendet werden kann: PyTorch Distributed Data Parallel (DDP)
PyTorch Für DDP oder FSDP
Initialisieren Sie die Prozessgruppe wie folgt.
import torch.distributed as dist import smdistributed.dataparallel.torch.torch_smddp dist.init_process_group(backend="smddp")
Anmerkung
(Nur für PyTorch DDP-Jobs) Das smddp Backend unterstützt derzeit nicht das Erstellen von Unterprozessgruppen mit der API. torch.distributed.new_group() Sie können das smddp-Backend auch nicht gleichzeitig mit anderen Prozessgruppen-Backends wie NCCL und Gloo verwenden.
DeepSpeed Für oder Megatron-DeepSpeed
Initialisieren Sie die Prozessgruppe wie folgt.
import deepspeed import smdistributed.dataparallel.torch.torch_smddp deepspeed.init_distributed(dist_backend="smddp")
Anmerkung
Um SMDDP AllGather mit den mpirun-basierten Launchern (smdistributed und pytorchddp) in Starten verteilter Trainingsjobs mit SMDDP mithilfe des SageMaker Python-SDK zu verwenden, müssen Sie außerdem die folgende Umgebungsvariable in Ihrem Trainingsskript festlegen.
export SMDATAPARALLEL_OPTIMIZE_SDP=true
Allgemeine Anleitungen zum Schreiben eines PyTorch FSDP-Trainingsskripts finden Sie in der Dokumentation unter Advanced Model Training with Fully Sharded Data Parallel (FSDP)
Eine allgemeine Anleitung zum Schreiben eines PyTorch DDP-Trainingsskripts finden Sie in der Dokumentation unter Erste Schritte mit verteilten Daten parallel
Nachdem Sie die Anpassung Ihres Trainingsskripts abgeschlossen haben, fahren Sie mit Starten verteilter Trainingsjobs mit SMDDP mithilfe des SageMaker Python-SDK fort.