Pythorch分布式培训
pytorch-distbelief的Python项目详细描述
距离信度
执行谷歌的distfeedle文件。
安装/开发说明
您首先需要通过运行make setup
来创建python3 virtualenv,然后应该运行make install
。
然后,您将可以通过导入dist信念来使用dist信念
fromdistbelief.optimimportDownpourSGDoptimizer=DownpourSGD(net.parameters(),lr=0.1,n_push=5,n_pull=5,model=net)
作为一个例子,您可以看到我们的实现通过使用example/main.py
中提供的脚本来运行。
要在本地运行2-training节点设置,请打开三个终端窗口,获取venv
源代码,然后运行make first
、make second
和make server
。
这将开始使用所有默认参数在cifar10上本地培训alexnet。
基准
注意:我们用图表表示每个节点的列车/测试精度,因此是node1、node2、node3。更好的比较是评估参数服务器的params并使用该值。 但是,我们可以看到三个节点之间的准确性相当一致,添加求值器可能会给服务器带来太多压力。
我们将节点的学习率缩放为learning_rate/freq(.03)。
我们使用aws c4.xlarge实例来比较cpu运行情况,并使用gtx 1060来比较gpu运行情况。
喷灯的倾盆大雨
图表
这里2和3同时发生。
您可以阅读更多关于我们的实现here。
参考文献
- Pytorch distributed tutorial
- Akka implementation of distbelief
- gevent actor tutorial
- DistBelief paper
- Analysis of delayed grad problem