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 PyTorch Lightning Anda
Jika Anda ingin membawa skrip pelatihan PyTorchLightningsmdistributed.dataparallel
perpustakaan, mengatur variabel lingkungan untuk PyTorch Lightning untuk menerima variabel lingkungan SageMaker AI yang telah ditetapkan oleh toolkit SageMaker pelatihan, dan mengaktifkan perpustakaan SMDDP dengan menyetel backend grup proses ke. "smddp"
Untuk mempelajari lebih lanjut, ikuti instruksi berikut yang memecah langkah-langkah dengan contoh kode.
catatan
Dukungan PyTorch Lightning tersedia di perpustakaan paralel data SageMaker AI v1.5.0 dan yang lebih baru.
-
Impor
pytorch_lightning
perpustakaan dansmdistributed.dataparallel.torch
modul.import lightning as pl import smdistributed.dataparallel.torch.torch_smddp
-
Instantiate. LightningEnvironment
from lightning.fabric.plugins.environments.lightning import LightningEnvironment env = LightningEnvironment() env.world_size = lambda: int(os.environ["WORLD_SIZE"]) env.global_rank = lambda: int(os.environ["RANK"])
-
Untuk PyTorch DDP — Buat objek DDPStrategy
kelas dengan "smddp"
forprocess_group_backend
dan"gpu"
foraccelerator
, dan berikan itu ke kelas Trainer. import lightning as pl from lightning.pytorch.strategies import DDPStrategy ddp = DDPStrategy( cluster_environment=env, process_group_backend="smddp", accelerator="gpu" ) trainer = pl.Trainer( max_epochs=200, strategy=ddp, devices=num_gpus, num_nodes=num_nodes )
Untuk PyTorch FSDP - Buat objek FSDPStrategy
kelas (dengan kebijakan pembungkus pilihan) dengan "smddp"
forprocess_group_backend
dan"gpu"
foraccelerator
, dan teruskan ke kelas Trainer.import lightning as pl from lightning.pytorch.strategies import FSDPStrategy from functools import partial from torch.distributed.fsdp.wrap import size_based_auto_wrap_policy policy = partial( size_based_auto_wrap_policy, min_num_params=10000 ) fsdp = FSDPStrategy( auto_wrap_policy=policy, process_group_backend="smddp", cluster_environment=env ) trainer = pl.Trainer( max_epochs=200, strategy=fsdp, devices=num_gpus, num_nodes=num_nodes )
Setelah Anda selesai mengadaptasi skrip pelatihan Anda, lanjutkan keMeluncurkan pekerjaan pelatihan terdistribusi dengan SMDDP menggunakan Python SageMaker SDK.
catatan
Saat Anda membuat PyTorch estimator SageMaker AI dan mengajukan permintaan pekerjaan pelatihanMeluncurkan pekerjaan pelatihan terdistribusi dengan SMDDP menggunakan Python SageMaker SDK, Anda perlu menyediakan requirements.txt
untuk menginstal pytorch-lightning
dan lightning-bolts
dalam wadah PyTorch pelatihan SageMaker AI.
# requirements.txt pytorch-lightning lightning-bolts
Untuk informasi selengkapnya tentang menentukan direktori sumber untuk menempatkan requirements.txt
file bersama dengan skrip pelatihan dan pengiriman pekerjaan, lihat Menggunakan pustaka pihak ketiga