5月20日,在这个空气中弥漫中浓浓爱意的日子,又迎来了百度一年一度的“Wave Summit 2020”深度学习开发者峰会。本次大会由深度学习技术及应用国家工程实验室与百度联合主办,线上召开。
上午十点整,百度CTO王海峰首先登台致辞。
他的“重头戏”,便是与大家分享了飞桨在新的一年所取得的佳绩:累计开发者数量194万,服务企业数量8.4万家,基于飞桨平台产生了23.3万模型。
而这一佳绩的背后,一方面得益于算法、算力及数据的持续共同进步,使得技术的边界不断被拓展;另一方面,疫情带动了线上经济增长,在国家提出“新基建”等大背景下,以飞桨为代表的深度学习平台作为智能时代的操作系统,也迎来了非常可贵的发展机遇。
接下来,由百度集团副总裁、深度学习技术及应用国家工程实验室副主任吴甜带来“荡起飞桨 AI生产正当时”的主题演讲。
她以“口罩人脸系列应用方案”为例,深入讲解了飞桨在大规模分布式训练、全硬件平台支持、端到端全流程工具以及飞桨Master模式等方面实现的最新技术进展。
演讲中,她也带来了飞桨全景图的发布,并表示,在全新产品架构里,开源深度学习平台依然是最重要的一部分,他们依旧会持续通过开源的方式,围绕飞桨的核心框架、基础模型库、端到端的开发套件和工具组件打造飞桨最核心的能力,永久开源,为开发者提供最强有力的开发基础。
不仅如此,百度还推出了量子机器学习,期望飞桨能够为未来的前沿发展做出贡献(详细请阅读本文第3部分)。
峰会继续,百度飞桨总架构师于佃海上台分享了飞桨核心框架的设计理念和技术特色。
作为源于百度内部实践的一个深度学习框架,飞桨的迭代发展有两个驱动轮:产业实践的需求和打磨(性能、大规模训练和部署能力);用户体验提升(用户编程界面的优化和基础功能建设的完善)。
两个驱动轮对应到框架的设计,简单来讲,就是高效且易用。其设计的基本理念是,深度学习的编程开发应该更加符合用户一般的编程习惯,而不需要引入太多额外的概念。
这一设计理念以及双轮驱动下,飞桨框架目前已经具备以下四个技术特点:
第一,易学易用的前端编程界面。飞桨通过编程一致的计算描述,直接以程序化的program形式描述神经网络执行的计算过程,同时提供了一种完备的内在描述ProgramDesc 来表达任意复杂的模型,实现了自然完备的动静统一。
进一步,飞桨自2018年底扩展支持的动态图目前也已得到深度优化,全新的开发体验,编程交互更加自然灵活,更容易写出优雅的代码。与此同时,飞桨近期新增的高层API同时屏蔽了动静的差异,可以使用一行命令方便地切换执行模式,可极大降低编程复杂度。
第二,统一高效的内部核心架构。 飞桨目前有两层 IR:program 对接用户编程界面,简洁完备地表达深度学习计算,还可以便捷地迁移变换,无缝对接分布式训练和推理部署,保证了整体架构的一致性,而又不显著增加复杂度;SSA Graph 则主要对接更底层的优化策略,比如算子自动融合,并发调度,易构硬件执行调度等等。两层IR更好地衔接了前端和后端,兼顾和简洁、高效和整体统一性。
近期进一步的优化升级包括:将飞桨的默认显存分配策略,升级为自动按需分配,更加节省资源;完善通用算子自动融合策略,进一步提升了训练性能;建立了非常完备易用的自动混合训练功能,充分发挥硬件优势,提升训练速度,同时配合前项中间层重计算策略,可以支持更大batch的训练。
第三,原生完备的分布式训练支持。众所周知,飞桨的英文名Paddle便是并行分布式训练学习的缩写,因而分布式作为飞桨与生俱来的特性,是其核心框架设计中非常重要的部分,完全不需要依赖其他外挂。从飞桨的单机程序,到多设备训练的扩展,都只需要通过统一极简的API和配置,剩下都是由框架自动完成。
进一步,百度对飞桨在分布式训练方面的优化包括:新增了超大规模分类功能,通过模型并行实现对千万类别分类任务的支持;完善了流水线并行,更好地发挥异构设备的协同优势;同时对参数服务器功能进行了整合优化,使得功能更完善,使用更简单。
第四,高性能可扩展的推理引擎。飞桨的训练框架一体的原生推理系统 Paddle Inference,原本便可与训练复用部分优化策略,并在底层算子实现上完全一致,做到了百分百兼容,即训即用。
与此同时,飞桨也针对推理场景做了深度优化,实现了对外部推理加速库的可插拔加载,从而让实现对部分计算的更灵活加速选择。此外,在自有多硬件加速库的基础上,提供了独立的轻量化推理引擎Paddle Lite,对端侧任务提供高性能支持,并且在算子定义和模型表达层面,和核心框架保持一致。
于佃海总结道,目前为止飞桨核心框架整体上已经形成了界面清晰、功能完备、成熟稳定的架构体系。基于飞桨框架已建成对深度学习核心任务全覆盖的模型库,并延展出图学习PGL、深度强化学习PARL等非常多的衍生开发框架。
百度深度学习技术平台部高级总监马艳军进一步发布了侧重于工业级应用极致体验以及布局深度学习前沿技术两个方向的7项开源产品,23项重要升级。
开发方面,除了动态图和API 的升级,飞桨还将提供更多的官方模型库和开发套件,方便开发者进行低代码的二次开发:官方模型库新增了39个算法,总算法数量达到146个,预训练模型已有200多个;而在开发套件上,本次不仅升级和发布了视觉开发套件——端到端的图像分类开发套件PaddleClas、目标检测开发套件PaddleDetection 的发布和升级,还发布了语音开发套件——端到端的语音合成开发套件Parakeet 。
训练升级上,主要包括三个方面,训练速度,显存,和大规模分布式的扩展能力。在训练速度上,升级了自动混合精度训练,用一行代码就可以实现训练速度提升两倍;显存策略方面,实现了重计算机制可用于训练极深网络模型;分布式扩展能力方面,提供非常易用的API,并新发布一个云端的任务提交工具PaddleCloud,进一步在分布式训练技术方面,研发了数据并行、模型并行、流水线并行等完整的技术体系,并结合云端研发了弹性训练技术,其中模型并行和弹性训练是本次新增发布的能力。
推理部署上,不仅升级了模型优化工具PaddleSlim,还升级了服务器端的推理引擎Paddle Inference,开发者可以通过PaddleServing来实现模型的服务化部署,与此同时还在移动端和边缘端的推理部署上进行了升级,其中包括可在网页端或者小程序上使用的预测推理引擎Paddle.js,面向移动端和IOT场景提供的轻量化推理引擎Paddle Lite。
开源工具上,本次新发布的开源产品 PaddleX,可实现开发、训练和部署全流程的打通,并且能够非常方便地实现快速集成。目前它已经集成了很多款飞桨已经开放出来的能力,把这些能力进行流程上的打通之后,整个的使用体验和门槛都可以得到大幅的降低。
针对早在去年 WAVE SUMMIT峰会上发布的飞桨 Master模式,今年则实现了预训练模型和迁移学习工具两项核心技术上的升级:预训练模型方面,重点聚焦超大规模视觉模型和NLP的语义理解模型ERNIE;迁移学习工具方面,则新增了多个迁移学习的算法,包括DELTA技术、deep transfer never hurt 算法,来提升应用效果。
前沿技术方面,第一个是曾连续两年获得了NeurIPS强化学习赛事冠军的飞桨强化学习工具——RARL,本次新增了多智能体算法的支持以及连续控制领域的SOTA算法,更好地支持强化学习前沿技术的研究;第二个是联邦学习工具PaddleFL,本次也进一步完善了端云协同训练,并开源了百万级用户设备的模拟器,方便快速迭代,另外在企业间联邦学习方面新增了纵向联邦学习的能力,方便开发者或者研究者基于这些工具去做自己的联邦学习相关研究。
除此之外,飞桨也在图神经网络、复数神经网络等方面实现了升级,以更好地支持前沿技术和跨学科的机器学习研究。
百度研究院量子计算研究所所长段润尧发布了国内首个(也是唯一一个,同时也是全球第二个)量子机器学习开发工具——量桨(Paddle Quantum),将峰会拉入高潮。
简单来说,Paddle Quantum 是一个基于百度开源框架PaddlePaddle的机器学习开发工具,支持量子神经网络的搭建与训练,提供易用的量子机器学习开发者套件与量子优化、量子化学等前沿量子应用工具集,相关量子算法的研究可以调用量桨内部的计算框架,然后用 Python 编程完成运算。
据段润尧博士介绍,「量桨」特性有三,分别为:
易用性:提供简洁的神经网络搭建与丰富的量子机器学习案例。
通用性与拓展性:支持常用量子电路模型,提供多项优化工具。
特色工具集:提供量子优化、量子化学等前沿量子应用工具集,自研多项量子机器学习应用。
量桨的量子机器学习开发套件包括:量子开发工具集,量子化学库,以及一系列优化工具。与此同时,在量桨的Github开源中,我们还可以看到一系列入门教程,涵盖量子优化、量子化学、量子机器学习等多个领域的经典量子应用。
过去几年,尽管以深度学习为代表的机器学习方法在许多问题上产生了深远的影响。然而从长远来看,正如牛顿经典力学并不能精确描述自然世界一样,我们若想模拟自然世界,经典机器学习方法会显得力有未逮,而量子机器学习方法则将成为必然。 如今,诸多科技巨头相继布局量子计算,由此也可见,在未来的10~20年内,量子计算以及量子机器学习必将成为社会发展的重要推动力。
百度现在入手量子计算,或恰逢其时。 雷锋网雷锋网雷锋网