Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan pustaka SMDDP di skrip pelatihan PyTorch Lightning Anda
Jika Anda ingin membawa skrip pelatihan smdistributed.dataparallel pustaka, atur variabel lingkungan untuk PyTorch Lightning untuk menerima variabel lingkungan SageMaker AI yang telah ditetapkan oleh toolkit SageMaker pelatihan, dan aktifkan pustaka SMDDP dengan mengatur backend grup proses ke. "smddp" Untuk mempelajari lebih lanjut, ikuti instruksi berikut yang menguraikan langkah-langkah dengan contoh kode.
catatan
Dukungan PyTorch Lightning tersedia di pustaka paralel data SageMaker AI v1.5.0 dan yang lebih baru.
-
Impor
pytorch_lightningperpustakaan dansmdistributed.dataparallel.torchmodul.import lightning as pl import smdistributed.dataparallel.torch.torch_smddp -
Buat instance. 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 kelas
DDPStrategy dengan "smddp"forprocess_group_backenddan"gpu"foraccelerator, dan meneruskannya ke kelas Trainer. https://pytorch-lightning.readthedocs.io/en/stable/common/trainer.htmlimport 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 kelas
FSDPStrategy (dengan kebijakan https://pytorch.org/docs/stable/fsdp.html pembungkus pilihan) dengan "smddp"forprocess_group_backenddan"gpu"foraccelerator, dan meneruskannya ke kelas Trainer. https://pytorch-lightning.readthedocs.io/en/stable/common/trainer.htmlimport 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 SDK SageMaker.
catatan
Saat Anda membuat SageMaker AI PyTorch ModelTrainer dan mengirimkan permintaan pekerjaan pelatihanMeluncurkan pekerjaan pelatihan terdistribusi dengan SMDDP menggunakan Python SDK SageMaker, Anda perlu menyediakan requirements.txt untuk menginstal pytorch-lightning dan lightning-bolts di 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