采访嘉宾 | 林伟
整理 | 夕颜
出品 | AI科技大本营(ID:rgznai100)
天下没有不散的宴席。
9 月 25 日,云栖大会在云栖小镇开始,历经三天的技术盛宴,于 9 月 27 日的傍晚结束。
三天、全球6.7万人现场参会、超1250万人在线观看,今年的云栖大会上技术亮点颇多,尤其是在机器学习领域,阿里巴巴的飞天AI平台和飞天大数据平台一亮相,就立刻引起了很多关注。
在主论坛上,阿里巴巴副总裁、阿里云智能计算平台事业部总经理、高级研究员,兼阿里巴巴开源技术委员会负责人贾扬清携飞天 AI 平台亮相,让开发者对飞天 AI 平台有了一个大致的了解。总体来说,我们对它的了解包括:
但是,关于这两个平台更详细的信息,如系统架构、核心产品 PAI 和平台搭建的过程,目前还没有足够详细的信息。为深入了解飞天系统,AI 科技大本营采访了阿里巴巴机器学习平台负责人,机器学习 PAI 平台整体学习和架构负责人林伟对之进行了解读,以下为采访实录:
1. 可以简单介绍下飞天AI平台的架构吗?具体都有哪些模块和能力?
林伟:飞天 AI 平台是阿里中台的核心。从架构上来说,飞天 AI 平台包括下层的飞天操作系统,最底层是存储层盘古,盘古之上有调度系统伏羲,伏羲之上是数据处理系统 MaxCompute以及实时计算Realtime Compute,来进行数据的加工。加工之后,系统会做特征提取,接着进行模型训练和部署,这就是机器学习平台 PAI。
PAI 包括两部分,一部分是传统机器学习,一部分是深度学习。模型训练完了之后再部署到在线服务平台上进行服务。机器学习需要反复迭代才能推进模型的持续提高,我们DataWorks提供良好开发者交互,使得算法开发者能够多维度分析自己的数据,管理自己实验,观察实验效果,从而能够更快调整自己的探索方向,更快得到质量更好的模型。整个飞天 AI 平台与这些部分有机组合在一起,真正把数据、算力和人的智慧结合在一起,从而找到有用的AI方案,提高用户系统的智能化。这是飞天 AI 平台的概述。
2. 飞天AI提供公共云上首个可视化建模,可否详细介绍一下?
林伟:因为机器学习需要不停地探索,因此,磨炼出好的模型往往需要交互式。PAI 的交互式操作让机器学习的门槛变得更低,因为很多情况下,机器学习模型训练是机器学习核心部分,但只是工程的一部分。整个机器学习工程还包括大量的数据处理、增强、清洗、特征提取过程。其中有非常多共性的东西可以抽象出来,从而能够沉淀出一些工具,我们希望这些工具能够帮助算法开发者,让他们不需要考虑这些工程的问题,专注于机器学习算法的建模,从而大大加速模型的创新。这是我们提供一种交互式,可视化建模平台的初衷。
3. 相比于其他机器学习平台,飞天 AI 平台的优势和特点有哪些?
首先,飞天AI平台是与大数据平台原生在一起的,拥有海量的算力,单集群上万机器,多集群十万机器以上,可以处理EB级别的海量数据。AI离不开数据、算力和算法三者的共同作用,海量数据需要AI平台去分析、挖掘其中的价值,否则这些数据只是躺在系统中的垃圾。而AI模型质量的提高,也离不开海量算力和数据。否则不会有当前AI技术日新月异的变化。飞天大数据平台有细粒度的安全保障。大多数大家熟悉的大数据平台技术其实缺乏安全性设计,它们要靠底层虚拟机的界限,让用户去申请不同的虚拟集群,通过不同的虚拟集群做用户隔离。而阿里巴巴的大数据平台是原生,从数据存储到数据访问都有细粒度的权限管理体系。PAI 的安全设计植根于阿里大数据平台,从而能够把所有人的数据放在十万万台的统一集群里,在有效提高存储的效率和密度、调度的密度的同时,也让数据共享更容易。同时每个人的数据存储在一个统一的大数据元仓里,使得数据发现、访问更方便。
当数据量足够大,数据管理便利时,用户就能够更好的专注于机器学习建模,而利用丰富的大数据工具去访问和处理数据。这些是飞天 AI 平台的优势。尽管有很多其他基于开源的机器学习平台,但它们没有像阿里这样从体系、数据、引擎等方面全方位平台,有时数据和引擎之间甚至是割裂的状态。而我们有自己的一套平台,这是我们的一大特点。
其次,阿里巴巴本身业务量巨大,对规模性的要求很高,比如“双11”期间数据处理的规模是平常的 10 倍到 100 倍,系统设计需要顶得住巨大压力。此外,巨大业务量对模型精度的要求也很高,从而带来模型大小和训练规模都大大增加,这些挑战要求我们提高机器学习引擎的核心能力。所以,我们在引擎能力,包括规模性、性能,稳定性、弹性等方面,都做了大量优化工作。突破已有系统的瓶颈。
第三,作为阿里巴巴统一平台要服务众多算法开发者,而且随着算力数据驱动 AI 的爆发,算法和底层硬件设备的创新和更新迭代速度日益加快,竞争变得日益激烈。这要求模型训练速度快、成本低、工程优化上也要跟上更新迭代的速度,手工优化因为耗时长且随着模型的复杂会更加难以做到全局的优化,所以现在加强框架自身的能力,使得系统能够自动优化已然是业内一大发展方向。PAI 通过服务大量业务场景沉淀了很多自动化的技术,如自动编译优化技术,自动分布式训练,多租户体现下调度技术等。
第四,PAI是一个多租户的AI平台,有别于追求单个任务的极致的性能,我们更加追求的整个集群的吞吐量和更好有效算力,我们必须要结合调度以及编译优化,使得能够更大程度有效利用集群中多种异构资源,减少资源的碎片,提高集群使用率。我们在这个领域也只是刚刚开始一些工作,就能够将资源使用效率有效提高 30%,可以预期,未来我们将会在这个方向有更多成果。
第五,AI平台必须要是一个开放的平台,并且机器学习并没有一个很好的DLS(domain specific language),所以不同用户的需求不同,会在不同层次有自己定制需求,PAI 满足了这样各种层次的定制化的需求,PAI的平台各个组件是可以运行在多种环境,散可以单独使用,聚可以形成更好一个整体提供更好的端到端开发体验。核心机器学习引擎既可以部署在阿里巴巴公共的ECS服务器上,也可以整合在阿里的飞天AI平台上,并且都是在开源主流的计算引擎框架上做系统和优化,所以都是全面兼容已有成熟的生态,给用户最为灵活的选择权力,用户可以根据自己的需求选择合理层面进行接入,也能够很方便地进行多种云直接的切换。同时PAI还提供开放的算法市场,里面沉淀了阿里巴巴集团内部众多工业级别算法,并鼓励其他阿里飞天AI平台的用户贡献自己的算法到这个市场中,形成一个算法市场/开发者平台,使得算法、模型沉淀,进而激发应用产生,这也是 PAI 平台的一大特点。
4. 飞天AI平台还集成了阿里巴巴诸多自研技术能力。如自研GPU资源复用技术、自研深度学习编译器、图神经网络等,可否详细介绍一下这些能力,以及集成这些能力可以让飞天AI具备哪些其他平台没有的能力?
林伟:如刚才所说,为了提高优化的效能,现在各大公司,像谷歌、脸书、英伟达、英特尔等都在积极投入到深度学习框架编译优化上,我们在利用GPU等不同资源硬件特性,充分利用shared memory、tensorcore、混合精度等,通过编译技术和结合模型训练本身特点等大大扩大编译搜索的范围,提高了codegen代码的性能,从而能够把系统优化能力应用在各种各样的算法模型上,大大加速算法创新的迭代。PAI在系统自动化,以及优化能力和产品的鲁棒性上经过了阿里巴巴集团众多业务的考验。 我们做系统编译都知道,其实做几个典型优化的例子其实并不难,最难是你能不能做到普惠和通用性,做到没有负优化,只有这样,我们才能推动系统的整体能力的提升,而不是一个定制的不具有可持续发展能力的系统。
PAI平台是一个多租户多任务平台,利用不同任务的优先级不同、模型不同,对于不同执行方式性能曲线的不同,系统可以更加全面地进行考虑和调度,从而能够高效利用集群的各种资源,减少集群的碎片,使得各种资源使用达到更好的平衡,从而提高集群的效率。
在图神经网络上,阿里巴巴也投入很大精力。现在,机器学习,特别是深度学习架构上(TensoFlow、PyTorch等)的整体生态已基本形成,重新创造全新的生态很难,所以,PAI 的核心技术都兼容 TensorFlow、PyTorch 等,做到“自主可控”,保持与开源兼容。
而图神经网络是一个非常新的技术,它的计算模式与 DNN、CNN 不同,需要结合一些图空间结构的属性。我认为,图学习将是未来的发展趋势,以增强知识性、可解释性,结合知识图谱和机器学习的能力可能会成为一个爆点,或形成算法领域中的一个新流派。但这个流派在机器学习运行模型上有自己的特点,导致现在的引擎无法高效支持 GNN,因此,阿里加大在这一领域的投入,以期在新的场景中做出创新性的成果。
目前,阿里巴巴的图神经网络已经具有很大的规模,基于超大规模图神经网络的认知智能计算平台 AliGraph 获得 2019 年世界人工智能创新大赛最高项 SAIL 奖。AliGraph 是一个高可扩展的分布式图机器学习平台,支持百亿规模点,万亿边异构图数据训练,可在分钟级完成构图。
通过完整地刻画、计算及分析数据关系,AliGraph有望使得AI真正具有推理能力,推动人工智能从“感知”走向“认知”。
目前AliGraph已在阿里巴巴业务系统中部署。手机淘宝在应用这一技术后,相关业务场景在点击率、转化率、购买金额等指标上有5%-90% 不等提升。
同时,AliGraph 也已上线 PAI 平台,成为首个云上的“图+深度学习”平台,用户可基于这一平台定制算法模型。
5. 飞天AI平台正支撑着淘宝、蚂蚁金服、阿里健康、菜鸟、天猫精灵、高德地图等 40 多个 BU的 AI 开发,每日执行 50 万任务,日均调用量超过百亿次。在如此巨大的任务量面前,飞天 AI面对哪些挑战?如何用技术手段做优化?
林伟:我做平台很多年,平台的难点在于可靠性,要容忍资源调度的各种各样的意外情况,因为集群大了,每天 24 小时都在跑,如何维持集群的稳定性,如何容错,如何让开发者在这种环境中跑任务能够调查其自身算法设计的问题,这些对于平台都是很大的挑战。特别是机器学习,传统的计算是确定性的计算,对于调试还是可以做到比较精确,而机器学习本身就是一个概率问题,有非常大的不确定性,如何有容错环境平台区分算法自身和系统问题,推动算法开发,就更加具有挑战性了。
第二是性能,阿里巴巴集团的模型和训练的体量都是一般公司看不到的,PAI需要提高自身能力去承接集团在模型大小规模,训练时长和收敛效果上的挑战。
另外,运维如此大的系统,系统升级也是一个难题,阿里的海量任务要求引擎和平台需要不断提高性能并进行更新。如何在快速迭代的前提下不影响之前的工作,也是平台运行的一大挑战,特别和系统调度方面的一些改进,如何平滑上线,这个非常难。
最后,保持合理有序的迭代性也很重要。面对业务需求快速迭代而要求一些临时定制优化,如何控制这些优化不会对其他用户造成负面影响。平台需要保持灵活性,又控制其他风险,会对系统工程提出巨大的挑战。
PAI团队在整个平台系统上打造了多版本控制,灰度上线,性能评估,多租户体系,资源控制与隔离,版本发布回滚,调度算法平衡性多种等技术,并且围绕平台打造一系列监控和报警工具,同时利用大数据平台本身强大的分析能力解析系统指标,从而使得系统能够做到工业级别,支持好阿里巴巴各个业务的发展。
6. 飞天大数据平台和飞天 AI 平台之间是什么样的关系?
飞天大数据平台和飞天 AI 平台之间是一种“共生”的关系。AI 的爆发是数据和算力驱动的,没有数据就没有这次 AI 的爆发。大的算法门类,如深度学习、神经网络其实 20 年前就有了,但是在如今大爆发,就是因为数据的增长和算力的提高。所以,AI 是离不开数据的,并且往往数据在 AI 的创新中至关重要,而积累的数据没有 AI 的分析和提纯就没有价值。
另一方面,我们可以用 AI 提优化数据平台系统。在阿里,AI 技术不仅服务客户,包括城市大脑、淘宝推荐、天猫、小蜜等,还可以服务系统本身,在这方面阿里有很多成功案例,用 AI 提高数据管理、计算效率等。所以,AI 离不开数据,数据也离不开 AI,它们之间是共生的关系。
7. 以深度学习为代表的第三代人工智能有着局限性,如可解释性、安全性等问题,您认为内这些瓶颈应该如何打破?突破口在哪里?飞天 AI 对此有进行哪些尝试吗?
林伟:我个人觉得现在机器学习距离智能还比较远,我觉得人工智能处于早期发展阶段,在可解释性、可靠性、安全性上都面临着挑战。现在从机器学习理论上我们现在还是一个拟合问题。不是真正的“智”,真正的“智”还需要科学家、算法专家不断创新。
关于安全方面,因为现在机器学习依赖海量的数据,从中提取特征。其实整个云计算安全性也至关重要。阿里有自己的加密技术,并且也有积极投入可信计算,比如支持所有计算都是在加密数据的硬件,同时,阿里也尝试增强模型的可解释性,可控性以及在加密数据上直接训练模型这个方面的研究。
8. 飞天 AI平台 短期内和长期内有哪些计划?聚焦的方向有哪些?
林伟:飞天AI平台是根植于阿里内部的需求,基于此,我们希望把经验、AI和算法能力赋能中小企业。我们在产品化程度上还需要加强,在应用性、完备性上还有很多工作要做,以满足用户的不同需求,提高模型和工具使用的便捷性,让用户更容易接受。
第二,我们还要更加开放,比如提供一个兼容生态的接口,不迫使用户选择我们的平台,给用户选择的权利。AI工程有时全自动化还有缺失,或者优化效果达不到用户需要,用户需要定制化,用半自动化,或者全手工的方式进行优化。在飞天AI平台,我们需要能够提供各种层次的API,从而让用户灵活地选择自己的接入方式。同时如何打造一个开放活跃的算法市场,增加算法多样性也是我们现在着手做的工作。
采访嘉宾:
林伟,阿里巴巴研究员,机器学习平台负责人,拥有 15 年大数据超大规模分布式系统经验,负责机器学习 PAI 平台研发以及计算平台架构,推动阿里巴巴MaxCompute和PAI平台架构整体升级演进。加入阿里云之前,在微软研究院,Bing和微软云计算工作10年,是微软Cosmos/Scope的核心成员。主导了Scope半结构化优化,Dryad分布式计算系统,Apollo调度系统,StreamScope和ScopeML多个项目。在NSDI,SIGMOD,VLDB,OSDI等多个一流国际会议发表多篇论文,研究范围覆盖硬件,操作系统,分布式系统,大数据,数据库和AI系统。