Tensorflow常用的并行化深度学习模型训练方式有两种,同步模式和异步模式。
-
异步模式深度学习模型训练流程
每一轮迭代时,不同设备会读取参数最新的取值,但因为不同设备读取参数取值的时间不同所以得到的值也有可能不同。根据当前参数的取值和随机获取的一小部分训练数据,不同设备各自运行反向传播的过程并独立更新参数。可以简单的认为异步模式就是单机模式复制了多份,每一份使用不同的训练数据进行训练。
- 同步模式深度学习模型
为了避免异步模式深度学习模型更新不同步的问题,可以使用同步模式。在同步模式下,所有设备同时读取参数的取值,并且当反向传播算法完成之后同步更新参数的取值。单个设备不会单独对参数进行更新,而会等待所有设备都完成反向传播之后再统一更新参数。
不同: 同步模式解决了异步模式中存在的参数更新问题,然而同步模式的效率确低于异步模式。