作为深耕计算机科学领域21年的基础与应用研究机构,微软亚洲研究院致力于推动计算机科学各领域的前沿发展,专注于下一代革命性技术的创新与突破。
在过去的2019年,微软亚洲研究院继续探索计算机科学的边界,取得了丰硕的研究成果,在ACL、EMNLP、NeurIPS、ICML、AAAI、IJCAI、CVPR、ICCV、SIGGRAPH、KDD、WWW、SIGCOMM、NSDI、MobiCom等顶级国际计算机科学会议上发表了超过230篇论文,涵盖了机器学习、自然语言处理、计算机视觉、图形学、可视化、语音、数据挖掘、软件工程、计算机系统、网络、数据库与安全等领域。
站在2020年的起点,我们期待未来的发展。接下来几天,我们将回顾2019年值得关注的技术热点,并展望各领域的未来发展趋势。本文将重点介绍2019年机器学习和系统领域的进展及其未来趋势。如果把机器学习比作AI的大脑,那么计算机系统则像是AI的身体。AI的广泛应用需要不断优化和提炼机器学习算法、模型和理论,同时也需要构建高效、稳定、可靠且高效的AI系统,为AI的实际应用做好准备。
构建AI应用时,寻找一个高效、稳定、可靠的AI系统并非易事。特别是在AI与云计算相结合的趋势下,AI方案提供商不能再像早期实验室那样不计成本地追求性能。随着高性能计算节点的引入和大规模应用,传统系统架构的局限性显现出来。因此,需要综合考虑性能、稳定性、可扩展性、成本效益等多方面因素,设计和开发更加完善的AI系统。同时,充分利用AI技术的潜力,提升系统研究和设计水平也是重要课题。
各种AI技术和应用的不断创新,使得计算机系统能够应对前所未见的大规模数据和复杂系统问题,从模型训练到推理应用,每个层面都对系统的构建提出了挑战。微软亚洲研究院认为,要更好地支持机器学习、深度学习、强化学习等AI算法,系统需要从硬件到软件再到网络进行全面重构。例如,神经网络训练涉及多种系统问题,包括如何最大化GPU利用率、如何在以GPU为主的高性能计算集群中实现大数据量和高并行度的神经网络训练,以及如何避免大规模集群训练中的硬件故障等。微软亚洲研究院在过去两年发表了一系列论文,从三个方面提升支持AI的系统,包括提出新的集群调度框架Gandiva,发布首个支持大规模图神经网络训练的系统架构NeuGraph,以及针对大规模神经网络分布式训练的RDMA网络通信技术。这些工作表明,只有从单个网络的优化到底层系统架构的全面重构,才能更好地支持现在的和未来的深度学习工作负载。
与此同时,为了支撑更大规模的分布式机器学习系统运行,底层通信网络平台也需要不断创新,进一步提高通信性能和效率。微软亚洲研究院近年来专注于硬件网络方面的研究,其基于可编程硬件的技术不仅有助于降低网络延迟和CPU开支、提高吞吐量、提升网络速度,还有助于提升分布式机器学习系统的可扩展性和效率。相关研究成果发表在NSDI 2018、NSDI 2019和SIGCOMM 2019等会议上。
实际上,对于深度学习的系统研究仍处于初级阶段,许多研究成果集中在商业化研究机构。学术界由于缺乏企业级大规模系统支持的研究和产品化混合训练环境,难以进行更深入的研究。为此,微软亚洲研究院将多项系统相关的研究成果(如OpenPAI、SPTAG、NNI等)开源,并通过系统教学工作组平台与国内高校合作设计新的教学课程,以培养AI和系统领域的研究人才。所有这些工作都体现了微软亚洲研究院一直以来的开放和合作精神,为未来的技术进步和多元化发展奠定了基础,并促进了领域研究的良性循环。
为AI应用打造更好的系统,是系统研究自然而然的演变结果。在单机时代,为PC打造操作系统;在云时代,为云平台打造分布式网络和数据库;在AI时代,自然要进一步提升系统的性能,以满足AI全方位应用的需求。AI时代的特殊之处在于,AI的能力也可以反哺系统研究,即反哺系统研究(AI for System),让研究人员能够利用AI手段提升系统设计、开发和维护等方面的水平。特别是在系统复杂度呈几何级数增长的今天,许多系统问题已无法完全依赖人的直觉和经验解决,而是需要大量数据分析来驱动复杂系统优化。
过去一年,微软亚洲研究院系统组的研究人员在ATC 2018和ATC 2019大会上发表论文,提出了一种方法,通过自动优化系统并引入现实因素,让机器学习在真实场景中发挥作用。此外,研究人员还利用机器学习技术优化系统运行逻辑,使系统变得更加智能化。微软亚洲研究院系统组与微软Azure、Bing、广告等多个产品部门紧密合作,优化系统性能。在合作过程中,研究人员思考是否可以打造一个通用的AI for System框架,为数百个系统抽象出通用平台。基于这一思路,微软亚洲研究院系统组在SIGOPS Operating Systems Review上提出了“系统”和“学习”为核心的协同设计方法,为构建系统优化提供了一种原则性的方法论。同时,在开源项目NNI下,提供了初步为AI for System研究设计的示例代码。
随着各种智能设备和新型应用的不断涌现,计算模式正在从集中的云计算转向分布式的边缘计算。一方面,大量的智能设备(如智能监控摄像头、自动驾驶汽车等)产生海量数据,难以将所有数据上传至云端处理。另一方面,新的应用和场景需要在本地处理数据。例如,人们越来越关注隐私,不愿将个人数据上传至云端;自动驾驶和工厂流水线控制等应用需要实时性和可靠性,因此需要在本地进行计算。此外,随着AI算法的不断成熟,人们开始设计各种专用的AI处理器,这些处理器不仅性能强大,而且功耗低、价格便宜,使得在终端设备上运行各种AI任务成为可能。
在边缘计算时代,如何利用AI赋能各种边缘设备和应用,使其更好地服务于人们的日常生活和工作,成为一个重要的研究课题。这需要结合AI和系统两方面的研究,使AI在边缘计算中更好地运行。微软亚洲研究院系统组的研究人员在如何通过模型-软件-硬件协同设计加速模型推理、保护用户隐私和模型数据安全,以及如何让分布在不同地点的设备相互协作、不断学习等方面进行了研究,并在MobiCom 2018/2019、AAAI 2019、CVPR 2019等多个顶级会议上发表了相关成果。
AI技术正在给人类的工作和生活带来颠覆性的变革,因此微软认为企业与组织必须制定明确的原则,以构建可信的AI。在微软,所有AI领域的相关工作都必须遵循以下六大原则:公平、可靠和安全、隐私、包容、透明、责任。其中,可靠和安全是整个计算机领域备受重视的研究方向。除了智能化、跨领域和开源之外,可靠和安全也是系统研究未来发展的重要趋势。
近年来,业界开始重新审视硬件安全问题,例如CPU的“指令预执行”优化可能会泄露信息(如Meltdown和Spectre攻击),电容的频繁充放电可能导致相邻内存数据的改变(如Rowhammer攻击)。因此,人们对安全问题更加重视,安全观念和思维方式也发生了变化:以前如果没有意识到不安全,则默认认为是安全的;但现在,只有能证明是安全的,才是真正的安全。这种观念的变化使得计算机领域中最基本的价值观得到了进一步的重视,如逻辑、可计算性、复杂性等。微软亚洲研究院也一直在关注相关领域的研究,涵盖多方计算、区块链、联邦学习、零知识证明等方向。在安全领域,研究员在Micro 2018和USENIX Security 2018会议上均有成果发表。
未来的计算能力将无处不在,支持的智能也将无处不在。只有不断创新,才能确保各种技术无缝、稳定、安全、高效、持续地协同运行,这就是未来计算与智能系统领域发展的方向。
过去几年,以机器学习为代表的人工智能取得了突破性进展,2019年这些成功成果得到了进一步巩固,并稳步向前发展。机器学习理论体系已经日趋成熟,机器学习模型和算法在一些真实业务场景中崭露头角,甚至开始在物流、金融等行业的关键系统中发挥作用。
但是,AI应用的进一步普及需要对机器学习算法、模型和理论不断优化和提炼。当前的机器学习研究和开发正是沿着这一发展方向前进,为AI应用的落地做好更多准备,如简化训练方式、提升模型速度、深入理解机器学习等。这些努力的目标是让机器学习更加普适,促进AI向实用型、通用型演进。
过去几年,以机器学习为代表的AI技术取得了显著进展,2019年这些成果得到了进一步巩固,并稳步发展。机器学习理论体系已经逐渐成熟,机器学习模型和算法在一些真实业务场景中表现突出,甚至开始在物流、金融等行业的关键系统中发挥作用。
然而,AI应用的进一步普及需要对机器学习算法、模型和理论不断优化和提炼。当前的机器学习研究和开发正是沿着这一方向前进,为AI应用的落地做好更多准备,如简化训练方式、提升模型速度、深入理解机器学习等。这些努力的目标是让机器学习更加普适,促进AI向实用型、通用型演进。
深度学习是机器学习中最具影响力的分支之一,研究人员众多,但大多数突破集中在监督数据学习方面,这种方法虽然有效,但样本数量有限,无法充分发挥神经网络的大容量优势。2019年,包括预训练(如BERT)、对偶学习、迁移学习等方法在内的无标注数据学习成为热点。
预训练模型如BERT、Xlnet、RoBERTa、T5等,通过预训练技术提高了模型性能,并在公开数据集和商业产品中广泛应用。微软亚洲研究院的MASS、UniLM、VLBERT等预训练模型也超越了BERT,进一步推动了预训练技术的发展。此外,对偶学习在2019年的ICML上被应用于语音识别和语音合成,验证了这一学习范式可以从大量无标注数据中训练出优秀的语音合成模型。微软亚洲研究院在此基础上提出了多智能体对偶学习,并在2019国际机器翻译大赛(WMT 2019)中取得了8项冠军。
深度学习应用的训练数据越多,模型越大,训练时间和计算资源也随之增加,实际应用中的模型推理时间也会延长。因此,加快模型和算法的训练和推理速度,才能让模型在实践中更好地应用。
微软亚洲研究院提出了一种快速语音合成算法FastSpeech,该算法通过非自回归深度模型将mel谱图生成速度提升了270倍,同时端到端的语音生成速度提升了40倍。FastSpeech算法对商业化的语音合成产品提速降费非常有效。
围绕机器学习的另一个热门方向“强化学习”近年来侧重于较小的游戏如Mojoco或相对简单的视频游戏如Atari的研究,但今年,如何将深度学习应用于解决更复杂的游戏问题引起了广泛关注。例如,AlphaStar针对星际争霸设计,主要挑战是从非完整信息中学习,处理多人博弈及更大的动作空间。
微软亚洲研究院设计的麻将AI系统Suphx,主要挑战是如何处理超大的隐含信息空间和极高的随机性。为了应对这些挑战,Suphx基于深度强化学习,提出了近似常熵搜索机制和先知教练来增强训练,并在打牌时实时调整策略。微软亚洲研究院认为,多人麻将中的复杂策略和带有随机性的博弈过程更贴近人类现实生活,AI在其中的突破将更适用于实际环境。
深度学习的发展为许多传统领域的问题提供了全新的解决方案。微软亚洲研究院的一些机器学习模型和算法已与物流、金融等业务场景深度融合,并取得了良好效果。
在物流领域,微软亚洲研究院与东方海外航运合作,探索出了一套全新的资源调度方法:竞争与合作的多智能体强化学习。这种方法将每个港口和船只建模为智能体,通过分而治之的方式求解,通过协调智能体之间的利益分配与转移,促进合作和竞争,达到全局优化的目的。该方法有望大幅提升业务效率并节省运营成本。无论是在全球范围内的航运,还是城市内的快递业务,人工智能算法在供需预测、资源调度、路径优化等方面的应用越来越多。
在金融领域,微软亚洲研究院与华夏基金合作,聚焦“AI+指数增强”,通过探索时空卷积神经网络和时变注意力模型,自动构建有价值的投资因子,并实现了动态的因子非线性复合。这种“AI+指数增强”的方法可以发现与传统投资方法低相关性的投资组合,帮助金融机构实现差异化竞争。未来,人工智能算法在证券、银行、保险等行业将发挥更大的潜力。
深度学习在实际应用中表现出色,但研究人员也希望深入了解其内部运作。例如,深度神经网络的优化目标是非凸的,实际上很难保证找到最优解,但实际中随机梯度下降总是能找到不错的解。再如,神经网络设计和训练有许多技巧,如跳跃连接、注意力机制、批量归一化、学习率阶梯指数下降等。这些技巧为什么有效?如何设计新的或更好的技巧?
今年,学术界在这些方面的研究取得了一些进展,如平均场理论、神经切线核、过参数化、学习率阶梯指数下降等备受关注。然而,当前的分析方法与实际的深度神经网络训练仍有距离,更具有挑战性的是如何真正理解这些并设计出新的网络和算法以提高性能。
基于对深度神经网络路径空间的分析,微软亚洲研究院提出了G-SGD算法,使得在优化ReLU网络时避免了在权重空间进行神经网络优化的冗余性问题,并基于对跳跃连接的稳定性分析,提出了tau-ResNet算法,减少了残差块中参数分支输入的1/sqrt(L)比例,从而在非常深的网络中保持前向和后向传播的稳定性,实验效果一致且优于原始ResNet。
此外,基于有跳跃连接的网络与一阶常微分方程的对应,以及对注意力机制的分析,微软亚洲研究院的研究人员提出了马卡龙网络,改进了带有注意力机制的网络,如Transformer,在NLP项目上取得了优于Transformer的性能。相关研究已经在ICLR和NeurIPS研讨会中发表和展示。
未来,对于深度学习、机器学习等人工智能技术的研究,不仅要知其然,更要知其所以然,让AI在可控和安全的范围内发挥最大价值。因此,对AI的可解释性、因果分析、鲁棒性、隐私保护的研究将是研究人员长期奋斗的目标。
机器学习算法在多领域、多场景中的应用,使模型和算法的可解释性愈发受到重视。在追求算法或模型的高准确度时,我们更希望知道AI为什么做出这种决策或预测。与可解释性相关的,还有因果分析,我们了解问题后,不仅希望做出预测和决策,还想了解中间的因果关系。例如,了解导致某种疾病的成因可以帮助预防疾病,因果分析可以使我们更好地理解世界,甚至实现强人工智能。
另外,在一些与安全高度相关的应用场景,如安防中的人脸识别、医疗应用、无人驾驶的决策算法等,算法和模型的鲁棒性尤为重要;同时,面对日益严峻的隐私保护挑战,如何在应用机器学习技术时保护隐私或加强隐私保护,也是未来一个重要课题。