

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Gunakan pustaka SMDDP dalam skrip pelatihan Anda PyTorch
<a name="data-parallel-modify-sdp-pt"></a>

Mulai dari pustaka paralelisme data terdistribusi SageMaker AI (SMDDP) v1.4.0, Anda dapat menggunakan pustaka sebagai opsi backend untuk paket terdistribusi. [ PyTorch ](https://pytorch.org/tutorials/beginner/dist_overview.html) Untuk menggunakan SMDDP `AllReduce` dan operasi `AllGather` kolektif, Anda hanya perlu mengimpor pustaka SMDDP di awal skrip pelatihan Anda dan menetapkan SMDDP sebagai backend modul terdistribusi selama inisialisasi grup proses. PyTorch Dengan satu baris spesifikasi backend, Anda dapat menyimpan semua modul ter PyTorch distribusi asli dan seluruh skrip pelatihan tidak berubah. Cuplikan kode berikut menunjukkan cara menggunakan pustaka SMDDP sebagai backend paket pelatihan terdistribusi: [ PyTorch paralel data terdistribusi PyTorch-based (DDP), paralelisme data tersharded [ PyTorch penuh (FSDP)](https://pytorch.org/docs/stable/fsdp.html),, dan. ](https://pytorch.org/docs/stable/notes/ddp.html) [ DeepSpeed ](https://github.com/microsoft/DeepSpeed) [ Megatron-DeepSpeed ](https://github.com/microsoft/Megatron-DeepSpeed)

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

Inisialisasi grup proses sebagai berikut.

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

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

**catatan**  
(Hanya untuk pekerjaan PyTorch DDP) `smddp` Backend saat ini tidak mendukung pembuatan grup subproses dengan API. `torch.distributed.new_group()` Anda juga tidak dapat menggunakan `smddp` backend secara bersamaan dengan backend grup proses lainnya seperti dan. `NCCL` `Gloo`

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

Inisialisasi grup proses sebagai berikut.

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

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

**catatan**  
Untuk menggunakan SMDDP `AllGather` dengan peluncur `mpirun` berbasis (`smdistributed`dan`pytorchddp`) di[Meluncurkan pekerjaan pelatihan terdistribusi dengan SMDDP menggunakan Python SDK SageMaker](data-parallel-use-api.md), Anda juga perlu mengatur variabel lingkungan berikut dalam skrip pelatihan Anda.  

```
export SMDATAPARALLEL_OPTIMIZE_SDP=true
```

Untuk panduan umum tentang penulisan skri PyTorch p pelatihan FSDP, lihat Pelatihan Model L [ anjutan dengan Paralel Data Terpisah Penuh (FSDP) dalam dokumentasi. ](https://pytorch.org/tutorials/intermediate/FSDP_adavnced_tutorial.html) PyTorch

Untuk panduan umum tentang menulis skri PyTorch p pelatihan DDP, lihat Mem [ ulai dengan data terdistribusi secara paralel ](https://pytorch.org/tutorials/intermediate/ddp_tutorial.html) dalam PyTorch dokumentasi.

Setelah Anda selesai mengadaptasi skrip pelatihan Anda, lanjutkan ke[Meluncurkan pekerjaan pelatihan terdistribusi dengan SMDDP menggunakan Python SDK SageMaker](data-parallel-use-api.md).