

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
<a name="data-parallel-modify-sdp-pt"></a>

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 ](https://pytorch.org/tutorials/beginner/dist_overview.html) Um die SMDDP `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)](https://pytorch.org/docs/stable/notes/ddp.html), [ PyTorch Fully Sharded Data Parallelism (FSDP) und. ](https://pytorch.org/docs/stable/fsdp.html) [ DeepSpeed ](https://github.com/microsoft/DeepSpeed) [ Megatron-DeepSpeed ](https://github.com/microsoft/Megatron-DeepSpeed)

## PyTorch Für DDP oder FSDP
<a name="data-parallel-enable-for-ptddp-ptfsdp"></a>

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
<a name="data-parallel-enable-for-deepspeed"></a>

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](data-parallel-use-api.md) 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)](https://pytorch.org/tutorials/intermediate/FSDP_adavnced_tutorial.html). PyTorch

Eine allgemeine Anleitung zum Schreiben eines PyTorch DDP-Trainingsskripts finden Sie in der Dokumentation unter [ Erste Schritte mit verteilten Daten parallel](https://pytorch.org/tutorials/intermediate/ddp_tutorial.html). PyTorch 

Nachdem Sie die Anpassung Ihres Trainingsskripts abgeschlossen haben, fahren Sie mit [Starten verteilter Trainingsjobs mit SMDDP mithilfe des SageMaker Python-SDK](data-parallel-use-api.md) fort.