有望取代Spark的实时机器学习框架Ray

作者: 佚名 2017-04-08 17:32:39

一个新的项目旨在为实时处理开发一种速度更快的框架,可用来支持用Python编写的机器学习应用。

有望取代Spark的实时机器学习框架Ray

加州大学伯克利分校实时智能安全执行实验室(RISELab)的研究人员已开发出了一种新的分布式框架,该框架旨在让基于Python的机器学习和深度学习工作负载能够实时执行,并具有类似消息传递接口(MPI)的性能和细粒度。这种框架名为Ray,看起来有望取代Spark,业界认为Spark对于一些现实的人工智能应用而言速度太慢了;过不了一年,Ray应该会准备好用于生产环境。

Ray是率先从RISELab诞生的技术之一,加州大学伯克利分校的这个研究组织取代了曾大获成功的AMPLab,后者开发出了一大批引人入胜的分布式技术,这些技术影响了高性能和企业计算,包括Spark、Mesos、Tachyon及其他技术。

计算机科学教授迈克尔·乔丹(Michael Jordan)是昔日AMPLab、今日RISAab的顾问之一,最近他在加州圣何塞举行的Strata + Hadoop World大会上讨论了Ray的核心原则和驱动因素。

乔丹在3月16日的主题演讲中说:“之所以开发Spark,是由于我的学生抱怨Hadoop差强人意。他们抱怨,每当在逻辑回归之类的操作中进行迭代,总是要面临很长的延迟。”

乔丹继续说:“马泰·扎哈里亚(Matei Zaharia)是实验室的学生之一,他听到他们抱怨后说‘我会帮助你们解决这个问题。我会构建某种缓存系统,那意味着你不必一直去使用磁盘。这就是Spark的起源。”

他的学生们注意到扎哈里亚开发Spark后突然变得“多重要、多有名”;扎哈里亚后来顺理成章地与他人创办了Databricks,并成为了加州大学伯克利分校的对手:斯坦福大学的助理教授。

乔丹说:“所以现在是着眼于下一代技术的时候。他们说‘我们绝不会将一个项目交给搞系统的人。我们准备自己来搞。“所以这下一个项目由机器学习学生来搞,开发之初就抱着要取代Spark的目的。”

Ray由RISELab的两名博士:菲利浦·莫里兹(Philipp Moritz)和罗伯特·西原(Robert Nishihara)开发而成。研究人员竭力构建一种框架,可以结合在实际环境下运行机器学习或基于深入学习的应用所需要的许多不同元素。据乔丹声称,研究人员将应用程序分解成了各组成部分,了解如何实际构建一个允许实时决策机制的端到端系统。

乔丹说:“你需要灵活性。你需要的不光光是组建神经网络之类的东西,还需要规划、搜索和模拟。这带来了种种复杂的任务依赖关系。单单编写MapReduce类型的范例(paradigm,又可译成模式)就不是很容易。这种范例能编写得出来,但是如果你有大不一样的异构工作负载和任务,它执行起来不会非常高效。它需要适应算法的性能,因为系统在不断学习。”

很显然,乔丹指派Spark来完成MapReduce风格的编程。虽然Spark的速度比MapReduce快得多,但它仍然是MapReduce面向批处理的工作流程范例的一些核心元素。他表示,Ray避免了Spark使用的“块同步”(block synchronous)范例,改用了速度更快的范例。

据乔丹声称,Ray的速度很快,处理单个任务时延迟只有微秒。它还可以处理异构硬件,一些应用工作负载在CPU上执行,另一些工作负载在在GPU上运行。Ray有许多调度程序可以统筹安排这一切。

它还会借鉴MPI的任务依赖属性,MPI是低级分布式编程环境,高性能计算(HPC)领域的人士使用MPI来构建模型,模拟工作负载运行起来非常快。乔丹说:“我们其实也想达到那样级别的性能。我们不是要取代MPI。但是我们希望能够获得与MPI一样好的性能,但是要简单得多,强大得大,而且不太依赖分布式平台。”

乔丹在Strata大会上演示期间展示了Ray如何帮助数字机器人学会跑步。

乔丹将让集群中的各个节点保持计算状态,但是状态会尽可能少,这将***限度地提高稳定性。他补充道:“不过需要注意可以在诸任务之间共享的状态计算(stateful computation)。然后,我们显然想要容错机制,我们也会实现序列化运行,那样我们就能轻松共享数据了。”

