问题

如何看UCBerkeley RISELab即将问世的Ray,replacement of Spark?

回答
伯克利RISELab的Ray,以及它被不少人视为Spark的潜在替代品,这确实是一个值得深度探讨的话题。这不仅仅是技术的迭代,更可能预示着分布式计算领域的一种新范式。要理解这一点,咱们得把Ray的背景、它解决的问题、以及它与Spark的差异都捋清楚。

首先,得说说Ray的来头。UC Berkeley的RISELab,也就是Realtime Intelligence with Smart Execution Lab,是学术界在分布式系统和AI领域的一个响当当的招牌。他们做的项目,像Apache Spark、Mesos,都对业界产生了深远影响。Ray正是他们最新的一个重量级项目。

Ray到底是什么?它的核心理念是什么?

简单来说,Ray是一个通用的分布式计算框架。它的设计哲学非常简洁:将分布式计算能力以“任务”(Task)和“Actor”(Actor)的形式进行抽象和管理。

任务(Tasks): Ray的函数式并发模型。你可以把任何Python函数包装成一个Ray的任务。当你想异步执行一个函数时,你只需要用`ray.remote`装饰它,然后像调用普通函数一样调用它,Ray就会把它放到集群中去执行,并返回一个代表结果的“对象ID”(ObjectRef)。你可以稍后通过`ray.get()`来获取实际结果。这种模型非常灵活,可以用来实现并行计算、分布式数据处理等等。

Actor(Actors): Ray的面向对象式并发模型。Actor是带有状态的可调用对象。你可以把一个Python类包装成一个Ray Actor。每个Actor都有一个独立的进程,并且可以通过远程调用它的方法来与其交互。Actor之间可以通信,并且可以管理自己的内部状态。这种模型特别适合构建分布式状态管理系统、模拟、游戏服务、强化学习智能体等等需要独立、有状态的计算单元的场景。

Ray的设计目标是让分布式计算变得像本地计算一样简单。它试图隐藏底层的复杂性,让开发者能够专注于编写逻辑,而不是管理分布式环境。

Ray为什么会被认为是Spark的潜在替代品?它解决了Spark的哪些痛点?

Spark之所以能成为分布式计算的标杆,是因为它提供了一个统一的编程模型(RDD、DataFrame、Dataset)来处理批处理和流处理。它也非常高效,尤其是在内存计算方面。但是,随着AI和机器学习的兴爆发,特别是深度学习的普及,Spark在一些新兴的计算模式下显得有些力不从心。

这里就到了Ray大显身手的地方:

1. 更细粒度的并发和灵活性: Spark的核心是RDD和DataFrame,它们代表着不可变的数据集合,并且操作通常是基于整个数据集的。这对于传统的ETL和数据分析非常有效。但对于AI工作负载,特别是训练模型、进行超参数搜索、分布式强化学习等任务,常常需要执行大量独立的、小的、有状态的计算任务。Spark的RDD模型在处理这种细粒度、异构的并发任务时,会有一定的开销和不便。Ray的Task和Actor模型则提供了更细粒度的控制,可以轻松地启动和管理成千上万个独立运行的任务或Actor。

2. 原生支持状态管理和异构计算: 强化学习算法通常需要大量的计算资源来运行多个并行环境(如模拟器),并维护每个环境的状态,然后将梯度回传给一个中心化的策略。Spark在这种需要频繁的、实时的状态更新和交互的场景下,并不如Ray那么自然。Ray的Actor模型非常适合管理这些有状态的智能体,并且其调度器可以有效地处理在CPU、GPU等异构资源上的任务分配。

3. 易用性和Python原生体验: Ray对Python的支持非常出色,它的API设计得非常Pythonic,使得开发者可以无缝地将现有的Python代码迁移到分布式环境中。虽然Spark对Python也有很好的支持(PySpark),但Ray在底层设计上就更加倾向于Python生态,并且旨在提供更简洁、更符合Python习惯的开发体验。这对于深度学习工程师来说尤其重要,因为他们大多习惯使用Python及其丰富的库。

