前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于Hadoop集群的大规模分布式深度学习

基于Hadoop集群的大规模分布式深度学习

作者头像
GPUS Lady
发布2018-03-30 14:01:21
8390
发布2018-03-30 14:01:21
举报
文章被收录于专栏:GPUS开发者GPUS开发者GPUS开发者

前言

在过去的十年里,Yahoo一直持续投资建设和扩展Apache Hadoop集群,到目前为止共有超过4万台服务器和600PB数据分布在19个集群上。正如在2015 Hadoop 峰会上介绍的,我们在自己的服务器上开发了可扩展的机器学习算法,用于分类、排序和计算词向量。目前,Hadoop集群已成为Yahoo大规模机器学习的首选平台。

深度学习(Deep Learning, DL)是雅虎很多产品的核心技术需求。在2015 RE.WORK深度学习峰会上,Yahoo Flickr团队(Simon Osindero和Pierre Garrigues)阐述了深度学习如何被应用于场景检测、物体识别和计算美学。机器学习帮助Flickr自动完成给用户图片打标签,使得Flickr终端用户能够方便的管理和查找图片。

为使深度学习技术惠及更多的Yahoo产品,最近我们把此项技术迁移到自己的Hadoop集群上。基于Hadoop的深度学习主要有这些优点:

深度学习过程可以直接在我们存储数据的Hadoop集群上完成。避免了数据在Hadoop集群和深度学习集群之间的不必要传输。

深度学习可以被定义为一流的Apache Oozie工作流,使用Hadoop进行数据处理和Spark管道进行机器学习。

YARN支持深度学习。一个集群上可以同时进行多项深度学习实验。与传统方法相比,新方法事半功倍。在过去,我们有些项目组靠“记事本”手工调度GPU资源,这是很痛苦的,而且只对少数用户有效。

基于Hadoop的深度学习是深度学习的一个创新方法。业界现有的方法要求使用专用的集群,而基于Hadoop的深度学习不仅能达到专用集群的效果,还额外多出上述几项优点。

增强Hadoop集群

为了支持深度学习,我们在Hadoop集群上添加GPU节点。每个节点有4块Nvidia Tesla K80运算卡,每块卡配置2个GK210 GPU。这些节点的处理能力是我们Hadoop集群所使用的传统CPU的10倍。

在Hadoop集群上,GPU节点有两个独立网络接口,Ethernet和Infiniband。Ethernet作为对外通信的主要接口,Infiniband在GPU之间提供10倍以上速率的数据传输,并且支持通过RDMA直接访问GPU内存。

通过利用YARN最近推出的节点标签功能(YARN-796),我们可以在jobs中声明容器是在CPU还是GPU节点加载。GPU节点的容器能使用Infiniband以极高的速度交换数据。

分布式深度学习:Caffe-on-Spark

为了在这些强化的Hadoop集群上支持深度学习,我们基于开源软件库开发了一套完整的分布式计算工具,它们是Apache SparkCaffe。我们可以利用下面的命令行向集群GPU节点提交深度学习计算任务。

http://www.gpuworld.cn/article/show/474.html

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GPUS开发者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档