Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Führen Sie verteilte Schulungen auf einem heterogenen Cluster in Amazon AI durch SageMaker
Mithilfe des distribution Arguments der SageMaker ModelTrainer AI-Klasse können Sie eine bestimmte Instanzgruppe zuweisen, um verteiltes Training durchzuführen. Nehmen wir beispielsweise an, dass Sie über die folgenden zwei Instance-Gruppe verfügen und für eine davon ein Multi-GPU-Training durchführen möchten.
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)
Sie können die verteilte Trainingskonfiguration für eine der Instance-Gruppen festlegen. Die folgenden Codebeispiele zeigen beispielsweise, wie training_group_2 mit zwei ml.p3dn.24xlarge Instances der verteilten Trainingskonfiguration zugewiesen wird.
Anmerkung
Derzeit kann nur eine Instance-Gruppe eines heterogenen Clusters für die Verteilungskonfiguration angegeben werden. Im SageMaker AI Python SDK v3 akzeptiert die Torchrun verteilte Konfiguration keinen Instanzgruppenparameter und gilt für alle Instanzen im Trainingsjob.
Mit MPI
PyTorch
from sagemaker.trainimportModelTrainerfrom 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.trainimportModelTrainerfrom 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() )
Mit der SageMaker KI-Datenparallelbibliothek
PyTorch
from sagemaker.trainimportModelTrainerfrom sagemaker.train.distributed import Torchrun model_trainer =ModelTrainer( ... instance_groups=[instance_group_1,instance_group_2], distributed=Torchrun() )
TensorFlow
from sagemaker.trainimportModelTrainerfrom sagemaker.train.distributed import Torchrun model_trainer =ModelTrainer( ... instance_groups=[instance_group_1,instance_group_2], distributed=Torchrun() )
Anmerkung
Wenn Sie die SageMaker KI-Datenparallelbibliothek verwenden, stellen Sie sicher, dass die Instanzgruppe aus den von der Bibliothek unterstützten Instanztypen besteht.
Weitere Informationen zur SageMaker KI-Datenparallelbibliothek finden Sie unter SageMaker AI Data Parallel Training.
Mit der Parallelbibliothek für SageMaker KI-Modelle
PyTorch
from sagemaker.trainimportModelTrainerfrom sagemaker.train.distributed import Torchrun model_trainer =ModelTrainer( ... instance_groups=[instance_group_1,instance_group_2], distributed=Torchrun() )
TensorFlow
from sagemaker.trainimportModelTrainerfrom sagemaker.train.distributed import Torchrun model_trainer =ModelTrainer( ... instance_groups=[instance_group_1,instance_group_2], distributed=Torchrun() )
Weitere Informationen zur Parallelbibliothek für SageMaker KI-Modelle finden Sie unter Paralleltraining für SageMaker KI-Modelle.