有望取代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
上一篇:未来三年,人工智能将成为银行与客户交流的主要方式 下一篇:机器学习难在哪
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

教育人工智能伦理风险如何消解

人工智能(Artificial Intelligence,简称AI)是计算机科学的一部分,包括研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统等方面。教育人工智能伦理则是用以规范教育人工智能开发及应用过程中关系、行为的道理及准则。

中国教育报 ·  20h前
为什么人工智能是可再生能源电网复原力的关键

各界呼吁政府在电网基础设施上投入资金,升级集中式发电源的长输电线路,尝试利用过去的技术来解决当今的问题。但是现在已经有了更好、更具前瞻性的替代方案:利用分散式可再生能源的人工智能(AI)。

世界经济论坛 ·  21h前
北京打造首个政策先行区:自动驾驶年内尝试真正无人

昨天,在北京经济技术开发区朝林广场,无人洗地机“蜗小白”引人关注。当日,经开区正式启动北京市智能网联汽车政策先行区。

北京日报客户端 ·  21h前
传统数据之外,哪里是通往智能之路?

为了实现这种更高阶的人工智能,寻求进步的公司都在积极探索,除了吸收更多数据并更好地管理数据的典型方法之外,我们还需要考虑更多创新的方法。

卿云 ·  1天前
“机器换人”引发就业挑战,一线工人前路何在?

当前,人工智能在全球范围内的加速发展引发各国高度关注,无论是简单的机械动作还是复杂的感知任务,人工智能所展现出的实力都可圈可点。

佚名 ·  1天前
AI机器人上场,驾培行业翻开智能化新篇章

驾培行业打破传统的驾培模式刻不容缓,而通过各种智能技术和装备,启动智能化的教学,无疑是有效的替代之法。

林中易木 ·  1天前
语音识别技术迎风发展,未来五年规模将近300亿

语音识别技术得到重视,根据市场研究机构报告预测,到2025年,语音识别市场规模将达到267.9亿美元。

六栎 ·  1天前
95%PyTorch库都会中招的bug!特斯拉AI总监都没能幸免

这就是最近Reddit上热议的一个话题,是一位网友在使用再平常不过的Pytorch+Numpy组合时发现。

明敏 ·  1天前
Copyright©2005-2021 51CTO.COM 版权所有 未经许可 请勿转载