过去十年中,雅虎在 Apache Hadoop 集群构建和扩展方面投入了很大的精力。目前,雅虎有 19 个 Hadoop 集群,其中包含 4 万多台服务器和超过 600PB 的存储。他们在这些集群上开发了大规模机器学习算法,将 Hadoop 集群打造成了雅虎首选的大规模机器学习平台。近日,雅虎 Big ML 团队的 Cyprien Noel、Jun Shi 和 Andy Feng 撰文介绍了雅虎在 Hadoop 集群上构建大规模分布式深度学习的实践。
深度学习(DL)是雅虎的许多产品都需要的功能。比如,的场景检测、对象识别、计算审美等功能均依赖于深度学习。为了使更多产品从机器学习中受益,他们最近将 DL 功能引入到了 Hadoop 集群本地。在 Hadoop 上进行深度学习主要有以下好处:
DL on Hadoop 是一种新型的深度学习方法。为了实现这种方法,雅虎主要做了如下两个方面的工作:
上述工作完成后,他们在两个数据集上对该方法进行了基准测试。在 ImageNet 2012 数据集上的测试显示,与使用一个 GPU 相比,使用 4 个 GPU 仅需要 35% 的时间就可以达到 50% 的准确度。而在 GoogLeNet 数据集上的测试表明,8 个 GPU 达到 60% top-5 准确度的速度是 1 个 GPU 的 6.8 倍。
这说明他们的方法是有效的。为了使 Hadoop 集群上的分布式深度学习更加高效,他们计划继续在 Hadoop、Spark 和 Caffe 上的投入。
雅虎已经将部分代码发布在 GitHub 上,感兴趣的读者可以进一步了解。
下面关于Hadoop的文章您也可能喜欢,不妨看看:
Ubuntu14.04下Hadoop2.4.1单机/伪分布式安装配置教程
CentOS安装和配置Hadoop2.2.0