LinkedIn 开源 TonY:在 Hadoop 上运行 TensorFlow 的框架

LinkedIn公司近日向开源社区捐赠了另一个内部创建的软件项目。

现在隶属微软的这家公司在贡献开源软件方面有着悠久的历史,包括像Apache Kafka及其最新的Dynamometer工具这些热门项目。它的最新项目名为“TensorFlow on YARN”(简称“TonY”),旨在帮助将开源TensorFlow机器学习框架与存储在Apache Hadoop中的数据连接起来。

TensorFlow是谷歌在2015年发布的一个开源软件库,它让开发人员更容易设计、构建和训练深度学习模型。它之所以是最受欢迎的机器学习框架之一,是由于它可以训练和运行面向手写数字分类、图像识别和单词嵌入的深度神经网络、递归神经网络以及序列到序列模型,用于机器翻译和自然语言处理等其他任务。

Hadoop是一种分布式处理软件框架,可以为“大数据”应用管理数据处理和存储。它是一个不断发展壮大的生态系统的核心,该生态系统涵盖的大数据技术主要用于支持高级分析项目,包括预测分析、数据挖掘和机器学习等应用。

LinkedIn的软件工程师Jonathan Hung在博文中表示,该公司构建TonY的初衷是,它越来越依赖深度神经网络来支持其网站上的一些功能,包括新闻源(news feed)和智能回复。

LinkedIn面临的问题是,许多这些功能是使用TensorFlow构建的,而TensorFlow缺少连接Hadoop集群的一种可靠方式,以便使用该数据来训练算法。

Hung说:“我们的Hadoop集群上存储了可用于深度学习的数百PB的数据,因此我们需要一种易于扩展的方式来处理所有这些信息。”

TensorFlow已经在支持“分布式训练”,这种技术对于处理庞大数据集(如存储在Hadoop中的数据集)非常有用。Hung解释,但是LinkedIn面临的主要问题是,这个过程需要手动编排,这“不是一件易事”,也不是大多数数据科学家有能力做的事。

于是Hung及其团队着手开发TonY,以便自动化处理这项任务。Hung表示,该软件的工作方式类似MapReduce支持在Hadoop上运行Apache Pig或Apache Hive脚本,可处理“资源协商和容器环境设置”之类的任务。

TonY架构图

TonY提供了许多功能,有助于改进神经网络的分布式训练工作,包括GPU调度以更好地管理资源、支持TensorBoard因而更容易调试和优化TensorFlow程序以及更好的容错能力,那样一旦出现任何问题,用户可以从之前保存的检查点恢复训练状态。

Constellation研究公司的分析师霍尔格•穆勒(Holger Mueller)表示,TonY堪称开源贡献的一个典范,因为它解决了将TensorFlow连接到Hadoop这个关键问题,同时表明了为什么其他开源项目不太合适。

穆勒说:“LinkedIn给了TonY一个很好的使用场景,并让人相信这是一个切实可行、得到支持的开源项目。它对于希望使用TensorFlow为下一代应用软件提供支持的企业高管们来说很重要,因为数据已经在Hadoop中。它将Hadoop中的“数字化排放”(digital exhaust)与最流行的深度学习神经网络之一结合起来。”

企业高管们考虑的另一个方面是,TonY由现在是微软旗下的LinkedIn开发,所以他们大可放心:从长远来看TonY会继续得到支持。

穆勒补充道:“这给了许多企业莫大的信心,即万一遇到重大情况,它们能有某种依赖。”

LinkedIn表示开源TonY,是为了让有兴趣在Hadoop上运行分布式机器学习的其他人可以使用该项目,并做出贡献。今天开始TonY可从GitHub下载。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180917A227RH00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券