View a markdown version of this page

Gunakan pustaka 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 pustaka SMDDP dalam skrip pelatihan Anda PyTorch

Mulai dari pustaka paralelisme data terdistribusi SageMaker AI (SMDDP) v1.4.0, Anda dapat menggunakan pustaka sebagai opsi backend untuk paket terdistribusi. PyTorch 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),, dan. DeepSpeed Megatron-DeepSpeed

Untuk PyTorch DDP atau FSDP

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

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 (smdistributeddanpytorchddp) diMeluncurkan pekerjaan pelatihan terdistribusi dengan SMDDP menggunakan Python SDK SageMaker, 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. PyTorch

Untuk panduan umum tentang menulis skri PyTorch p pelatihan DDP, lihat Mem ulai dengan data terdistribusi secara paralel dalam PyTorch dokumentasi.

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