时间:2018-06-24 来源:互联网 浏览量:
智东西 文 | 心缘
智东西6月21日消息,昨天下午,微软亚洲研究院(MSRA)举办了关于AI系统的媒体研讨会。为了助力AI开发,会上展示了微软正致力于构建优化系统、全栈式集成开发平台和全周期集成开发套件。
优化系统有助于加速深度学习计算,全栈式AI集成开发平台可以使AI开发变得更加高效快捷,全周期集成开发套件则为开发者提供大量方便可用的高阶AI工具和服务。
一、优化系统,助力深度学习计算微软亚洲研究院副院长、人工智能系统联合中心负责人周礼栋博士一开场便强调系统的重要性:“没有系统,一切都是海市蜃楼、空中楼阁。”根据科普中国的定义,系统是指将零散的东西进行有序的整理、编排形成的具有整体性的整体。通俗点讲,系统就好比大楼的地基,是大楼能经年累月屹立不倒的关键。在计算机发展过程中,每一次大的突破,背后都有很多系统理论和设计作为持久推动力。周礼栋博士认为,系统研究和创新正进入黄金时代,到2020年,AI应用将全方位覆盖人类生活,把信息转换成有用服务,为人类带来福利。
深度学习本质上是基于统计的科学,依赖于强大的计算能力,对AI发展起到决定性作用。训练一个模型,需要考虑样本规模、网络复杂度以及计算时长等问题。
优化深度学习计算,首先要降低大量通信开销和与逆行开销;其次需获得快速、高效的计算方法,既要最大化多机并行度,还要提高GPU等单个计算单元的效率;最后,实现系统软件自动优化也很关键,方便用户操作,降低AI研发门槛。
针对上述优化方法,微软展示了三种系统优化路径。
1、RDMA,加速分布式深度学习训练
多机间的通信开销是分布式训练的主要瓶颈。资深研究员伍鸣介绍了一种硬件网络技术RDMA网卡(Remote Direct Memory Access,可绕过TCP/IP协议栈进行通信,远程访问内存时不受远程机器上CPU的干预),目前许多以深度学习为目标应用的GPU机群都部署了这样的网络。为了更好利用RDMA的能力,微软巧妙设计零拷贝通信机制,将Tensor数据直接传输道接收端。经TensorFlow上的实验,该方法在一系列神经网络模型上的收敛速度均提高2-3倍。
2、内核融合,带来大幅性能提升
内核融合(Kernel Fusion)的主要思路是如何自动对任意深度学习网络模型实施优化,提升单个计算单元运算效率。
上图是将循环神经网络RNN放在三个平台上训练的实验结果,由右边图表可以看出,内核融合后的运行速度远低于在Tensorflow和谷歌XLA的运行速度,实现约10.9倍的性能加速。
3、扩展API,将压缩量化过程变简洁
微软正在尝试扩展TensorFlow API,使用户可以在模型脚本中直接控制压缩和量化。另一个思路是将输入数据异步拷贝到CPU中,掩盖数据拷贝的开销,这种做法需要和内核融合结合。
想要进一步了解从系统层面优化深度学习计算,可以访问链接:https://www.msra.cn/zh-cn/news/features/deep-learning-optimization-in-framework
二、OpenPAI:解决深度学习训练的平台化问题随着AI技术的快速发展,各种深度学习框架层出不穷。为了更好地使AI落地,提高开发者编程效率,MSRA和STCA联合研发创立了Open Platform for AI(OpenPAI),希望为深度学习提供一个优化的大规模AI集群管理平台,让AI堆栈变得简单、快速、可扩展。
5月22日,微软亚洲研究院联合北京大学、中国科学技术大学、西安交通大学和浙江大学四所国内顶尖高校共建新一代人工智能开放科研教育平台,以助力中国AI领域科研和教育事业的发展。OpenPAI是MSRA为该教育平台提供的三大关键技术之一。
中科大基于OpenPAI所搭建起的私有云平台已初见成效,极大减轻了科研人员的工作量。未来OpenPAI将继续扩展、支持类脑智能技术及应用国家工程实验室的科研工作。
想要进一步了解Open API,可以访问链接:https://www.msra.cn/zh-cn/news/features/openpai
三、Tools for AI:实现AI开发快速入门Tools for AI由微软中国研发团队主导研发,为开发者提供业界第一款针对AI的全平台、全软件产品生命周期的集成开发套件。5月21日召开的2018微软人工智能大会(Microsoft AI Innovate 2018)上,微软推出这项新工具。
Tools for AI具有一键安装功能,可配合Visual Studio (Code)为开发者提供一个可以快速入门的AI开发集成环境。该工具还支持多种云端资源,能充分利用云端计算资源加速训练。此外,微软提供统一的可视化界面,方便开发者使用完整的AI开发生命周期管理功能,并允许用户利用如微软认知服务Cognitive Services等预先开发好的高阶AI模型和服务。
Tools for AI致力于为开发者提供一个熟悉、一致和开放的开发环境,使之快速实现AI开发全周期工作。不仅帮助开发者灵活使用AI技术解决行业内的重要问题,有助于提高多方科研技术水平,还将为中国AI的发展提供更大的动力。
想要进一步了解Tools for AI,可以访问链接:https://www.msra.cn/zh-cn/news/features/tools-for-ai
四、NNI:帮助开发者找到最优模型传统机器学习开发还存在的问题有:流程繁琐,需经反复迭代寻找更好模型;模型选择和调参需要人工手写冗余代码;难以并行在分布式集群上。针对上述问题,研究员薛卉介绍了智能化自动化的深度学习模型开发流程NNI(Neural Network Intelligence)。
NNI定义了全新的搜索空间语言,允许一键部署在不同的云服务或本地空间上,底层支持不同的深度学习框架。它可以自动数据分析、用工具包自动迭代,为用户提供更方便开发流程。用户可以将代码发布到不同集群,通过评估找更好的超参数组合和模型结构。可视化工具可以帮助用户直观的查看超参数组合、时间等数据。
该工具不久后会以开源形式和大家见面。
总结:让开发轻而易举,让智能触手可及微软亚洲研究院研究人员提出对未来系统的愿景:隐形无界的系统,无处不在的智能。设计系统非常繁复,每一步都会造成损耗,所以每一步都要做统一精准的考量。研究人员们正在努力打造简约的抽象加全新的平台工具,期望从系统层面进一步推动深度学习乃至人工智能的发展,努力在高效计算方法、兼容性、全面且精简等方面有更大的提升。
AI系统具有良好的普适性,随着其性能的提高,很多领域的“大饼”会变成现实。在一些AI领域,比如家用机器人、智能音箱等,优化系统能够使小型芯片亦有出色的性能体验。再比方说,云对话可以做到自然流畅无延迟地回复对话,这也和系统优化密不可分。开发者可以在全栈式开发平台上使用强大的AI套件尽情编译代码,无需关心资源来自哪里,也无需考虑速度、消耗等的问题。传统开发者也能从最熟悉的环境开始,逐步转型为AI开发者。
当被问及微软在AI方面的关注点与其他企业有什么不同时,研究人员告诉记者,微软想以更全面的方式看问题,希望提供整体的解决方案,并表示不排斥任何有益的东西,愿意通过和包括竞争对手在内的各企业、各高校合作互通,为共同未来AI的发展添砖加瓦。
德国建筑大师密斯有一句名言:“当技术实现了它的真正使命,它就升华为艺术。”这句话套在人工智能系统上,似乎也极其适用。