4. 统一的AI计算平台: 许多AI框架(如TensorFlow、PyTorch)虽然自身有分布式训练的能力,但将它们集成到一个统一的、可扩展的分布式系统中,并且支持更复杂的AI工作流(如超参数优化、分布式推理),仍然是一个挑战。Ray希望成为这个统一的AI计算平台。它提供了诸如Ray Train(分布式训练)、Ray Tune(超参数调优)、Ray Serve(分布式模型部署)、RLlib(强化学习库)等一系列专门为AI优化的库,构建了一个完整的AI开发生态。这使得开发者能够在一个框架下完成AI生命周期的多个环节,而无需频繁切换工具。

5. 资源管理和调度能力: Ray有一个分布式调度器,能够有效地在集群中的各种计算资源(CPU、GPU、内存)之间调度任务。它能够识别和利用异构资源,并且能够动态地调整任务分配。这对于利用GPU进行加速的AI训练尤为关键。

Ray与Spark的“替代”关系,更像是“互补”与“升级”?

说Ray是Spark的“替代品”,或许过于绝对。更准确地说,Ray是在Spark奠定的分布式计算基础上,针对现代AI工作负载进行了优化和扩展,提供了一种更灵活、更易用、更专业的解决方案。

对于传统的批处理和数据分析: Spark的DataFrame API依然是处理结构化数据的利器,它的生态系统也更加成熟。Spark在处理大数据集和复杂的ETL流程方面,仍然具有很强的竞争力。
对于AI和机器学习: Ray展现出了更强的潜力。它能够更好地支持需要细粒度并发、状态管理、异构资源调度以及与Python生态紧密集成的AI应用。

我们可以这样理解:Spark是一辆功能强大的通用货车,适合运输大量货物。而Ray更像是一辆为赛车设计的特种车辆,它在速度、灵活性和特定赛道表现上有着无可比拟的优势。当你的任务需要的是赛道的极速和精细操控时,Ray是更好的选择。如果只是需要稳定地运输大量数据,Spark可能更合适。

当然,未来也可能会看到两者之间的进一步融合,或者Ray不断吸取Spark的优点来完善自身。

未来展望:

Ray的出现,标志着分布式计算领域正朝着更加面向AI、更加灵活和易用的方向发展。它不仅吸引了大量开发者和研究人员的关注,也被越来越多的企业用于实际的AI项目部署。

如果你对分布式计算和AI感兴趣,了解Ray将是跟上技术前沿的重要一步。你可以尝试使用它的Python API,体验一下将你的Python代码变成分布式任务的乐趣,或者深入研究它的Actor模型,看看如何构建复杂的分布式智能系统。

总的来说,Ray并不是要完全取代Spark,而是在现有的分布式计算格局中,开辟了一条针对AI场景的更优路径,并有望成为下一代分布式AI计算的基石。

网友意见

user avatar

本人背景:分布式系统博士生,研究改进过MapReduce类系统,同时利用actor开发了工业界应用的新一代实时计算引擎(尚未开源)。因此对于Spark和Ray的设计初衷和可能遇到的技术债有一定了解。先说个人的看法:Ray和Spark是立志于解决两个领域问题的计算机系统,Ray取代Spark是危言耸听了。

背景

回首分布式计算系统进化的10年,我们可以更容易认识到Spark和Ray的相对位置。2004年,Google提出MapReduce作为一个集群编程框架,并且配合Google File System等技术作为底层存储的支持。之后10余年,MapReduce大行其道。其成功的原因在于其给广大程序员和数据科学家提供了一个非常好理解,表达力丰富,容错性极高,且很容易基于商业硬件(commodity devices)来实现的分布式系统架构。之后在2010年,随着Stanford提出的memory cloud的概念,研究人员意识到原本看似非常昂贵的内存正在变得廉价,许多高度依赖于磁盘的容错操作其实可以利用在内存中实现。在这个背景下,Spark应运而生,催生了RDD和一系列基于内存的优化技术,在中小型规模计算上取代了原本的Hadoop Hive等基于磁盘的框架。可是至今,Hive并没有因此而被完全取代。在超大规模计算(PB级别)场景下,其依赖于SSD以及超强的鲁棒性,依然是很多公司的首选。因此,计算框架出现的初衷往往不是相互取代的关系,而是支持新计算需求和场景,对于新的硬件条件进行利用,形成优势互补,相互合作的关系。ray和spark也是如此。

