查看原文
其他

微软亚洲研究院张霖涛:计算机系统研究,AI发展浪潮的基石

2017-05-22 36氪 微软研究院AI头条


张霖涛  微软亚洲研究院首席研究员


昨天,在MTA天漠音乐节由36氪、经纬中国联合举办的科技论坛上,微软亚洲研究院首席研究员张霖涛博士分享了关于计算机系统跟人工智能之间的关系、机会和挑战的看法,以下为张霖涛博士的演讲摘录(内容转载自36氪)。


人工智能代表着我们的未来,不光媒体关注,各个大公司(微软、谷歌、百度、亚马逊、苹果等等)也在不断地强调其重要性、不断地在做投资。甚至在国家的层面上,李克强总理也非常重视人工智能的发展。但怎么才可以推动人工智能?

 

从科学/技术的角度来说,我们觉得人工智能主要有三个非常重要的支柱点——大数据新算法大系统

 

在互联网时代,数据为王。前一阵子有一个新闻说,现在挖掘数据比挖石油还要赚钱。算法也是一个非常重要的元素。大家最近看到的都是在讲深度神经网络、深度学习。最近10年来深度学习的进展、深度学习驱动的算法进步,也是被大家熟知的。很多科普性的文章也不断发表在各种媒体上。

 

在这里我想讲一下系统,系统实际上是连接数据、连接算法的纽带,使得我们可以支撑上面的人工智能的应用和开发,让它们体现价值。



什么叫系统?系统相当于一个基石,我们可以把它看作是建筑上的地基。什么样的地基是好的地基?不妨碍我们建一个好的大厦,这就是好的地基。地基虽然看不见,但是是非常重要的。在人工智能这方面需要有什么样的基础性的工作?它需要面向开发者、面向真正的后端的人,而不是面向用户,从我们的角度来说,有三个要素:



1.Experience:作为人工智能程序的开发者、使用者,它需要开发模型、算法的用户体验,需要很快增加生产率的工具。

 

2.Language:如果要有人工智能的一些想法、算法,我们怎么把它表达出来?用什么样的语言、用什么样的模式来表达?有些朋友会比较熟悉,如微软的认知工具包(CNTK),TensorFlow,Caffe等现在叫深度学习的框架,各个公司也在这方面进行了重点的投资,也希望这些框架可以使得更多的人应用。这些框架一方面是表达的方向、语言,另一方面也是下面的各种技术的优化和技术的支撑等。

 

3.Fabric:指的是这些算法,或者是这些语言运行的环境。用什么样的东西来运行机器,还有硬件、集群管理、资源管理、资源调度、网络、存储等。

 

跟大家分享一下我们在这几个层面的一些工作和投资,以及我本人的一些看法。我们从上往下讲。

 

第一件事,用户体验:我们所谓的用户实际上是面向开发者的。在人工智能方面,大概是两星期以前,微软刚刚发布了一个工具Visual Studio for AI,当你开发一个项目的时候,可以在Visual Studio里做各种编程、优化,包括工作流程的管理等工作。Visual Studio for AI实际上也是一个插件,主要是针对深度学习的时候,可以有一个更好的用户体验。

 

Visual Studio在训练神经网络时,能够在本机做断点,能够做语法,能够跟踪,这都是程序开发人员必需要有的一些体验。它可以在本地的机器上运行深度学习网络的训练,也可以调整一些大的集群上的参数。这样就可以调参数,运行任务。而这个任务的结果也可以很快的就显示出来,这样开发人员可以看到每个任务、机器的运行状态。

 

有了这个开发环境之后在什么地方开发呢?我想重点谈谈框架。微软在这方面有一个非常重大的投资,就是我们的微软认知工具包(Microsoft Cognitive  Toolkit,曾用名CNTK)。

 

微软认知工具包有各种各样的模式,相对于其他的开源训练环境有着非常多的优点。当你有了这个工具以后,你要把它运行在某种环境上,而这部分实际上竞争是非常激烈的。微软认知工具包最突出的优势在于它高效的计算性能,尤其在大规模、分布式的机器学习方面有着卓越的表现,在加速完成学习任务的同时还可以保证模型的准确性。它能够基于CPU 和 GPU高效、跨平台地处理大规模、可投入应用的任务,并可同时支持 Windows 和 Linux 系统。

 

我们再来谈谈微软在Fabric这方面的投资。我们有一个很重大的投资,就是FPGA,中文叫可编程门阵列。目前,我们已经把FPGA大规模的运用在了数据中心中,这项工作名为Project Catapult,并在去年被GeekWire评为最有创意的一个项目。在这个上面我们可以利用FPGA一键式加速神经网络方面的工作。但目前相关工作还处于内部研发阶段。



此外,微软有一个公有云的产品,叫Azure,在中国已经落地了,它支持各种各样云计算的平台,和云计算的服务。在去年12月,我们宣布了含有GPU的虚拟机已经上线了。

 

在Azure上我们提供了各种各样大小不等的虚拟机,虚拟机可以根据用户的需求进行调配。我们有比较小的虚拟机,也有比较大的,有数百G内存的,4块非常强的GPU,可以用来训练很大的神经网络。

 

以上这三个支柱点——当我们有了数据、有了算法、有了系统之后,我们就可以往前推动AI的发展。

 

比如,微软在AI方面有一个比较重要的产品叫微软认知服务,微软认知服务是由微软的科学家和工程师一起,把微软的算法、数据、软件一起包装成一个API,能够给用户、给外面的开发者使用,他们可以直接调用微软研发的先进技术,为自己的产品做服务。比如我们当初使用微软认知服务非常快速的就生成了How-Old.net 这个当时风靡全球的APP,而其实这个APP只用了几行代码就完成了。

 

微软为了推动人工智能系统的研究,加速人工智能的发展,最近刚刚在中国成立了一个系统研究中心。主要目的是为了推进人工智能基础设施的开发,希望可以帮助整个人工智能的产业、整个人工智能的社区,能够让大家一起进步,让大家一起利用我们的研究和工作的成果!



你也许还想看:




感谢你关注“微软研究院AI头条”,我们期待你的留言和投稿,共建交流平台。来稿请寄:msraai@microsoft.com。微软小冰进驻微软研究院微信啦!快去主页和她聊聊天吧。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存