AWS Sagemaker |为什么多个实例的训练时间成倍增加到实例数

2024-09-25 04:28:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用AWS Sagemaker进行模型培训和部署,这是模型培训的示例示例

from sagemaker.estimator import Estimator
hyperparameters = {'train-steps': 10}
instance_type = 'ml.m4.xlarge'

estimator = Estimator(role=role,
                      train_instance_count=1,
                      train_instance_type=instance_type,
                      image_name=ecr_image,
                      hyperparameters=hyperparameters)

estimator.fit(data_location)

这里提到的docker图像是一个tensorflow系统。在

假设训练模型需要1000秒,现在我将实例计数增加到5,然后训练时间将增加5倍,即5000秒。根据我的理解,培训工作将分配到5台机器,因此理想情况下,每台机器需要200秒,但似乎它在每台机器上分别进行培训。有人能告诉我它在分布式系统上的工作情况吗?还是用Tensorflow。在

我试图在这个文档中找到答案https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-dg.pdf,但是这里似乎没有提到在分布式机器上工作的方法。在


Tags: instance模型image机器aws示例type情况
1条回答
网友
1楼 · 发布于 2024-09-25 04:28:31

您在脚本中使用TensorFlow estimator APIs?如果是的话,我认为您应该按照in the documentation here所述将其包装在sagemaker.tensorflow.TensorFlow类中来运行脚本。如果以这种方式运行培训,那么实例之间的并行化和通信应该是开箱即用的。在

但请注意,当增加实例数时,缩放将不是线性的。实例之间的通信需要时间,而且脚本中可能存在不可并行化的瓶颈,例如将数据加载到内存中。在

相关问题 更多 >