本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
透過 SageMaker 估算器類別的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 資料平行程式庫
- 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 模型平行訓練 。