2019阿里云峰会·上海开发者大会于7月24日盛大开幕,本次峰会与未来世界的开发者们分享开源大数据、IT基础设施云化、数据库、云原生、物联网等领域的技术干货,共同探讨前沿科技趋势。本文整理自开源大数据专场中阿里巴巴集团副总裁,阿里巴巴计算平台事业部总裁贾扬清先生的精彩演讲,将为大家讲述开源大数据与人工智能生态前瞻,分享阿里云对开源的态度,以及对大数据和人工智能的未来规划。
专家简介:贾扬清,阿里巴巴集团副总裁,阿里巴巴计算平台事业部总裁。曾任Facebook AI架构部门总监,负责前沿AI平台开发,Facebook各产品部门AI平台的支持以及前沿机器学习系统研究。曾在Google Brain担任研究科学家,致力于深度学习的科研与工程,在深度学习框架领域有很多的贡献和积累。他是Caffe作者,TensorFlow作者之一,Pytorch 1.0的合作领导者和Onnx创始人。
开源大数据专场PPT下载
本文内容整理自演讲视频以及PPT。
一、开源现状
目前为止,AI开源项目的发展可以说已经深入人心。从2013年的Caffe,到2015年Google推出的被认为是目前最流行的大规模可商业应用的人工智能框架——Tensorflow,到2017年Facebook推出的可以用来实现更加灵活,从科研到部署环境的PyTorch 1.0框架。可以说,近几年人工智能的发展与开源社区的开源共享精神是密不可分的。从全球角度来看,整个开源社区正在蓬勃发展。据2018年GitHub开源年度报告统计,GitHub上共有3100万用户在活跃的进行各种软件开发,全球共有约210万个组织建立了约9600万个仓库的开源项目。在2018年,GitHub新增活跃用户数量超过了前六年的总和,相较于2017年新增了40%的组织机构和30%的代码仓库。其中,国内的开发者也参与了很多开源项目,从底层的系统到上层应用,从全球趋势来看,开源无疑是软件发展的大势所趋。
下图是中国信通院企业采购大数据软件调研报告,从企业的角度来看,有53.9%的企业选择了开源软件商业版,有32.7%的企业选择了开源软件社区版,总计共有86.6% 的企业选择基于开源软件构建自己的大数据处理业务。不难发现,目前国内开源发展情况与全球趋势是一致的。
二、阿里云对于开源的态度:拥抱、贡献、共赢
阿里云是自主可控的云,同时又是开源兼容的云。在过去十年,阿里云最骄傲的一点是建立了一个从底层大规模的集成管理、集成控制、资源优化、大数据解决方案到上层业务平台的一系列软件栈。另一方面,阿里云在整个自主可控的大系统中应用了非常多的开源运行库和开源项目,这些开源运行库和开源项目作为不同的积木,帮助阿里云搭建起整个自主可控的大厦。
1. 拥抱开源
阿里内部有非常多的业务都在使用开源软件。除了淘宝、天猫、支付宝、AliExpress、菜鸟、聚划算和阿里云等阿里内部的业务之外,阿里云向用户提供的Iass和Pass服务也都借鉴和使用了开源的项目,比如,众所周知的Linux,Hadoop,Flink以及最新的人工智能的框架Caffe和TensorFlow等。阿里巴巴非常感激开源社区,并且热切的拥抱开源社区。
2. 贡献开源
阿里在拥抱开源社区同时,也在不断的向开源社区贡献基础力量。越来越多阿里内部一线的同学投入到开源的项目当中,贡献自己的力量。可以发现,当开源应用结合到与企业业务流程中运行时,会遇到非常多的问题,而这些问题可能也是最初开源环境中没有考虑到的问题。很多时候,开源项目起源于开发者的一个想法,为了构建一套系统,在设计、架构、开发过程中融入非常多的深入思考和巧妙设计,而实际业务的实践则能够使开源项目的设计得到锤炼和反馈。目前在国内,阿里是贡献开源最出色的企业。GitHub上有大量的开源项目由阿里创建,据阿里经济体GitHub开源生态报告统计,国内Top10的开源项目中,阿里的开源项目有6个。
在大数据和人工智能领域,目前为止,阿里已向开源社区贡献了超过100万行的代码。越来越多优秀的阿里工程师逐渐开始被开源的社区所接受。同时,开源社区也邀请阿里的同学们成为开源项目发展方向探讨的参与者。至今,阿里已培养50+社区多项目的Committer以及PMC,包括从最底层的ORC项目到Spark、Flink等项目。不仅如此,在阿里已有10多个产品和项目基于开源的优化得到了非常好的效果,优化后的项目无论从速度、可用性,亦或是稳定性方面相比开源的版本都有了较高的提升。
3.共赢开源
阿里云巨大业务体量为开源社区贡献技术试验场
开源软件离不开经济规律的控制,也就是说开源需要提供价值。目前,已经有非常多的企业选择将自己的基础架构迁移到云上。云是非常好的媒介,可以帮助开源软件实现商业价值对接企业的业务场景。阿里云巨大的业务体量可以为开源社区贡献技术的试验场。举例说明,Flink是一个流式计算的框架,同时也是阿里双11时期的中流砥柱。十年前,在阿里刚开始启动双11时,业务体量非常少,业务对于系统的压力也并不是太大。从2016年开始,阿里双11用户已经达到了几亿级别,用户大规模购买、浏览和查询等操作,导致后台指标在0点时突增。同时,阿里也逐渐发现大部分开源项目的设计没有关注如此大体量下的应用压力。因此,阿里云基于开源项目实现了非常多的优化以满足自身大体量业务需求。在人工智能方面,阿里也发现了类似的情况。上一代人工智能框架,如Caffe,在项目设计中往往带着学术界的影子,而经过工业界和学术界多年的锤炼,新一代的人工智能框架(如Tensorflow和PyTorch)逐渐开始考虑工业界大规模、弹性、高性能、部署多种环境(在端上,在云上,在手机端等等)的复杂情况。这些锤炼恰好为开源社区提供了非常好的反馈和也为此做出了较大贡献。
阿里云大数据与人工智能开源的云产品
大数据和人工智能方面,阿里云对开源社区的主要贡献有以下几点:
实时计算:Flink支撑了阿里在双11时期实时计算任务。
PAI组件:PAI是基于开源的PyTorch和Tensorflow框架深度优化的平台,PAI完全兼容了Tensorflow跟PyTorch的语法。在模型的分布式训练和模型部署时,PAI可以通过底层的优化,通信库的优化,与GPU及体系结构的优化,实现更快的训练和更大规模的部署。
EMR:大数据方面,不只有Flink流计算,还有传统的Hadoop,Spark等产品。阿里云ElasticMapReduce(EMR)平台,基于开源大数据集合服务,可以完美对接大数据场景当中所遇到的开源计算模式。同时帮助线下开源用户无缝迁云。
ElasticSearch:阿里云是赋能用户,实现商业价值的平台。阿里云与ElasticSearch达成了非常好的合作。由ElasticSearch的创始团队提供企业级的服务,阿里云为用户提供ElasticSearch产品,解决平台、管控和部署等一系列问题。这样的合作模式可以使得开源的软件更容易落地,从而帮助整个生态持续发展。
阿里云与开源社区的共存、共生、共赢。
如何将开源项目部署到实际应用系统当中?大部分企业和开发者逐渐把将他们的项目迁移到云上。从个人角度来看,在云上开发非常方便,从企业角度来看,在云上开发可以更容易进行跨地域和国际化部署。目前,阿里云在全球18个地域、49个可用区,服务230万家客户、间接地为数十亿用户提供云计算、大数据、人工智能算力,帮助客户部署自己的应用和产品。阿里为开源社区提供的云计算能力,与开源社区早已形成了共存、共生、共赢的强纽带关系。
三、大数据&人工智能未来规划
支持集团,服务云上:阿里云,阿里巴巴集团的基础团队同时支持集团内部的应用和云上的应用。阿里巴巴集团是阿里云最大的用户,相信在能够支撑如此大用户的情况下,阿里所提供的技术与产品都是经过验证的、可靠的。
回馈社区,营造生态:阿里和Flink社区深度合作之后,将阿里内部的Blink项目和Flink进行了整合,将结合的版本回馈社区。在与开源社区的交互过程中,阿里也积累了非常多的经验。
共建社区,共赢商业:目前,越来越多国内的开发者对开源有着非常大的热情。阿里云希望可以为这些开发者提供更多的服务,比如如何帮助开发者做CI,如何更好的做测试,如何实现更好的代码托管。同时,阿里云希望通过开源的会议,开源开发者的活动,进一步帮助企业与开源开发者社区进行更有效的沟通,助力开源社区和开源技术的发展。