Gunakan SMDDP perpustakaan dalam skrip PyTorch pelatihan Anda - Amazon SageMaker

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

Gunakan SMDDP perpustakaan dalam skrip PyTorch pelatihan Anda

Mulai dari perpustakaan paralelisme data SageMaker terdistribusi (SMDDP) v1.4.0, Anda dapat menggunakan pustaka sebagai opsi backend untuk paket terdistribusi. PyTorch Untuk menggunakan operasi SMDDP AllReduce dan AllGather kolektif, Anda hanya perlu mengimpor SMDDP pustaka di awal skrip pelatihan Anda dan menetapkan SMDDP sebagai backend modul PyTorch terdistribusi selama inisialisasi grup proses. Dengan satu baris spesifikasi backend, Anda dapat menyimpan semua modul PyTorch terdistribusi asli dan seluruh skrip pelatihan tidak berubah. Cuplikan kode berikut menunjukkan cara menggunakan SMDDP pustaka sebagai backend paket pelatihan terdistribusi PyTorch berbasis: distributed PyTorch data parallel (DDP), parallelism data sharded (), PyTorch dan Megatron-. FSDP DeepSpeedDeepSpeed

Untuk PyTorch DDP atau FSDP

Inisialisasi kelompok proses sebagai berikut.

import torch.distributed as dist import smdistributed.dataparallel.torch.torch_smddp dist.init_process_group(backend="smddp")
catatan

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

Untuk DeepSpeed atau Megatron- DeepSpeed

Inisialisasi kelompok 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 (smdistributeddanpytorchddp) diMeluncurkan pekerjaan pelatihan terdistribusi dengan SMDDP menggunakan SageMaker Python SDK, Anda juga perlu mengatur variabel lingkungan berikut dalam skrip pelatihan Anda.

export SMDATAPARALLEL_OPTIMIZE_SDP=true

Untuk panduan umum tentang menulis skrip PyTorch FSDP pelatihan, lihat Pelatihan Model Lanjutan dengan Paralel Data Berbagi Penuh (FSDP) dalam PyTorch dokumentasi.

Untuk panduan umum tentang menulis skrip PyTorch DDP pelatihan, lihat Memulai dengan data terdistribusi paralel dalam PyTorch dokumentasi.

Setelah Anda selesai mengadaptasi skrip pelatihan Anda, lanjutkan keMeluncurkan pekerjaan pelatihan terdistribusi dengan SMDDP menggunakan SageMaker Python SDK.