Mars:加速数据科学的新方式

本文分为4个部分:

  • Mars的背景和现状

  • Mars解决了什么问题

  • Mars背后的哲学

  • 总结与展望

一、Mars的背景和现状

说到加速数据科学的新方式,就不得不说什么是数据科学,以下是维基的定义:

数据科学通过运用各种相关的数据来帮助非专业人士来理解问题。第一,它的目标是从数据中提取输入价值的部分,第二,它要生产数据产品,第三它结合了非常多重要的技术,包括数学、统计、机器学习、可视化,最后,它需要真正解决问题。

它包含三个方面,计算机科学、数学和统计、领域和商业知识。它们结合起来分别是机器学习、软件开发和传统研究,中间是数据科学。

数据科学技术栈包含语言、数据分析、数据工程、机器学习、Web开发、运维和商业智能。每个技术栈都包含不同的工具,提供不同的数据服务。

传统Python数据科学栈的三大底座是NumPy、Pandas和SciPy。NumPy是最核心的部分,它用来做数值计算,几乎其他所有Python的数据科学技术栈都建立在NumPy上,因为它有最基础的数据结构,也就是多维数组;另外,Pandas也用NumPy实现,它上面有很多API来进行分析操作;而SciPy主要负责科学计算。在此基础上,是机器学习和可视化,同时还有丰富的Python函数。

上面是Python数据科学技术栈整体的状况,他们有几大好处,比如广泛使用,是事实标准;上手成本低,容易为初学者和学生入门;和语言结合紧密,能用Python来组织函数调用。但是它们都是单机的库,不能处理很大的数据量,所以需要用到大数据的数据工程技术栈,比如Hadoop、Hive、Spark等。它们虽然支持多语言,没有强绑定,但是学习门槛比较陡峭,也需要对系统本身有足够的了解。做数据科学需要把精力放在数据本身,而不是工具,但是这几个库让工作围绕着库展开,而非数据。因此,我们是否能把这两个工作连接起来,利用传统的技术价值而不是关注大数据系统本身,来解决很多问题。

现在大家说摩尔定律已经失效,我们可以回顾一下它的历史。早期它通过复杂指令集和精简指令集的方式让速度提升,但是随着缩放比例定律和阿姆达尔定律的终结,未来是不是要20年才能达到2倍效率的提升呢?

另外随着深度学习、机器学习和AI的火热,机器学习模型也会越来越大,它的训练已经呈指数级增长,但是摩尔定律并没有追上机器学习模型训练发展的速度。

另外一个现状就是技术栈的问题,NumPy、Pandas等它们更多只能在单核上来应用计算,但是阿姆达尔定律下的核数是会越来越多,所以并没有很好地进行利用。同时,不管是计算量还是数据规模的增长速度,都超过了摩尔定律的速度,所以也不能用单机解决问题。

基于以上,加速数据科学主要有两种方式。第一是Scale up,利用多核和更好的硬件,比如GPU、FPGA和TPU等,以及现有的库,包括Modin、CuPy、Rapids等来提升效率。第二是 Scale out,利用分布式的方式来加速,因为单核的性能总归是有限的,可以利用Ray、Dask和Modin等。而结合Scale up和Scale out,就可以构建一个大规模的更好的硬件集成,比如今天介绍的加速数据科学的新方式Mars。

二、Mars解决了什么问题

Mars就是我们试图构建的“桥”,能来兼顾小规模和大规模数据处理。大规模数据处理能构建集群,有三种主要方式,第一是在物理机上,第二是kubernetes,第三是Hadoop Yarn的调度器上,拉起Mars的集群。

Mars的核心基础部分对应着传统Python数据技术栈,比如Mars Tensor对应NumPy,DataFrame对应Pandas等。而构建在这个基础之上的,是Mars Learn模块,它可以兼容Scikit-learn API,能简单地进行更大数据规模的分布式处理。此外,Mars还支持深度学习和机器学习的框架,比如能轻松运行TensorFlow、PyTorch等,而且可视化也可以在Mars上宣布。除此之外,Mars还支持了丰富的数据源。

从传统Python技术栈到Mars也非常简单,比如在NumPy和Pandas里要变成Mars,只需要替换import,然后后面变为延迟执行即可。

普通的Python函数,在调用的时候变成mr.spawn来延迟这个过程,最后通过execute来并发执行,不用担心Mars是运行在单机上还是分布式运行。

而Mars上的TensorFlow大部分也一样,区别在于main函数部分的变化。

三、Mars背后的设计哲学

第一是分而治之,不重复造轮子。比如创建一个Mars的Tensor,对里面所有元素进行求和操作,在触发execute之后,Mars会生成小任务的计算图,它可以将小任务调度到分布式的集群中来运行。此外还做了很多优化,通过算子融合来提升性能。

第二,在Mars的世界,一切皆可并行。在Mars里实现了并行正则排序算法,比如创建一个cluster,有5个Worker,每个Worker是8核32G,那么相比单机的NumPy函数,它提升了4倍。

下面看下Mars整体数据的处理流程。我们通过客户端的代码触发执行,生成一个粗粒度的计算图,然后通过Web服务器提交任务,并将任务转发给Scheduler,然后在这里切分成小任务。随后,Scheduler根据Worker工作负载的情况来把它分发到各个机器上运行,这里会用到调度的策略等等。这个过程中,Mars会自动触发数据传输工作,保证在节点执行的时候它所有输入的数据都在这台机器上。此外Mars还会自动进行Spill操作,当我们内存不够的时候,它会把不常用的数据Spill到磁盘上,让Mars可以处理远超过这个内存能放下的数据规模。

四、总结与展望

