Tensorflow中的同步与异步计算

jstaker7

在Tensorflow CIFAR教程中,它讨论了使用多个GPU并给出以下警告:

“天真地采用模型参数的异步更新会导致次优的训练性能,因为单个模型副本可能会在过时的模型参数副本上进行训练。相反,采用完全同步更新的速度将与最慢的模型副本一样慢。”

这是什么意思?有人可以提供一个非常简单的示例来说明此警告吗?

伊恩·古德费洛

假设您有n个工人。

异步意味着每个工作人员仅读取参数,计算更新并写入更新的参数,而根本没有任何锁定机制。工人可以自由地覆盖彼此的工作。假设工作者1由于某种原因而运行缓慢。工作程序1在时间t读取参数,然后尝试在时间t + 100写入更新的参数。同时,工作人员2-n在时间步t + 1,t + 2等处都进行了很多更新。当慢工作人员1最终进行写入时,它将覆盖其他工作人员所取得的所有进度。

完全同步意味着所有工人得到协调。每个工作人员都会读取参数,计算梯度,然后等待其他工作人员完成。然后,学习算法将计算出它们计算出的所有梯度的平均值,并根据该平均值进行更新。如果工作人员1非常慢并且需要100个时间步才能完成,但是工作人员2-n都在时间2上完成,那么大多数工作人员将大部分时间都花在无所事事地等待工作人员1。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

TensorFlow中的异步计算

来自分类Dev

RxJS中的同步与异步序列

来自分类Dev

NodeJS中的异步Vs同步

来自分类Dev

NodeJS中的异步Vs同步

来自分类Dev

异步函数中的同步异常

来自分类Dev

在Python中同步/异步插入或更新ElasticSearch

来自分类Dev

在Objective-C中同步异步任务

来自分类Dev

从同步方法中调用异步方法

来自分类Dev

异步代码中需要同步

来自分类Dev

在异步功能中调用同步功能

来自分类Dev

从同步函数中调用异步函数

来自分类Dev

在Dart中以同步方式运行异步代码

来自分类Dev

在异步C#中同步执行

来自分类Dev

什么是Android中的同步和异步?

来自分类Dev

TensorFlow中的缓存计算

来自分类Dev

在Xamarin Forms中的PCL中以同步方法调用异步函数

来自分类Dev

Tensorflow 2.0中的梯度计算

来自分类Dev

条件为异步的异步计算表达式中的“ while”

来自分类Dev

Scala中的同步和异步客户端代码

来自分类Dev

如何理解JMS中的“同步”和“异步”消息传递?

来自分类Dev

意图在android中是异步的。为什么不能同步呼叫?

来自分类Dev

如何在angularjs中调用同步和异步?

来自分类Dev

在GWT中,RPC调用是同步的还是异步的

来自分类Dev

基于异步/等待的Windows服务中的同步I / O

来自分类Dev

Node.js中的'console.time'是同步还是异步?

来自分类Dev

将异步扭曲代码集成到同步python代码中

来自分类Dev

TCP套接字连接中同步与异步的优势

来自分类Dev

.net 4.5中异步和同步之间的区别

来自分类Dev

如何从石英计划作业中同步调用异步方法

Related 相关文章

热门标签

归档