LinkedIn开源TonY,让Hadoop原生支援TensorFlow
2018-09-14 18:02:38 | 来源:ithome | 投稿:梁子 | 编辑:dations

原标题:LinkedIn开源TonY,让Hadoop原生支援TensorFlow

LinkedIn开源TonY专案,让使用者可在单节点或是大型Hadoop丛集上,基于YARN建置TensorFlow应用的解决方案,TonY其运作方式就像是在Hadoop中的MapReduce,执行Pig和Hive脚本的方式类似,提供TensorFlow任务第一层级的支援。TonY由三个主要元件组成,分别是客户端、ApplicationMaster以及TaskExecutor,主要提供四大特色GPU调度、精度资源请求、TensorBoard支援以及容错。

LinkedIn平台会员接近6亿人,随着深度学习技术的发展,LinkedIn的人工智能工程师,努力在众多像是摘要或是回复等功能中应用人工智能,而其中有许多使用案例,皆使用Google开发的深度学习框架TensorFlow建置。一开始LinkedIn内部TensorFlow用户都只在小型和非托管的裸机上执行应用,但随着发展,他们逐渐意识到必须要让TensorFlow连结并使用Hadoop大资料平台上的运算以及储存资源。LinkedIn的Hadoop丛集拥有数百PB的资料,很适合用于开发深度学习应用。

虽然TensorFlow支援分散式训练,但要编排TensorFlow必非一件简单的事,LinkedIn调查了市面上现存的解决方方案,但终究没能符合需求。有一个Apache△Spark运算引擎TensorFlow的开源解决方案,能够在框架上执行一些LinkedIn内部深度学习应用程序,但其缺乏GPU调度和异构容器调度是最后不被采用的致命伤。而另一个TensorFlowOnYARN独立函式库则较接近LinkedIn的需求,但是其容错以及可用性较差,且该专案已经停止维护更新。

基于这些原因,LinkedIn只好开始动手开发自家基于Hadoop△YARN的TensorFlow解决方案TonY,以便可以完全控制Hadoop丛集资源,TonY直接在YARN上运作,并以轻量相依执行,因此除了可以在YARN中使用堆叠较低阶的部分,也能使用TensorFlow中堆叠高阶的部分。

LinkedIn提到,TonY运作TensorFlow的方法,类似在Hadoop中MapReduce引擎执行Pig与Hive脚本,或是在Spark中以API执行Scala程式码,TonY通过处理资源沟通或是容器环境设定等任务,支援TensorFlow的工作。TonY主要有3个元件,客户端、ApplicationMaster和TaskExecutor。使用者向客户端提交TensorFlow模型训练程式码、参数以及Python虚拟环境,并由客户端设定ApplicationMaster将其交付给YARN丛集,ApplicationMaster会根据用户的资源要求,与YARN的资源管理器进行资源协商,当ApplicationMaster收到确定的资源分配,便会在分配的节点上创建TaskExecutors,由TaskExecutors启动用户的训练程式码并等待工作完成。

TonY除了可以完成基本在Hadoop上执行分散式TensorFlow的工作外,也实作了用来支援大规模训练的功能。TonY支援GPU调度,能够利用Hadoop的API向丛集请求GPU资源。另外,还支援高精度的资源请求,由于TonY能请求不同的实体作为单独的元件,因此用户可以针对每种实体类型请求不同的资源,也就是说,用户可以良好的控制应用程序使用的资源,同时也有助于丛集管理员避免浪费硬件资源。

TonY现在可以将应用程序追踪的URL重新导向TensorBoard上,让使用者方便通过TensorBoard理解、调校和最佳化TensorFlow应用程序。而TonY重要的特色之一便是容错,可以让深度学习训练更可靠。即便使用大量的机器,TensorFlow训练仍可能需要数小时甚至数天,但长时间运作的TensorFlow任务比短期的任务,更容易受到暂时性错误或抢占的问题影响。TensorFlow拥有容错API,可以将检查点储存成HDFS,还能从先前保存的检查点恢复继续训练。TonY则通过提供弹性分散式基础架构,来从节点故障中恢复,因此当Worker错误、或是ApplicationMaster失去回应等情况,TonY将会重新启动应用程序,并恢复到之前的检查点。

现在LinkedIn在GitHub上开源他们在Hadoop和TensorFlow上的努力,让其他使用者也能方便的建置分散式机器学习应用。

tags:

上一篇  下一篇

相关:

微软释出ML.NET 0.5,开始支援深度学习TensorFlow模型

微软在5月释出由微软研究院开发、发展了十年的机器学习框架ML.NET,今释出了ML.NET△0.5,最大的更新便是开始支援TensorFlow,开发者可以在ML.NET中直接使用已经训练好的TensorFlow模型,进行评分(Scoring)。另外,

TensorFlow释出资料验证函式库TFDV,进行大规模资料分析与验证

TensorFlow现在释出TensorFlow资料验证(TensorFlow△Data△Validation,TFDV)工具,来帮助开发人员大规模理解、验证以及监控机器学习的资料。TensorFlow产品经理Clemens△Mewald提到,学术界和业界都非常关注机器学

微软Azure Pipelines登上GitHub市集,开源专案可免费使用

图片来源: 微软 微软周一(9/10)宣布,Azure△DevOps中的持续整合与持续交付(CI/CD)服务Azure△Pipelines已登上GitHub市集,并允许开源专案免费使用。Azure△Pipelines可支援各种平台及云端服务的持续建置、测试及

Google和Unity开源游戏玩家配对专案Open Match,让新游戏开发不再重头打造配对系统

Google云端和游戏引擎Unity联合宣布推出名为Open△Match的开源玩家配对专案,让游戏开发者专注于玩家配对逻辑,而不需要从头开始为每个游戏建构完整的配对系统。Open△Match专案包括3个核心元件,游戏客户端的前端AP

布局物联网,Cloudera联手红帽、Eurotech推动开源IoT架构

提供大数据服务的Cloudera,也开始要进入物联网市场了。该公司近日宣布,与红帽、意大利IoT方案供应商Eurotech结盟,推出开源的点对点IoT架构,兼具可扩充性、安全性时,也能减轻被单一厂商绑定的问题。Cloudera表示

站长推荐: