雷锋网记者在云栖大会现场参加了一场计算智能峰会,对阿里巴巴的计算引擎系统产生了极大的兴趣。除去现场聆听阿里巴巴集团副总裁周靖人、阿里巴巴研究员&PAI平台负责人林伟、阿里巴巴资深技术专家&Dataworks负责人徐晟、阿里巴巴研究员&Maxcompute负责人关涛、阿里巴巴研究员&实时计算负责人蒋晓伟等五人的演讲,更是在会后对其进行了深度采访。在整个对话交流中,对阿里巴巴的新一代计算引擎有了全局的掌握。
我们了解到,阿里巴巴计算平台的新一代计算引擎,支撑了整个阿里经济体90%以上的结构化、非结构化数据的存储、交换、管控,数据规模已超EB级别。其中:
MaxCompute 是阿里巴巴自主研发的大数据计算引擎,在阿里集团历届双11海量数据的大规模并行计算中,在高并发、吞吐量等各方面承受住了大规模计算的考验,在2015年Sort BenchMark排序竞赛中,一举打破四项世界纪录,奠定了阿里集团大数据离线计算引擎的地位;
Blink作为Flink的演进版本,是阿里集团最新一代实时计算引擎,提供了流式数据计算能力,能够支持百万级吞吐量的作业,计算可达秒级延迟,关键指标超越开源Storm性能6到8倍,计算成本远低于开源软件。自2017年以来,经历了双11实时业务数据复杂分析考研的Blink已成为阿里集团最重要的实时计算引擎。
PAI是阿里巴巴机器学习平台,无缝对接了强大的计算引擎及大数据研发平台,具备超大规模稀疏模型的CPU系统级优化、大规模图像&语音&文本领域的GPU系统级优化、在线推理加速需求的模型压缩等核心能力,支持在线学习、深度学习、增强学习及迁移学习等多种学习方式。
而现场,阿里巴巴展示了新一代计算引擎,布局整个大数据和AI生态链,这就是DataWorks。有个很形象的比喻是:如果把MaxCompute 、Blink、PAI等类比为一台PC的CPU、GPU、SSD等硬件设备,那么DataWorks就是这台大数据PC的Windows操作系统。可见,DataWorks是对计算引擎整体上进行了封装。
据雷锋网了解,实际上,DataWorks这个项目早在2009年就已启动,到目前已经成为阿里集团数据开发的标准平台,支撑着阿里集团、蚂蚁金服、菜鸟、优酷、高德等所有事业部的数据开发任务。
进入公共云市场,要前推到2013年,那时候DataWorks系列产品在全世界16个国家和地区实现部署可用,包括新加坡、悉尼、香港、德国、马来西亚、日本、美国等。当然也在国际上揽获了一系列奖项,比如2017年,以DataWorks为主体的阿里云数加,获得了国际软博会金奖;2018年,DataWorks名列国家大数据博览会十佳产品,荣获最佳案例实践奖;在2018国际权威评测机构Forrester公布的Cloud Data Warehouse第二季度的榜单上,代表阿里云,携手MaxCompute,获得了世界排名第二的成绩。
在对话交流环节,雷锋网就业界关心的话题向5位平台负责人进行了提问,以下为对话实录,雷锋网做了不改变原意的编辑与整理:
提问:Dataworks对计算引擎做历史传承,有何目的?
周靖人(阿里巴巴集团副总裁):阿里巴巴从2008年、2009年就开始做大数据和云计算,之前都是为了支撑核心的电商业务,也是随着阿里巴巴的业务,大数据的平台得到了高速的发展,这个平台也就是Maxcompute的前身。其实今天所发布的所有的计算引擎包括Maxcompute、Blink、PAI、Dataworks,都不是简简单单一个产品,首先都是在阿里巴巴自身的业务场景里面取得了巨大的成功,也是帮助整个业务发展起到了一个至关重要的作用。
经过这么大的业务体量高强度的验证过后,我们也希望把同样的技术普惠到全球,特别是中国的企业用户,所以才把这些产品通过阿里云的方式对外输出,去服务各行各业的企业用户。所以从历史来讲,因为至少在中国,阿里云整个计算平台应该是历史最悠久,当然可以说也是技术积累最深,同时也是经受住了非常大的业务考验,具有真正企业级服务能力的大数据的智能计算平台。
提问:产品的发布看似顺理成章,实际上最难点在于?
周靖人:每个业务都有不同的计算引擎,导致很多不同业务采取的计算方案还是有一些不一样。随着阿里巴巴整个业务的体量发展,随着整个核心技术的研发,整个阿里巴巴集团也越来越体会到我们今天需要有一个统一、高效的计算平台,会支持各种的计算模式,而不是单一的引擎。难点在于,怎么样保证高性能、效率、功能和稳定性,甚至安全等等。
我们也非常清楚整个大数据以及人工智能的开发,不是简简单单只包含了一些引擎的优化,整个的流程是非常长的。训练一个模型,不是说模型就不变了,很多时候是因为所有的应用各方面不断产生数据,新的数据会给我们带来一些新数据,我们也会通过一些新的数据来修正我们之前的模型,同时修正的模型也能实时去进行发布,中间的每一步都至关重要。
提问:计算平台会随着阿里云的全球化而全球化?
周靖人:是的,也就是说我们今天为中国公司的业务国际化提供了一个坚实的基础。随着他们的业务发展,其实他们并不需要担心是不是到了另外一个国家,是否需要把整个应用移植到另外一个平台。今天随着阿里云的成长,有了成熟的技术,他们可以使用同样一个引擎,能够在不深度变化他们的APP,就可以很快把他的业务拓展到海外,我觉得这都是我们整个计算平台、阿里云云基础建设给用户提供的巨大的优势。
提问:做一站式平台,是否意味着目前第三方的IT外包公司就会消失?
周靖人:恰恰相反。阿里巴巴提供的是一个基础的开发的环节,今天还需要大量甚至更多的第三方公司在上面,根据他们的业务特征、业务专长去搭建更专业的平台、更专业的引擎。我也相信由于云计算、大数据的发展,今天其实跟第三方的公司会促成更大的机遇。因为有了这样一个云平台,有了这样一个大数据的系统,我们的合作伙伴真正意义上有了机会接触更大的用户群体。
提问:机器学习领域,在充分训练的前提下,是不是深度学习网络参数越多,数据量越大,效果就越好?
林伟(阿里巴巴研究员、PAI平台负责人):不是的。模型越大参数越多,其实会造成更多的问题——因为参数表达能力空间更大。这就是为什么我们在训练的时候要控制一些参数规模。因为机器学习是捕获背后的逻辑关系,但是它的逻辑关系从真实和自然来说不会有那么多。如果一个很大的参数,理论上其实是在违背它的自然规律。所以并不是数据越多就越好。
但为什么深度学习最近这么热?是因为有很多潜在的关系,人是看不到的,所以它通过一个很深度的网络,通过数据的能力,可能原来达不到的好效果,现在就能达到了。但大家不要忽略了数据。我们做机器学习的都知道数据最关键,如果数据都是一些不准确的数据,那是无法训练出一个靠谱的模型。
提问:阿里为什么会选择Flink作为新一代流式计算引擎?Flink目前有哪些核心的技术值得外界关注?
蒋晓伟(阿里巴巴研究员、实时计算负责人):2013年之前我们开始Flink项目,调研了业界所有的计算引擎,当时的目标不是简单选一个流计算的引擎,我们只想选一个通用引擎,我们坚信在不同的计算模式下,有一个东西能支持多种计算场景。但由于很多流计算引擎需要你在延迟和吞吐之间做一定的取舍,所以在本质上流计算引擎是不可能做到最优的,特别是在对延迟要求比较高的时候,它是很难满足这种需求。所以这时候我们开始调研其他的各种引擎。经过调研之后,我们觉得Flink价格最符合我们的理念。
Flink的出发点跟spark正好相反,它是把流计算当做基础,能够实现连续处理。这样的批处理用流计算来做(雷锋网注:批处理和流处理基本的区别在于每一条新数据在到达时是被处理的,还是作为一组新数据的一部分稍后处理。批处理指稍后执行,流处理指立即执行)。Flink这种价格能够长期让我们在流计算和批处理做到非常完善,所以我们决定用Flink。
过去三四年时间里,我们在Flink引擎上做了非常多的投入:Flink的多版性能改进、引入新的价格、共享更好的代码等等。在阿里内部,由于我们有更好、更先进的硬件架构,我们开始支持存储分离计算架构。在这种架构下,流计算引擎在失败的时候能更快速修复,使我们能够更加动态适应流量的变化,来更新我们执行计划。
提问:为什么阿里计算引擎今天要做一站式?
徐晟(阿里巴巴资深技术专家、Dataworks负责人):我们希望对用户来说是一个统一的体验。至于说用户要解决的问题,很可能我们下面有不同的引擎来解决不同的问题。因为对于用户来说,我希望他看到的是一套产品,而不是让用户做选择题。至于用哪种技术,可能对用户来说就不是那么重要。毕竟对用户来说,我们看到的是同一个层,我们不希望用户更多介入怎么解这个问题。
今天用户如果要做模拟训练还是要做什么事情,我就相应给你做事情就好了,至于说代码最后跑到什么地方,我觉得对用户来说不太关注。毕竟,谷歌做AlphaGo不是为了下围棋,而是证明有能力提供这样一个平台来帮大家解决问题。这也是我们的初衷。