Gunakan perpustakaan SMDDP dalam skrip pelatihan Anda PyTorch - Amazon SageMaker AI

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

Gunakan perpustakaan SMDDP dalam skrip pelatihan Anda PyTorch

Mulai dari perpustakaan SageMaker AI distributed data parallelism (SMDDP) v1.4.0, Anda dapat menggunakan library sebagai opsi backend untuk paket terdistribusi. PyTorch Untuk menggunakan SMDDP AllReduce dan operasi AllGather kolektif, Anda hanya perlu mengimpor perpustakaan 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 PyTorch terdistribusi asli dan seluruh skrip pelatihan tidak berubah. Cuplikan kode berikut menunjukkan cara menggunakan pustaka SMDDP sebagai backend paket pelatihan terdistribusi PyTorch berbasis: distributed PyTorch data parallel (DDP), PyTorch full sharded data parallelism (FSDP), dan Megatron-. 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 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

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 Python SageMaker SDK, Anda juga perlu mengatur variabel lingkungan berikut dalam skrip pelatihan Anda.

export SMDATAPARALLEL_OPTIMIZE_SDP=true

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

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

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