Horovod是Uber开源的针对 TensorFlow 的分布式深度学习框架,旨在使分布式深度学习更快速,更易于使用。
Horovod吸取了Facebook的 TrainingImageNetin1Hour(一小时训练ImageNet)论文与百度RingAllreduce的优点,为用户实现分布式训练提供帮助。该项目主要是想能够轻松采用单个GPUTensorFlow程序,同时也能更快地在多个GPU上成功地对其进行训练。使用Horovod我们可以不需要再去担心或学习很多东西,如tf.Server()、tf.ClusterSpec()、tf.train.SyncReplicasOptimizer()、tf.train.replicas_device_setter()等等。
除了易于使用,Horovod的速度也很快。下图为InceptionV3和ResNet-101TensorFlow模型在25GbETCP上使用不同数量的NVIDIAPascalGPU时,使用标准分布式TensorFlow和Horovod运行分布式训练工作每秒处理的图像数量对比。
评论