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

更多资讯推荐

谷歌前董事长:人工智能无法自己开创市场

未来不是由机器支配,未来由拥有无限想象力的人支配。

佚名 ·  16h前
谷歌的一项新研究,让机器狗小跑起来成为可能

有观点认为,尽管机器人很能干,能代替人类实现很多事情,但自然形成的原始动物还是比他们好很多。之所以这样说是因为,他们很难直接从狗身上学会像狗一样去走路。

郭仁贤 ·  1天前
「新基建」下大火的工业智能,问题依旧很多

「新基建」火了。连同 5G、人工智能、物联网等信息数字化基础设施,都成为国家新的发展方向,不仅在这些新领域内的从业者们明确了目标,传统行业对数字化转型的需求也蓄势待发。

赵子潇 ·  3天前
特征工程是啥东东?为何需要实现自动化?

如今人工智能(AI)变得越来越普遍和必要。从防止欺诈、实时异常检测到预测客户流失,企业客户每天都在寻找机器学习(ML)的新应用。ML的底层是什么?这项技术如何进行预测?使AI发挥神奇功效的秘诀又是什么?

布加迪 ·  4天前
AI如何改变人类社会的各种业务模式?

在过去的20年中,一些愤世嫉俗的人一直担心,人工智能(AI)的发展会破坏企业结构,导致大量失业和财富不平等加剧。下一个十年将是AI的十年。我们期望看到什么变化?答案是基本流程的转变和减少。

CDA数据分析师 ·  4天前
新冠疫情动态:十大创新,助力对抗COVID-19

从感染快速检测到3D打印解决方案,全球各地的科技企业正携手奋进,希望找到足以战胜新冠病毒大流行的突破性方法。目前有哪些创新成果值得关注?本文将带大家一探究竟。

佚名 ·  4天前
全球首个翻译引擎进化归来 “细节狂魔”搞定方言

最近,一款在线机器翻译软件在日本大火。这款翻译软件名叫DeepL,大火的原因正是因为它工作太负责了,翻译得太过准确,在日本引起了热议。

刘俊寰 ·  4天前
应用程序管理中的AI/ML用例

基于人工智能的操作 (AIOps) 是人工智能和传统 AM/IM 操作的融合。与所有其他领域一样,AI 将对运营管理产生重大影响。

佚名 ·  4天前
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载