Horovod

Horovod是一个支持TensorFlow、Keras、PyTorch和Apache MXNet的分布式训练框架。Horovod的目标是让分布式深度学习更快更易用。 

为啥不用原生的TensorFlow分布式训练? 

1、代码改动多少?

2、比原生的分布式训练快多少?

Horovod用的MPI比分布式TensorFlow用的parameter servers,简单直接得多。而且,Horovod更快,下面的benchmark用了128台服务器,每台机器4张Pascal GPU,机器之间是有RoCE能力的25Gbit/s网络。

对于Inception V3和ResNet-101,Horovod有90%的扩展效率,对于VGG-16,则是68%。 

安装Horovod:(这些环境问题要注意!!!) 

1、安装OpenMPI或者其他MPI实现。OpenMPI 3.1.3有个问题会导致卡住,建议降级到3.1.2,或者升级到4.0.0。

2、如果是用PyPI装的TensorFlow,要确保装g++-4.8.5或者g++-4.9。如果是用PyPI装的PyTorch,要确保装g++-4.9或者以上。如果是用Conda装的TensorFlow或者PyTorch,要确保装gxx_linux-64 Conda包。

3、安装Horovod pip包。

pip install horovod

通过docker使用Horovod:https://github.com/horovod/horovod/blob/master/docs/docker.rst 。

单机运行docker:

$ nvidia-docker run -it horovod:latest     // 可能还要别的参数,例如--net=host
root@c278c88dd552:/examples# horovodrun -np 4 -H localhost:4 python keras_mnist_advanced.py    // 旧版本只有mpirun,不是horovodrun

下面的错误信息是因为容器运行没有用--privileged参数 

Read -1, expected 131072, errno = 1  

 

添加Mellanox RDMA支持

如果你有Mellanox网卡, 

 

参考链接:

https://github.com/horovod/horovod

https://arxiv.org/pdf/1802.05799.pdf

 

转载于:https://www.cnblogs.com/yangwenhuan/p/11165168.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值