View a markdown version of this page

Jalankan pelatihan terdistribusi pada cluster heterogen di Amazon SageMaker AI - Amazon SageMaker AI

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

Jalankan pelatihan terdistribusi pada cluster heterogen di Amazon SageMaker AI

Melalui distribution argumen ModelTrainer kelas SageMaker AI, Anda dapat menetapkan grup instance tertentu untuk menjalankan pelatihan terdistribusi. Misalnya, asumsikan bahwa Anda memiliki dua grup instance berikut dan ingin menjalankan pelatihan multi-GPU pada salah satunya.

from sagemaker.instance_group import InstanceGroup instance_group_1 = InstanceGroup("instance_group_1", "ml.c5.18xlarge", 1) instance_group_2 = InstanceGroup("instance_group_2", "ml.p3dn.24xlarge", 2)

Anda dapat mengatur konfigurasi pelatihan terdistribusi untuk salah satu grup instans. Misalnya, contoh kode berikut menunjukkan cara menetapkan training_group_2 dengan dua ml.p3dn.24xlarge instance ke konfigurasi pelatihan terdistribusi.

catatan

Saat ini, hanya satu grup instance dari cluster heterogen yang dapat ditentukan ke konfigurasi distribusi. Di SageMaker AI Python SDK v3, konfigurasi Torchrun terdistribusi tidak menerima parameter grup instance dan berlaku untuk semua instance dalam pekerjaan pelatihan.

Dengan MPI

PyTorch

from sagemaker.train import ModelTrainer from sagemaker.train.distributed import Torchrun # Note: In v3, Torchrun does not support scoping to a specific instance group. # It applies to all instances in the training job. Use instance_groups with # Channel/S3DataSource to control which group receives training data. model_trainer = ModelTrainer( ... instance_groups=[instance_group_1, instance_group_2], distributed=Torchrun() )

TensorFlow

from sagemaker.train import ModelTrainer from sagemaker.train.distributed import Torchrun # Note: In v3, Torchrun does not support scoping to a specific instance group. # It applies to all instances in the training job. Use instance_groups with # Channel/S3DataSource to control which group receives training data. model_trainer = ModelTrainer( ... instance_groups=[instance_group_1, instance_group_2], distributed=Torchrun() )

Dengan perpustakaan paralel data SageMaker AI

PyTorch

from sagemaker.train import ModelTrainer from sagemaker.train.distributed import Torchrun model_trainer = ModelTrainer( ... instance_groups=[instance_group_1, instance_group_2], distributed=Torchrun() )

TensorFlow

from sagemaker.train import ModelTrainer from sagemaker.train.distributed import Torchrun model_trainer = ModelTrainer( ... instance_groups=[instance_group_1, instance_group_2], distributed=Torchrun() )
catatan

Saat menggunakan pust SageMaker aka paralel data AI, pastikan grup instance terdiri dari jenis instance yang didukung oleh pustaka.

Untuk informasi selengkapnya tentang pust SageMaker aka paralel data AI, lihat Pelatihan Paralel Data SageMaker AI.

Dengan perpustakaan paralel model SageMaker AI

PyTorch

from sagemaker.train import ModelTrainer from sagemaker.train.distributed import Torchrun model_trainer = ModelTrainer( ... instance_groups=[instance_group_1, instance_group_2], distributed=Torchrun() )

TensorFlow

from sagemaker.train import ModelTrainer from sagemaker.train.distributed import Torchrun model_trainer = ModelTrainer( ... instance_groups=[instance_group_1, instance_group_2], distributed=Torchrun() )

Untuk informasi selengkapnya tentang pust SageMaker aka paralel model AI, lihat Pelatihan Paralel Model SageMaker AI.