【问题标题】:distributed tensorflow tf.train.SyncReplicasOptimizer seems not synchronized分布式张量流 tf.train.SyncReplicasOptimizer 似乎不同步
【发布时间】:2016-08-14 06:10:55
【问题描述】:

我使用两个工人/副本和一个参数服务器。喜欢

--ps_hosts='hosta.com:2222' --worker_hosts='hosta.com:2223,hostb.com:2223'

使用 tf.train.SyncReplicasOptimizer 喜欢

opt = tf.train.SyncReplicasOptimizer(
            opt,
            replicas_to_aggregate=2,
            replica_id=FLAGS.task_id,
            total_num_replicas=2,
            variables_to_average=variables_to_average)

由于跨机器网络通信,从日志中我看到 worker0(hosta.com:2223) 比 worker1(hostb.com:2223) 快得多。 看起来 worker0 没有等待 worker1 的渐变。即使我杀死了worker1的工作,worker0仍在处理中。而且worker0有很多重复的日志,比如

INFO:tensorflow:Worker 0: 2016-04-21 03:24:02.659749: step 29010, loss = 0.40(812.0 examples/sec; 0.315  sec/batch)
INFO:tensorflow:Worker 0: 2016-04-21 03:24:02.990509: step 29010, loss = 0.59(775.3 examples/sec; 0.330  sec/batch)
INFO:tensorflow:Worker 0: 2016-04-21 03:24:04.650522: step 29013, loss = 0.56(774.0 examples/sec; 0.331  sec/batch)
INFO:tensorflow:Worker 0: 2016-04-21 03:24:04.989555: step 29013, loss = 0.47(756.3 examples/sec; 0.338  sec/batch)
INFO:tensorflow:Worker 0: 2016-04-21 03:24:06.549120: step 29016, loss = 0.49(816.6 examples/sec; 0.313  sec/batch)
INFO:tensorflow:Worker 0: 2016-04-21 03:24:06.867229: step 29016, loss = 0.48(806.1 examples/sec; 0.318  sec/batch)

那么,tf.train.SyncReplicasOptimizer 不应该挂断并等待所有的 replicas_to_aggregate 工作人员吗?

【问题讨论】:

    标签: distributed tensorflow synchronized


    【解决方案1】:

    tf.train.SyncReplicasOptimizer 只要求它在聚合和应用它们之前从replicas_to_aggregate 不同的步骤接收梯度,但不要求它们来自不同的进程。您的worker0 的运行速度似乎至少是worker1 的两倍,并且在worker1 完成一个步骤之前完成了两个步骤。

    正如您所注意到的,这不是对分布式资源的有效利用!我建议尝试平衡您的系统,以便从一台或多台具有相同带宽的机器为两个工作人员提供参数。一种可能性是添加另一个参数服务器,在hostb.com:2222 上运行,这样(大约)一半的参数对于每个工作人员都是本地的。

    【讨论】:

    • 谢谢。如果将训练数据平均分成worker0worker1 以不同的训练速度,来自较慢worker的一些批次将被忽略,因此模型可能训练不足。
    猜你喜欢
    • 2018-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多