多节点 Sagemaker 训练是按节点批处理还是共享?
Is multi-node Sagemaker training batched per-node or shared?
我正在使用 Tensorflow,我注意到多个节点的单个步骤比一个节点慢,所以我对 Sagemaker 上多个训练节点上的步骤构成有点困惑。
如果我的批量大小是 10 并且我有 5 个训练节点,那么每个节点是 "step" 2 个还是每个节点 10 个?
如果我的批量大小为 1 个和 5 个节点怎么办?
注意 - 'node' 这里是一个单独的训练实例,从 train_instance_count=5
创建的计数
请查看此笔记本以获取使用 TF 进行分布式训练的示例:https://github.com/awslabs/amazon-sagemaker-examples/blob/master/sagemaker-python-sdk/tensorflow_distributed_mnist/tensorflow_distributed_mnist.ipynb
“每个实例将预测一批数据集,计算损失并最小化优化器。此过程的整个循环称为训练步骤。
全局步骤是在实例之间共享的全局变量。这是分布式训练所必需的,因此优化器将跟踪运行之间的训练步骤数:
train_op = optimizer.minimize(损失, tf.train.get_or_create_global_step())
这是分布式训练唯一需要的改变!"
我正在使用 Tensorflow,我注意到多个节点的单个步骤比一个节点慢,所以我对 Sagemaker 上多个训练节点上的步骤构成有点困惑。
如果我的批量大小是 10 并且我有 5 个训练节点,那么每个节点是 "step" 2 个还是每个节点 10 个?
如果我的批量大小为 1 个和 5 个节点怎么办?
注意 - 'node' 这里是一个单独的训练实例,从 train_instance_count=5
请查看此笔记本以获取使用 TF 进行分布式训练的示例:https://github.com/awslabs/amazon-sagemaker-examples/blob/master/sagemaker-python-sdk/tensorflow_distributed_mnist/tensorflow_distributed_mnist.ipynb
“每个实例将预测一批数据集,计算损失并最小化优化器。此过程的整个循环称为训练步骤。
全局步骤是在实例之间共享的全局变量。这是分布式训练所必需的,因此优化器将跟踪运行之间的训练步骤数:
train_op = optimizer.minimize(损失, tf.train.get_or_create_global_step()) 这是分布式训练唯一需要的改变!"