首先Mars是完全开源的项目,完全遵循开源的规范,而且项目的progress都能在GitHub上看到;其次Mars有兼容性,它的API高度兼容NumPy、Pandas和Scikit-learn;同时,它的单机、多核与分布式的处理性能也更高;最后是交互性,Mars Remote可以把以前的代码变成分布式代码,并且内部也可以与第三方库做集成。

下面是关于Mars未来的展望,大家可以访问专栏。未来我们的开发计划重心放在提升Mars learn的接口覆盖率和Mars DataFrame接口覆盖率上,统一单机和分布式执行层等等。

本文为阿里云原创内容。

(0)

相关推荐

  • Python数据科学小抄手册大全

    刚开始学一门编程语言或者一个库的时候,经常对于有些常用的语法记不起来.这时候你可能会百度谷歌,实际上我们可以身边放一张速查表(小抄),增强我们的学习效率. 今天大邓整理了python基本语法.nump ...

  • 十大最受数据科学欢迎的Python库

    很多读者,学习python的就是希望通过数据分析.AI进行求职.转行或者是科研.所以行哥这里罗列了数据科学最受欢迎的十大Python数据科学库,看看有几个是你没掌握的: NumPy NumPy是一个主 ...

  • 吐血推荐 | 珍藏多年的 Python 库,务必收藏

    来源:Python 技术「ID: pythonall」 得益于 Python 的简单易用,越来越多的小伙伴开始使用 Python 作为自己的入门编程语言,同时众多的 Python 库也为 Python ...

  • Python常用科学计算库有哪些?

    大家都知道,编程语言有很多,其中包括Python.Java.PHP等.对比其他编程语言来讲,Python具有非常独特的优势,它拥有很多第三方库,可应用于各大领域,比如人工智能.科学计算.那么Pytho ...

  • vaex 处理海量数据

    在数据科学计算.机器学习.以及深度学习领域,Python 是最受欢迎的语言.Python 在数据科学领域,有非常丰富的包可以选择,numpy.scipy.pandas.scikit-learn.mat ...

  • Python Pandas是什么?Python基础入门

    近年来,随着人工智能.大数据的发展,数据分析行业迎来爆发期,人才需求持续增长,转行数据分析的人越来越多.说起数据分析,小编为大家介绍一个数据分析工具-Pandas. Pandas是什么? Pandas ...

  • 2021年数据科学学习路线图

    建立自己的学习轨道,以掌握应用数据科学的艺术 > High-level Data Science Roadmap 尽管除了日期以外,其他一切都没有真正改变,但新的一年充满了所有人的希望,重新开始 ...

  • 媒介技术视野下数据科学与媒介研究的新进展

    作者:徐婧 马晓悦 来源<西安交通大学学报(社会科学版)>2020年第3期 摘要 随着数据科学持续深入地嵌入到日常社会生活,对数据科学与人文社会科学各学科的交叉融合的讨论已成为学界关注的焦 ...

  • 艺术不等于科学,新印象主义的西方式艺术探索偏差

    "老印象主义的骗术再也找收不到支持者.新印象派画家才是今后引人注目的群体." 艺术可以说是最为喜新厌旧的,停下前进的脚步就会被目为凡庸,形成一股风潮则又可能会主动被动地堕入流俗,因 ...

  • 新工科、新医科、新农科、新文科专业建设下的数据科学教育 教育资讯

    新一轮科技革命和产业变革正在引发世界格局的深刻调整,将会重塑国家竞争力在全球的位置,重构人们的生活.学习和思维方式.高等教育,作为给国家经济社会发展输送高素质人才的主渠道,如何才能不滞后于时代?成为近 ...

  • 数据科学,如何帮我们应对新冠疫情?

    数据科学和分析人员们都更愿意回到更加传统的领域,例如需求预测和消费者行为分析. 来源丨Forbes 作者丨Tom Davenport 编译丨科技行者 在新冠肺炎流行期间,很多数据科学家和商业分析从业者 ...

  • 你必须知道的黑科技-容积数据和容积摄影 360度的拍摄新方式

    今天大家讲一下容积数据 首先给大家说一下什么是是容积摄影 什么是容积摄影呢? 大将应该听说过迈克尔·杰克逊的全息演唱会. 迈克尔·杰克逊演出采用全息技术,360°真实还原迈克尔·杰克逊的超强舞台魅力, ...

  • 数据正以新的生产要素方式释放新的“红利”

    [原创] 数据正以新的生产要素方式释放新的"红利" (非特别标注,文章皆为谭浩俊原创) 12月3日,在2019阿里云广东峰会上,阿里云智能总裁张建锋表示,全面迈入数字经济时代,数据 ...

  • 营养足、减体重、降血糖...吃饭做到这4点,打开健康生活新方式~

    近些年来,由于物质的过度满足,导致营养失衡,肥胖问题以及老年人的"三高"问题日益攀升,严重威胁人体的健康.所以"低碳"饮食的呼声越来越高. 那么,究竟什么是低碳 ...

  • 陈根:高盐饮食破坏免疫细胞,科学提出新见解

    陈根 知名科技作家为你解读科技与生活的方方面面.05-07 11:05 文/陈根 盐作为日常食物的重要组成部分,对身体的内环境平衡有非常重要作用.摄入过量的盐往往会导致许多的心血管系统和肾脏相关疾病. ...

  • 口腔上火牙龈肿痛的救火新方式,BiClean洁齿护龈牙膏体验

    现在天气越来越热,大家应该也很容易遇到牙龈上火之类的问题,这时候牙龈肿痛起来确实让人很不舒服,所以很多人一遇到这种情况,一般就不去刷牙了,不过这时候如果不仔细清洁口腔的话,难免会对牙龈造成更大的伤害, ...