本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
通过 e SageMaker stimator 类的distribution
参数,您可以分配特定的实例组来运行分布式训练。例如,假设您有以下两个实例组,并且想要对其中一个实例组进行多重GPU训练。
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)
您可以为其中一个实例组设置分布式训练配置。例如,以下代码示例说明如何将带两个 ml.p3dn.24xlarge
实例的 training_group_2
分配给分布式训练配置。
随着 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
]
}
)
使用 SageMaker 数据 parallel 库
- 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
]
}
)
有关 SageMaker 数据并行库的更多信息,请参阅SageMaker 数据并行训练。
使用 SageMaker 模型并行库
- 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
]
}
)
有关 SageMaker 模型并行库的更多信息,请参见SageMaker 模型并行训练。