Execute treinamento distribuído em um cluster heterogêneo na Amazon SageMaker - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Execute treinamento distribuído em um cluster heterogêneo na Amazon SageMaker

Por meio do distribution argumento da classe SageMaker estimadora, você pode atribuir um grupo de instâncias específico para executar o treinamento distribuído. Por exemplo, suponha que você tenha os dois grupos de instâncias a seguir e queira executar vários GPU treinamentos em um deles.

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)

Você pode definir a configuração de treinamento distribuído para um dos grupos de instâncias. Por exemplo, os exemplos de código a seguir mostram como atribuir training_group_2 com duas instâncias ml.p3dn.24xlarge à configuração de treinamento distribuído.

nota

Atualmente, somente um grupo de instâncias de um cluster heterogêneo pode ser especificado para a configuração de distribuição.

Com 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] } )

Com a biblioteca paralela de SageMaker dados

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] } )
nota

Ao usar a biblioteca paralela de SageMaker dados, verifique se o grupo de instâncias consiste nos tipos de instância compatíveis com a biblioteca.

Para obter mais informações sobre a biblioteca paralela de SageMaker dados, consulte Treinamento paralelo de SageMaker dados.

Com a biblioteca paralela de SageMaker modelos

PyTorch
from sagemaker.pytorch import PyTorch estimator = PyTorch( ... instance_groups=[instance_group_1, instance_group_2], distribution={ "smdistributed": { "modelparallel": { "enabled":True, "parameters": { ... # SageMaker 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 model parallel parameters } } }, "instance_groups": [instance_group_2] } )

Para obter mais informações sobre a biblioteca paralela de SageMaker modelos, consulte SageMaker Model Parallel Training.