Ausführen verteilter Trainings auf einem heterogenen Cluster in Amazon SageMaker AI - Amazon SageMaker KI

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.

Ausführen verteilter Trainings auf einem heterogenen Cluster in Amazon SageMaker AI

Mithilfe des distribution-Arguments der SageMaker-AI-Schätzerklasse können Sie eine bestimmte Instance-Gruppe zuweisen, um verteiltes Training auszufü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.

Mit MPI

PyTorch
from sagemaker.pytorch import PyTorch estimator = PyTorch( ... instance_groups=[instance_group_1, instance_group_2], distribution={ "mpi": { "enabled": True, "processes_per_host": 8 }, "instance_groups": [instance_group_2] } )
TensorFlow
from sagemaker.tensorflow import TensorFlow estimator = TensorFlow( ... instance_groups=[instance_group_1, instance_group_2], distribution={ "mpi": { "enabled": True, "processes_per_host": 8 }, "instance_groups": [instance_group_2] } )

Mit der SageMaker-AI-Datenparallelitätsbibliothek

PyTorch
from sagemaker.pytorch import PyTorch estimator = PyTorch( ... instance_groups=[instance_group_1, instance_group_2], distribution={ "smdistributed": { "dataparallel": { "enabled": True } }, "instance_groups": [instance_group_2] } )
TensorFlow
from sagemaker.tensorflow import TensorFlow estimator = TensorFlow( ... instance_groups=[instance_group_1, instance_group_2], distribution={ "smdistributed": { "dataparallel": { "enabled": True } }, "instance_groups": [instance_group_2] } )
Anmerkung

Wenn Sie die SageMaker-AI-Datenparallelbibliothek verwenden, stellen Sie sicher, dass die Instance-Gruppe aus den von der Bibliothek unterstützten Instance-Typen besteht.

Weitere Informationen zur SageMaker-AI-Datenparallelitätsbibliothek finden Sie unter SageMaker AI Data Parallel Training.

Mit der SageMaker-AI-Modellparallelitätsbibliothek

PyTorch
from sagemaker.pytorch import PyTorch estimator = PyTorch( ... instance_groups=[instance_group_1, instance_group_2], distribution={ "smdistributed": { "modelparallel": { "enabled":True, "parameters": { ... # SageMaker AI model parallel parameters } } }, "instance_groups": [instance_group_2] } )
TensorFlow
from sagemaker.tensorflow import TensorFlow estimator = TensorFlow( ... instance_groups=[instance_group_1, instance_group_2], distribution={ "smdistributed": { "modelparallel": { "enabled":True, "parameters": { ... # SageMaker AI model parallel parameters } } }, "instance_groups": [instance_group_2] } )

Weitere Informationen zur SageMaker-AI-Datenparallelbibliothek finden Sie unter SageMaker AI Model Parallel Training.