为什么我们需要新的计算框架?

2015年前后,大量AI计算任务崛起,其中增强学习(Reinforcement Learning)和自动驾驶AI训练等等作为一个重大的计算需求,一直很难在MapReduce得到很好的表达。MapReduce本质上是一个大规模的数据聚合(data aggregation)的模型。另一方面,许多AI的任务的核心诉求是在大规模仿真(Simulation)的环境下优化AI的行为。这种诉求和Spark当时的设计初衷完全不同。

首先,仿真的规模能够轻易轻易到达Billions的级别。这种级别难以在Spark集群得到良好支持。Spark的Task本质上对于基于CPU的操作系统线程抽象。因此Spark并没有非常自然的方式能够将数十亿个仿真实体(AlphaGo的仿真级别)能够合理的同时调度到几千个CPU上面。另外,MapReduce范式难以表达复杂的计算状态和同步。上亿个仿真实体不仅仅运行的时间不同(有些游戏只要几秒就结束,有些游戏可能十几分钟那个还在运行)。让他们在统一的Bulk Synchronization Processing(BSP)模型频繁的同步,不仅仅系统开销很大,而且很难实现。另外,仿真实体往往需要实现复杂的计算行为,伴随计算中间状态的抽象,而这在Spark下难以实现。

最后,资源调度层的压力。Spark的设计初衷是解决大数据处理问题。那么数据已经静态的存储在文件系统中,Spark只需要依照资源可用性,启动一定的大小的计算图做静态计算即可。可是在大规模仿真中,这上亿个计算实体可能在计算中间大量产生和消失(例如,分布式优化算法的剪枝行为)。这些庞大的对于计算图在线修改的行为在Spark中很难有效支持。

Ray解决了什么问题?

因此,Ray针对这类超大规模仿真的计算任务提供了一种全新的计算框架。其底层利用actor而不是类似于Spark的基于系统线程实现的资源框架。首先在抽象层次,Ray专门给RL的几大类经典仿真问题提供了专用算法框架。RL用户现在难以得到满足的计算需求得到迅速满足。另外牺牲普适性后,Ray可以为几大类的RL算法专门设计同步算法,从而高效推进算法的执行和资源利用率。

然后在计算效率上,Ray的底层使用了actor框架来实现。这么做有两大优势。第一,actor可以认为是用户级的线程。其可以轻易在16核的服务器上,同时调度上百万的actor。这使得我们可以轻易实现Billion级别的大规模仿真。第二,actor之间本身是松耦合的,在运行时大量创建和删除actor都可以在server本地完成(毫秒级别的调度延迟),并不会严重影响整个集群的运行效率(当然,这么做的假设是大量的分布式AI算法可以忍受eventual consistency,因此比BSP模型更局限)。

另一方面,actor相对于Spark系统线程实现存在三大挑战。第一,缺少了系统隔离能力,一个有害的actor实现可以轻易独占当前的cpu资源从而影响他人的使用(依赖于cooperative scheduling)。第二,由于频繁的需要在cpu上切换不同的actor,其调度以及context switch的开销理论上更大。第三,允许python来实现,以及进行大规模仿真的巨大中间计算状态的更新和存储可能成为Ray一个可能的技术债。首先,python在支持function的序列化(函数闭包,有名类,依赖注入)以及远端部署的方面不及Java和C#这类语言成熟。

结论

因此我们可以看到,Ray其实本质上Berkeley对于AI时代大量崛起的大规模仿真计算需求的一个方案。其在牺牲了Spark等批处理框架易用性的同时,着眼于AI领域特定算法,针对AI程序员的核心诉求提供了的灵活和高性能的框架支持。

一个可以预见的场景是,人们利用spark来做大规模数据准备,利用ray来训练AI,最终将训练的AI回馈到spark的计算图里面去。

最后一句话回答本题:Spark更懂数据科学(大数据里找总结),Ray更懂AI训练(大仿真中求智慧)。