Ray框架目前正在开发中,不过还不是已完成的项目。有兴趣的朋友可以看一看该项目放在Github上的初期测试版代码(https://github.com/ray-project/ray)。

Ray对于开发一系列需要利用实际数据进行快速决策的应用将大有用处,比如自主驾驶或某些新兴形式的人工智能辅助医疗所需要的那种应用。由于对这个领域做出的巨大贡献,乔丹已被戏称为“机器学习界的迈克尔·乔丹”,他认为Ray***的影响力将体现在强化学习(reinforcement learning)领域,而不是监督式学习系统。由于用来解决计算机视觉和分类问题的深度学习和神经网络大行其道,监督式学习系统随之流行起来。

他说:“当你开始更接近实际的决策时,不是仅仅想要模仿人类,而是想要找出***的决策。那就是强化学习范例。强化学习其实缺乏一种很好的系统级支持。”

Ray是用C ++编写的,基本上旨在加快用Python开发的机器学习算法的执行速度。

Python脚本提交并执行作业(job),Ray使用Python的语法特性来表示对象和作业是如何运行的。如果你为某个函数添加了@ray.remote,这表明该函数可以跨集群异步执行。函数运行时,它会立即返回一个对象ID,之后可以查询该ID,获得该函数生成的任何最终结果。Ray的说明文档表明了可以如何结合Python的列表推导(list comprehension),运行一系列函数,并自动返回结果。

虽然Ray处于初期测试版状态,但它显然是为了支持机器学习这个主要任务而开发的。说明文档中给出的主要例子包括:超参数优化(这是机器学习框架的一种常见工作负载)和训练人工智能网络打乒乓球。还详细介绍了如何将Ray与TensorFlow结合使用,包括如何借助深度学习系统,充分利用Ray的远程对象模型方面的若干技巧。

乔丹表示,虽然Ray仍处于早期阶段,还没有准备好用于生产环境,但应该在一年内作好准备。他说:“我们其实会让这种框架尽可能强大、稳定,但又尽量遵循学术界在激动人心的机器学习方面所要实现的目标。”

人工智能 乔丹 Ray
上一篇:未来三年,人工智能将成为银行与客户交流的主要方式 下一篇:机器学习难在哪
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

AI免费公开课一网打尽!14个类别、230门课程,GitHub标星6k+

要说这两年最火的机器学习课程,当属吴恩达的Machine Learning。这原本是吴恩达在斯坦福大学开授的课程,课程视频在网络上受到了学习者的广泛好评,后来还推出了专门的网课。

轻沉 ·  1天前
“脑控+AI” 让人用“本能”驾驶 精选

“脑控”即用脑电波来操纵机器设备。这是人类数百年来的梦想——只需要念头一动,机械或设备就已经按照你的想法运转。就像电影《阿凡达》里所演绎的那样,虽然身有残疾,却能通过脑控让另一个“自己”肆意生活。

佚名 ·  1天前
中芯国际量产14nm制程芯片 这是AIoT时代最有价值的制造

中芯国际近日表示,通过加大研发投入,14nm制程工艺芯片已经实现量产,并将于2021年正式出货。

佚名 ·  1天前
调查显示88%的中国员工信任机器人胜过人类老板 精选

中国员工在职场更信任机器人?一项调查显示,有约 88% 的中国员工对机器人的信任程度超过人类上司。

·  1天前
超过Google,微信AI在NLP领域又获一项世界第一

微信AI,NLP领域又获一项世界第一,这次是在机器阅读理解方面。

乾明 ·  3天前
AI如何改善采矿行业现状? 精选

人工智能的引入,有望将采矿业转化成一个更安全、利润空间更大且更为环保的行业。

佚名 ·  3天前
大小仅1MB!超轻量级的人脸识别模型火爆Github

近日,用户Linzaer在Github上开源了一款适用于边缘计算设备、移动端设备以及 PC 的超轻量级通用人脸检测模型,该模型文件大小仅1MB,一经开源就霸榜Github Trending榜单。

佚名 ·  3天前
大数据和人工智能如何协同工作

人工智能和机器学习如何帮助组织从大数据中获得更好的业务见解?需要了解人工智能和大数据分析的下一步发展。大数据技术并不像几年前那样广受关注,但这并不意味着大数据技术没有得到发展。如果说有什么不同的话,那就是大数据的规模正在变得越来越大。

Kevin Casey ·  2019-10-17 11:13:27
Copyright©2005-2019 51CTO.COM 版权所有 未经许可 请勿转载