当前位置:大数据业界动态 → 正文

雅虎如何在Hadoop集群上实现大规模分布式深度学习

责任编辑:editor005 |来源:企业网D1Net  2015-10-27 14:11:25 本文摘自:InfoQ

过去十年中,雅虎在Apache Hadoop集群构建和扩展方面投入了很大的精力。目前,雅虎有19个Hadoop集群,其中包含4万多台服务器和超过600PB的存储。他们在这些集群上开发了大规模机器学习算法,将Hadoop集群打造成了雅虎首选的大规模机器学习平台。近日,雅虎Big ML团队的Cyprien Noel、Jun Shi和Andy Feng撰文 介绍了雅虎在Hadoop集群上构建大规模分布式深度学习的实践 。

深度学习(DL)是雅虎的许多产品都需要的功能。比如, Flickr 的场景检测、对象识别、计算审美等功能均依赖于深度学习。为了使更多产品从机器学习中受益,他们最近将DL功能引入到了Hadoop集群本地。在Hadoop上进行深度学习主要有以下好处:

深度学习直接在Hadoop集群上执行,可以避免数据在Hadoop集群和单独的深度学习集群之间移动;

同Hadoop数据处理和Spark机器学习管道一样,深度学习也可以定义为 Apache Oozie 工作流中的一个步骤;

YARN 可以与深度学习很好地协同,深度学习的多个实验可以在单个集群上同时进行。与传统方法相比,这使得深度学习极其高效。

DL on Hadoop是一种新型的深度学习方法。为了实现这种方法,雅虎主要做了如下两个方面的工作:

增强Hadoop集群: 他们向Hadoop集群添加了GPU节点。每个节点有4个 Nvidia Tesla K80 卡,每个卡有2个GK 210 GPU。这些节点的处理能力是传统商用CPU节点的10倍。GPU节点有两个独立的网络接口Ethernet和Infiniband。前者作为外部通信接口,后者速度要快10倍,用于连接集群中的GPU节点以及为通过RDMA直接访问GPU内存提供支持。借助YARN最新推出的 节点标记功能 ,可以在作业中指定容器是在CPU上运行还是在GPU上运行。

创建Caffe-on-Spark :这是他们基于开源软件库 Apache Spark 和 Caffe 创建的一个分布式综合解决方案。借助它,通过几条简单的命令就可以将深度学习作业提交到GPU节点集群,并且可以指定需要启动的Spark executor进程数量、分配给每个executor的GPU数量、训练数据在HDFS上的存储位置以及模型的存储路径。用户可以使用标准的Caffe配置文件指定Caffe solver和深层网络拓扑。Spark on YARN会启动指定数量的executor,每个executor会分得一个HDFS训练数据分区,并启动多个基于Caffe的训练线程。

上述工作完成后,他们在两个数据集上对该方法进行了基准测试。在 ImageNet 2012数据集 上的测试显示,与使用一个GPU相比,使用4个GPU仅需要35%的时间就可以达到50%的准确度。而在 GoogLeNet 数据集上的测试表明,8个GPU达到60% top-5准确度的速度是1个GPU的6.8倍。

这说明他们的方法是有效的。为了使Hadoop集群上的分布式深度学习更加高效,他们计划继续在Hadoop、Spark和Caffe上的投入。

雅虎已经将部分代码发布在 GitHub 上,感兴趣的读者可以进一步了解

关键字:Hadoop集群

本文摘自:InfoQ

x 雅虎如何在Hadoop集群上实现大规模分布式深度学习 扫一扫
分享本文到朋友圈
当前位置:大数据业界动态 → 正文

雅虎如何在Hadoop集群上实现大规模分布式深度学习

责任编辑:editor005 |来源:企业网D1Net  2015-10-27 14:11:25 本文摘自:InfoQ

过去十年中,雅虎在Apache Hadoop集群构建和扩展方面投入了很大的精力。目前,雅虎有19个Hadoop集群,其中包含4万多台服务器和超过600PB的存储。他们在这些集群上开发了大规模机器学习算法,将Hadoop集群打造成了雅虎首选的大规模机器学习平台。近日,雅虎Big ML团队的Cyprien Noel、Jun Shi和Andy Feng撰文 介绍了雅虎在Hadoop集群上构建大规模分布式深度学习的实践 。

深度学习(DL)是雅虎的许多产品都需要的功能。比如, Flickr 的场景检测、对象识别、计算审美等功能均依赖于深度学习。为了使更多产品从机器学习中受益,他们最近将DL功能引入到了Hadoop集群本地。在Hadoop上进行深度学习主要有以下好处:

深度学习直接在Hadoop集群上执行,可以避免数据在Hadoop集群和单独的深度学习集群之间移动;

同Hadoop数据处理和Spark机器学习管道一样,深度学习也可以定义为 Apache Oozie 工作流中的一个步骤;

YARN 可以与深度学习很好地协同,深度学习的多个实验可以在单个集群上同时进行。与传统方法相比,这使得深度学习极其高效。

DL on Hadoop是一种新型的深度学习方法。为了实现这种方法,雅虎主要做了如下两个方面的工作:

增强Hadoop集群: 他们向Hadoop集群添加了GPU节点。每个节点有4个 Nvidia Tesla K80 卡,每个卡有2个GK 210 GPU。这些节点的处理能力是传统商用CPU节点的10倍。GPU节点有两个独立的网络接口Ethernet和Infiniband。前者作为外部通信接口,后者速度要快10倍,用于连接集群中的GPU节点以及为通过RDMA直接访问GPU内存提供支持。借助YARN最新推出的 节点标记功能 ,可以在作业中指定容器是在CPU上运行还是在GPU上运行。

创建Caffe-on-Spark :这是他们基于开源软件库 Apache Spark 和 Caffe 创建的一个分布式综合解决方案。借助它,通过几条简单的命令就可以将深度学习作业提交到GPU节点集群,并且可以指定需要启动的Spark executor进程数量、分配给每个executor的GPU数量、训练数据在HDFS上的存储位置以及模型的存储路径。用户可以使用标准的Caffe配置文件指定Caffe solver和深层网络拓扑。Spark on YARN会启动指定数量的executor,每个executor会分得一个HDFS训练数据分区,并启动多个基于Caffe的训练线程。

上述工作完成后,他们在两个数据集上对该方法进行了基准测试。在 ImageNet 2012数据集 上的测试显示,与使用一个GPU相比,使用4个GPU仅需要35%的时间就可以达到50%的准确度。而在 GoogLeNet 数据集上的测试表明,8个GPU达到60% top-5准确度的速度是1个GPU的6.8倍。

这说明他们的方法是有效的。为了使Hadoop集群上的分布式深度学习更加高效,他们计划继续在Hadoop、Spark和Caffe上的投入。

雅虎已经将部分代码发布在 GitHub 上,感兴趣的读者可以进一步了解

关键字:Hadoop集群

本文摘自:InfoQ

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^