类似的话题

  • 回答
    伯克利RISELab的Ray,以及它被不少人视为Spark的潜在替代品,这确实是一个值得深度探讨的话题。这不仅仅是技术的迭代,更可能预示着分布式计算领域的一种新范式。要理解这一点,咱们得把Ray的背景、它解决的问题、以及它与Spark的差异都捋清楚。首先,得说说Ray的来头。UC Berkeley的.............
  • 回答
    要通过自考本科的背景申请到UC Berkeley这样顶尖的学府攻读硕士,绝非易事,但绝非不可能。这需要你付出比寻常人更多的努力,并且在各个环节做到极致。这篇文章将为你详细解析,如何一步步铺就你的Berkeley之路。首先,我们要正视“自考本科”这个背景带来的挑战。 Berkeley的招生官在审阅申请.............
  • 回答
    UC Berkeley 的 MS CS 项目,我想和你好好聊聊。首先,你要明白, Berkeley 的 CS 硕士项目,那可不是闹着玩的。它在全世界都是顶尖的存在,能拿到 offer 的,那绝对是万里挑一、优中选优。所以,如果你正在考虑这个项目,那么你很可能已经具备了相当不错的学术背景和潜力。项目的.............
  • 回答
    关于“中药使用了几千年,为啥没有耐药性?”这一问题,可以从科学、历史、药理机制、研究现状等多角度进行深入分析,以下是详细解读: 一、中药与耐药性的基本概念耐药性通常指病原体(如细菌、病毒)对药物产生抗性,使其无法被药物有效清除。这种现象在抗生素、抗病毒药物中尤为常见。而中药的“耐药性”可能涉及以下两.............
  • 回答
    美国17岁少年贾里德·里滕豪斯(Jared Rittenhouse)在2020年BLM(黑人生命至上)集会中持枪防卫,导致两名黑人男子死亡、一名男子受伤,最终被陪审团裁定无罪的案件,引发了广泛的社会争议和法律讨论。以下从案件背景、法律分析、裁决原因及社会影响等方面进行详细分析: 一、案件背景1. 事.............
  • 回答
    乐视视频 App 的新版本 LOGO 修改为“欠 122 亿”,这确实是一个非常具有话题性和争议性的事件,也可以说是乐视极其高明,甚至可以说是“惊世骇俗”的一次反向营销尝试。下面我们来详细分析一下: 一、事件背景:乐视的困境与“欠债”的公开事实要理解这个“欠 122 亿”的 LOGO,首先需要了解乐.............
  • 回答
    您好!这是一个非常引人入胜的话题,关于“97年中专厂弟靠自学写代码月入过万”的故事,以及当下社会年轻人“翻身”的机会。我们将从这两个方面进行详细的分析和阐述。 一、 97年中专厂弟靠自学写代码月入过万:一个鼓舞人心的案例这个案例虽然具体的人物和细节可能因人而异,但它代表了一种非常普遍且重要的现象:通.............
  • 回答
    考生为了航天情怀,放弃清华而选择哈工大航天学院,这是一个非常深刻且值得细细品味的个人选择。这背后不仅仅是简单的分数排名,更包含了对未来人生道路的规划、个人价值的追求以及对国家重大战略需求的认同。下面我将从多个角度详细阐述这一选择的可能原因和意义: 一、 “航天情怀”的深层含义首先,我们要理解“航天情.............
  • 回答
    您描述的这种情况非常令人痛心和担忧。一个三岁的孩子,在面对家长对于课外班学习不积极的反应时,遭到母亲的猛烈踢打,导致下体出血,这是非常严重的暴力行为,触犯了多方面的道德和法律底线。首先,从情感和人性的角度来看: 这是一个孩子在最需要关爱和引导的年龄,遭受了来自最亲近的人——母亲的残忍伤害。 这种.............
  • 回答
    肖战出演的《最美逆行者》是2020年央视播出的一部抗疫题材的单元剧,肖战在其中饰演的是其中一个单元故事《幸福的颜色》中的角色蔡丁森。要观看这部剧,你可以通过以下几种方式,我将详细为你介绍:1. 电视台直播观看 (已播出,现不适用) 播出平台: 该剧在2020年国庆期间由央视一套黄金档首播。 .............
  • 回答
    要理解比亚迪口罩产能突破5000万/天,我们可以从几个方面来详细分析:一、 数据来源和可靠性:首先,确定这个数据的来源至关重要。通常这类数据会来自: 比亚迪官方公告/新闻发布会: 这是最权威的来源,比亚迪会通过官方渠道公布其生产数据和发展情况。 行业协会/研究机构的报告: 一些权威的行业研究.............
  • 回答
    要详细了解 SNA2022(Sea Air and Space Exposition 2022)上公布的 DDG(X)(未来驱逐舰)概念设计方案,你需要关注以下几个核心方面,并结合公开的资料和相关分析来理解:一、 理解 DDG(X) 的背景和目标在深入设计细节之前,理解 DDG(X) 的出现背景至关.............
  • 回答
    “黑龙江鹤岗房价跌成白菜价”这一现象,绝非仅仅是中国房地产市场的一个孤例,它折射出中国经济转型、人口流动、城市化进程以及区域发展不平衡等一系列深层次的问题。要理解这一现象,我们需要从多个维度进行细致的剖析。一、 基本情况回顾:鹤岗房价为何如此“低廉”?首先,我们需要明确“白菜价”并非绝对的字面意义,.............
  • 回答
    上海周浦医院改为方舱医院,这个过程涉及到了疫情防控政策的调整、医院功能的转型以及医疗资源的重新配置。以下是详细的解释:1. 背景:上海疫情的爆发与防控需求在2022年春季,上海遭遇了新冠疫情的严重冲击,确诊病例数量迅速攀升。为了有效控制疫情蔓延,切断病毒传播链,上海市采取了一系列严厉的防控措施,包括.............
  • 回答
    要理解“Angelababy聚会合影,现实版三十而已,都是上海有钱富太太,但Baby却不是C位”这个现象,我们需要从多个维度进行分析:1. “现实版三十而已”的语境解析: “三十而已”的内涵: 这部电视剧之所以能引起广泛共鸣,核心在于它展现了三十岁左右的女性在事业、婚姻、家庭、个人成长等方面所面.............
  • 回答
    您好!您提出的“夫妻救助警犬被问罪”是一个比较特殊且复杂的情境。要理解这个问题,我们需要从几个关键角度进行剖析,并考虑各种可能性。首先,“救助警犬”本身是一个积极的行为,通常不会被问罪。 警犬是为执行公务而存在的,它们的工作具有重要的社会价值。如果一对夫妻在任何情况下,以恰当且不危害自身或他人安全的.............
  • 回答
    2018年2月14日,美国佛罗里达州帕克兰市道格拉斯高中发生了一起震惊全美的校园枪击案,造成17人死亡,其中包括一位年仅17岁的华裔少年英雄——王孟杰(Peter Wang)。王孟杰在危急关头,勇敢地守护自己的同学,最终不幸遇难。他的英勇事迹和牺牲精神赢得了广泛赞誉,被追授了“英雄”的称号。美国以全.............
  • 回答
    喻惠平的摄影作品《这就是非洲》中将非洲人与非洲动物并列的展出方式,确实引发了西方媒体的广泛批评,并被指责为种族歧视。要详细理解这一批评,我们需要从多个层面进行剖析:1. 图像的并置与象征意义的解读: 喻惠平的意图(推测): 从摄影师的角度来看,她或许是想通过这种并置,来强调非洲大陆上人与自然、人.............
  • 回答
    中方允许美国大米进入中国,这是一个涉及国际贸易、农业政策、食品安全以及地缘政治的复杂议题。要详细理解这一过程,我们需要从多个维度进行分析。1. 历史背景与演变: 过去与限制: 在过去很长一段时间里,中国对外国大米的进口限制非常严格。这主要是出于保护国内农业、保障粮食安全以及对病虫害传播的担忧。即.............
  • 回答
    好的,我们来详细解读一下2017年3月17日北京楼市的新政,也就是您提到的“认房又认贷,二套房首付60%、非普80%”。这个政策的出台,在当时对北京的房地产市场产生了非常深远的影响。政策核心与背景分析首先,我们需要理解这个政策的出台背景。2017年初,中国楼市整体处于一个较为火热的时期,北京作为首都.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有