

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Utilice la biblioteca SMDDP en su guion de formación PyTorch
<a name="data-parallel-modify-sdp-pt"></a>

[A partir de la biblioteca de paralelismo de datos distribuidos (SMDDP) de SageMaker IA, versión 1.4.0, puede utilizarla como una opción de back-end para el paquete distribuido. PyTorch ](https://pytorch.org/tutorials/beginner/dist_overview.html) Para usar el SMDDP `AllReduce` y las operaciones `AllGather` colectivas, solo necesita importar la biblioteca SMDDP al principio del script de entrenamiento y configurar SMDDP como el servidor de los módulos distribuidos durante la inicialización del grupo de procesos. PyTorch Con la especificación de backend de una sola línea, puede mantener intactos todos los módulos distribuidos nativos PyTorch y todo el guion de formación. [Los siguientes fragmentos de código muestran cómo utilizar la biblioteca SMDDP como backend de los paquetes de formación distribuidos PyTorch basados en [PyTorch datos: distributed data parallel (DDP), [PyTorch fully sharded data paralelism](https://pytorch.org/docs/stable/fsdp.html) (FSDP)](https://pytorch.org/docs/stable/notes/ddp.html) y Megatron-. [DeepSpeed](https://github.com/microsoft/DeepSpeed)DeepSpeed](https://github.com/microsoft/Megatron-DeepSpeed)

## PyTorch Para DDP o FSDP
<a name="data-parallel-enable-for-ptddp-ptfsdp"></a>

Inicialice el grupo de procesos de la siguiente manera.

```
import torch.distributed as dist
import smdistributed.dataparallel.torch.torch_smddp

dist.init_process_group(backend="smddp")
```

**nota**  
(Solo para trabajos de PyTorch DDP) Actualmente, el `smddp` backend no admite la creación de grupos de subprocesos con la API. `torch.distributed.new_group()` No puede usar el backend `smddp` simultáneamente con otros backends de grupos de procesos, como `NCCL` y `Gloo`.

## Para DeepSpeed Megatron- DeepSpeed
<a name="data-parallel-enable-for-deepspeed"></a>

Inicialice el grupo de procesos de la siguiente manera.

```
import deepspeed
import smdistributed.dataparallel.torch.torch_smddp

deepspeed.init_distributed(dist_backend="smddp")
```

**nota**  
Para usar `AllGather` de SMDDP con los lanzadores basados en `mpirun` (`smdistributed` y `pytorchddp`) en [Lanzamiento de trabajos de formación distribuidos con SMDDP mediante el SDK de Python SageMaker](data-parallel-use-api.md), también debe establecer la siguiente variable de entorno en el script de entrenamiento.  

```
export SMDATAPARALLEL_OPTIMIZE_SDP=true
```

Para obtener orientación general sobre cómo escribir un guion de entrenamiento del PyTorch FSDP, consulte Capacitación [avanzada de modelos con datos totalmente fragmentados en paralelo (FSDP](https://pytorch.org/tutorials/intermediate/FSDP_adavnced_tutorial.html)) en la documentación. PyTorch

Para obtener orientación general sobre cómo escribir un guion de formación sobre PyTorch DDP, consulte [Introducción a los datos distribuidos en paralelo](https://pytorch.org/tutorials/intermediate/ddp_tutorial.html) en la PyTorch documentación.

Cuando haya terminado de adaptar su script de entrenamiento, continúe con [Lanzamiento de trabajos de formación distribuidos con SMDDP mediante el SDK de Python SageMaker](data-parallel-use-api.md).