浪潮集团副总裁胡雷钧:扩展Caffe,从方案、框架、系统、平台应对AI计算挑战

【新智元导读】新智元AI WORLD2017 世界人工智能大会上,浪潮集团副总裁胡雷钧带来 《AI计算挑战与应对》的分享。他提到,当前AI算法对计算能力有巨大的需求,针对AI计算能力的挑战,浪潮推出了包括AI操作平台和系统管理平台的一系列解决方案。

新智元AI World 2017世界人工智能大会开场视频

胡雷钧:各位尊敬的朋友、各位业界同仁,大家下午好,非常感谢新智元给我们这样一个机会,让我们大家共聚一堂,参加这个盛会,一起交流我们的认识和想法。

在过去一年里,从AlphaGo到现在,所有的这些发展给了我们一个巨大的兴奋点,我们仿佛站到了一个新的纪元面前,我们仿佛要看到宇宙里另一维度的空间,我们感觉未来是光明的,我们感觉有巨大的发展机会在等待着我们,我们感觉我们的生活会发生巨大的变化。在投资界,在相应的产业界,各种不同的资源涌向了AI领域,为这个领域的发展带来了巨大的空间。如果说2016年我们讨论更多的是大数据和云计算,以及各种云计算技术,为大规模使用计算资源提供了基础,而2017年AI作为一个杀手级的应用出现,在消耗我们已经积攒的计算资源,为我们创造一个更好的未来。

AI作为一种新兴的计算应用,按照现在的深度学习,或者说这种现有的算法,以一种新的面目出现在我们面前。这也是它在理论成熟很多年之后得到了一次爆发性的发展。这个爆发性的发展,我觉得是因为我们在计算能力上的提升、数据上的积累和相关算法技术上的体现。

也就是说,计算、数据、算法的发展在当前结合在一起,给我们描绘了一个辉煌的未来,我们看到了未来AI巨大的潜力。我们现在已经摸到了人工智能的边界,就像瞎子摸象一样,摸到了它的一个侧面,后面还有巨大的空间等待着我们。在这一个侧面上我们已经发现AI对于计算性能的某种程度上的无限的渴求。

我们怎么去看未来呢?我们觉得现在AI算法还会继续往前发展,我们看到的现在的这种机器学习算法是以数据作为材料,以算法作为运作机制,以计算平台作为支撑,实现了一系列的令人眼花缭乱的发展。这些发展使我们看到原先计算机它所能处理的这些应用,更多的像某种机械加工程序,或者如生物学的概念,某种程度上的反射。

现在的AI上升到了一个更高的层面,即感知的层面,它能够认识图像,能够认识声音,能够认识我们看到的一些有组织、有结构的数据形式,能够把这些数据、图像、声音抽象成某种程度上的概念,这是它的第一步。

再往下,像今天上午科大迅飞胡总讲的一样,它会进一步到认知层面,再往前走就是思考的层面,再往前走会不会有可能进化到自我认知且有创新的能力,我们还可以继续观察,继续探索。

走到这一步,我们看到单单在感知这一层面, AI的应用就已经消化了大量的计算资源,再往前发展,如果进一步模拟人脑,我们知道它会是一个多层次的网络,网络的网络,网络上面还有网络,是一种建立在从认知到自我意识到创新思考的层层的架构,每一层都是网络,每一个网络的节点又是下一层网络的起始。这最终给我们带来什么呢?对于我们做计算系统的人,这意味着对计算能力的某种程度上的巨大的需求。有人说未来如果真正实现了强人工智能,可能需要的计算能力将是我们现在拥有的计算能力的100万倍,我并不认为这种想法或者认识是夸张的吓人的,我认为这是非常现实的一个估计。

我们想象一下现在看到的AI,它可能拥有的智能水平仅仅是婴儿的水平,顶多可以说是幼儿的水平,再往前发展,它必然需要更多的能力。那么我们现在构造的人工神经网络虽然已经足够复杂了,但是它仅仅相当于我们大脑一千亿神经元组成的网络的非常非常小的一个局部,它的能力还是有限的。往前继续推动AI的发展,必然需要在计算技术上进一步发展。但是,很不幸,我们在计算能力发展上,某种程度上遇到了瓶颈。我们原先计算能力的发展有两个主要的牵引力,一个是摩尔定理驱动的半导体制成工艺的进步,另一个就是体系结构,也就是计算机科学里面最重要的领域。体系结构领域发展带来的不断优化,不断在现有支撑工艺上充分发挥能力。

我们发现,AI这种应用从高性能计算的角度来看,作为一个杀手级的应用,将会很快消耗尽,或者说很快接近我们最大计算能力的边界。我们现在最大计算能力的边界,就是E级计算,而且我们现在还没有实现,预计2020年可以实现。

这就意味着我们需要在所有的层面上,把我们已经掌握的工业级别的技术推向边界,推向极致,利用到边界,利用到极致,这样才能够在我们现有的工业基础上,把AI的技术或者说把AI的应用推向我们能做到的最大的边缘。要做到这一点,从系统构造的角度,从工业应用的角度来看,我们应该要系统级的去考虑这个问题。系统级的考虑问题就不仅仅是只考虑计算平台,只考虑它的运维和操作的系统,只考虑它的计算和应用的框架,只考虑它的方案,而要整体的把整个系统的木桶的每一个短板补到你能补到的最高,这样才有机会把你现在掌握的所有工业能力全部铺到AI上去,把AI的应用推到最边界,把我们网络训练到最好,把我们想做的识别做到最高。

浪潮集团在过去一年多的时间里,在这方面有了很多的布局,一个就是在计算平台方面,我们有了一个最大的面向AI加速计算的产品级,包括GPU服务器,包括基于IPG的一系列加速器设计方法,也包括使用不同加速器平台的产品。

从AI的管理系统来看,我们认为原有的云计算技术面向AI的应用还是有很多不适应的地方,我们把它做了一些相应的调整和改造,有了面向AI的操作平台,叫AI Station,也有了面向AI的系统调优和系统管理的平台,我们把它叫做T-Eye。还有AI的计算框架,AI的计算框架现在有很多,我们在Caffe这个领域上,把Caffe扩展,实际上就是把Caffe并行化了,把原先只能装在一个单一节点内的神经网络切片,分布到多个节点上,分布到集群上,使一个计算系统可以在一个巨大的网络里边去做训练。

还有就是AI的应用方案,因为一个AI的应用系统,你不能每一个投资都是巨大的。因为做一次AI的实验,从硬件投资到系统投资,到人力资源投资,到开发的投资,到实际运维的投资都是巨大的,你必须要有精确的考虑,必须要有充足的知识储备,也期望在产业里边能有人提供这样的服务,所以说我们有了这种端到端的解决方案。

在AI计算平台方面,在过去的实践中,面向各种不同的应用,我们发现系统里有很多不同的需求,这些需求对应到我们现在的应用里边,在过去的一些实践中,我们发现了一些瓶颈问题。一个就是面向复杂业务的弹性扩展问题,就是我们在一个分布式的框架上,能不能随着计算节点的增加,去扩展应用能力。还有计算的密度,整个系统的效率可以低功耗、低延迟,还有通讯的性能,所有这些是我们过去在简单的AI实验平台上做不到的,必须要把业界里常用的一些技术应用上才能解决问题。

首先,过去高性能计算领域里,大家都追求计算平台的高效率和高密度。一开始在云计算,由于数据中心的约束,可能不太追求高密度,但是随着计算能力的不断增加,我们发现高密度对于AI计算是一个很重要的需求。另外,高的性能功耗比也非常关键,我们现在做的最极致的系统,在两优的计算节点里边可以集成八颗NVLink的P100/V100 GPU,这是目前业界计算密度最高的一个平台了。在这样的一个计算平台里面,它从两个方面为我们系统提供高效率:

  • 第一方面,通过某种程度的专业化的加速器来提高单个晶体管的计算效率,尤其是针对AI应用。
  • 第二方面,通过系统的高集成度的设计,来提高对于空间,对于地方资源的利用率。

在这个平台里边我们也做了一些实验,这些实验充分说明我们在某些程度上使用这样高密度的计算平台能够有效地降低成本。

还有一些其他的设计,比如弹性扩展的GPU与计算节点分离的平台,可以面向不同的AI计算的应用类型,比如语音识别和图像识别,比如面向视频流的识别,面向文字的识别。它对通用处理器和加速器的配比会有不同的需求,对系统的带宽会有不同的需求,对存储会有不同的需求,对内存、缓存能力的需要也会有不同的需求。所以产生了不同的计算节点和加速器的配比,而我们这个平台给大家提供了一些灵活的选择。

同时,在一些具体的运维环境里面,我们也做了一些新的创新,比如说我们和百度合作了可以插16个GPU卡的GPUBox,实际上这是可以解耦的一个平台,我们可以通过GPUBox里边不同的分区,把16个GPU分散给不同的节点,来实现面向不同的应用的灵活性。

另一个我们在这个领域里边比较大的实践,就是基于FPGA面向一些AI算法的应用。AI有两大应用,一类是训练,一类是识别。对于训练,我们要把系统搭建得高效,把我们在高性能里面积累的所有武器都要用上,来应付超大规模的数据处理和超大规模的数据计算。在线上识别领域,我们往往追求高效,另外一方面我们也要追求灵活性。我们追求高效的目标是我们要追求更高的性能功耗比,更小的体积。在一些数据中心服务应用里面,FPGA是一个非常好的实现。当然从定制化的角度来看,定制的ASIC 可能是更好的办法,可能会有更高的性能功耗比,但是针对到某一个具体的应用上,我们面临着能不能达到做一个芯片的经济规模,或者说我们能不能在有限的时间内快速部署的问题。时间对于我们是一个成本,同样芯片开发对于我们也是一个成本,而这个成本又和我们的应用规模,和我们当前期望应用上线的速度是有紧密关系的。

此外,用FPGA我们可以应对我们现在不停变化的应用。因为构筑一个平台我们总期望能更长的,或者说在更多的应用领域里面应用它。如果你把它固化成一个专用的芯片了,就会丧失一部分灵活性。同时,因为我们的这个应用自己本身也在发展变化中,我们毕竟还处在AI应用的初期,所以用一个FPGA来实现会是一个很好的做法。FPGA现在可能也不像原先的纯编程逻辑单元构成的FPGA了,现在的FPGA里面也集成了很多浮点计算器件,向量计算器件,同时现在FPGA里的体系结构非常有利于我们用它的可编程特性在FPGA里面构造向量器件的流水线。那么这个FPGA对于我们来说,我们就很容易把它变成一个面向向量指令的流处理器。第一它有效降低了我们系统的访存的次数,在系统计算中访存往往是一个比较大的瓶颈,而且我们目前为止依然没有克服,而我们以一个固化的流水线的形式,以级间传递取代了频繁的访存,这对我们是一个非常好的效率的提升。另外,并行化也相当于把原先的限制级的工作变成了指令级的工作,这也是一个巨大的性能提升。

同时,我们也在不断地尝试各种不同的业界的体系结构的实现方法,我们看到在AI计算的面前有各种不同的实现,比如有GPU,它把某一类计算的特点抽取出来,用一些专门设计的器件去覆盖一大类计算。同样,这个因特尔的Xeon Phi也是类似的做法。我们基于这个开发了一个免费平台,让大家在这个平台上去试用。之所以这样做,从一个系统厂商角度,我们期望打造一个对于广大公众更容易接受的开放平台,让大家去接触更多不同类型的计算环境,来为我们自己的AI应用寻找最合适的环境,或者说建立我们的这个经验。

总体上,我们认为AI的应用现在还处在萌芽的状态,它刚刚开始舒展枝叶,刚刚开始要茁壮的成长,在这一阶段我觉得更多的去探索不同应用方向上的可能性,是对于这个应用的发展是有益处的。

再有一点,我们在构建一个AI平台的时候,一定要考虑它的管理,我们只在实验室里去做实验,只去做研究,可能对于一个平台的运维效率,对于一个批量式的操作工具可能并不是特别感兴趣,但是你一旦要把它应用到一个实际的工业环境里面,就需要一个相对比较强劲的、有很多支撑功能的、有很多减低人的管理劳动强度的管理平台来去支撑它,这是我们开发AI Station的目标。同样,对于一个平台我们运维它的时候,我们一定要观察它的状态,我们用的这个T-eye可以非常好地观测系统的运行状态,进而看出这个系统的运维特性,你可以调整系统的配置,让它达到一个更合理、更高效的状态,不会浪费它应有的配置资源。

在应用框架方面,我们看到原先的神经网络更多的都是一个有限的神经网络,这个有限的神经网络必须得把它塞到一台计算机的内存里面,一旦要实现跨节点可能难度就比较大,我们很自然的就把我们在高性能计算里面学会的MPI编程,跨节点的并行方式应用到这个领域里面。

我们扩展了Caffe,这是浪潮对Caffe的一个贡献,也是一个开源项目,大家可以拿到它的源码来进行自己的尝试。我们也期望在各种不同的计算框架里面,能够出现更多的新的并行版本,能够被更大的领域应用。因为未来你想运用我们这种万级节点规模的上百万核的系统,必然离不开各种形式的并行架构。

基于我们在AI领域的实践,我们认为做AI,你如果想把它做成一个有实际应用价值的应用,要经过几个步骤,一个就是要理解清楚我们的任务,要依据我们的任务去准备相应的数据。同时要选择我们的算法,并对这个算法进行训练,然后进而上线做应用,再进入下一个循环的反馈。

这几个步骤,可能看起来像是一个理所当然的,大家都会遵循的一个步骤,是一个非常简单的步骤,但实际上在做的过程中,我们会遇到各种不同程度的复杂性,会遇到各种实际的操作上的问题。而我们已有的公式在服务客户的过程中,在和国内巨型互联网公司合作的过程中,也学到了很多经验,这些经验我们通过我们的咨询和解决方案,能够帮助我们的客户做一些相应的支撑和辅助工作。

最终我们想和大家讲的是,AI一定是一个端到端的解决方案,它不是单纯的算法的问题,不是单纯定制一个处理器,不是单纯做一个AI芯片的问题,也不是单纯找到风险投资的问题,它实际上是一个系统工程,是构建一个生态系统。AI领域的生态系统要大很多,可能要大一两个数量级以上,才能覆盖我们期望AI 所具备的能力。所以从我们的角度来看,我们以端到端解决方案的思路去看待这个问题,对于我们是非常切实际、脚踏实地的问题。

我在上午的时候也讲了,我们作为一个服务器供应商,对于现在的工业,我们可能更多的是一个做砖头的,大家是搞房地产的,我们就是做建筑材料的。但是做建筑材料也要操开发商的心,只有把心操到了才有能力造出更好的产品,所以我们在AI性能优化方面,构建了一个丰富的工程师队伍,在不同的领域里面做了很多新的优化,这些新的优化信息,对我们也是非常有用的,这支队伍对于我们做AI应用的朋友也是可借鉴、可利用的。

我们作为一个服务器供应商,作为AI领域里边提供砖头的伙伴,我们期望能够为AI的生态贡献我们自己的力量。这个AI的生态对于我们从某种程度上讲,未来有巨大无比的创新空间。上午华为的同事讲了一句话,说这里面的竞争是很残酷的,我想他说的也对也不对,如果你只看眼前,可能这会是一个残酷的竞争现场,但是如果我们放眼未来,那么面向AI的未来,我们现在仅仅是摸到了AI这维空间的一条边线,我们仅仅是站在了AI这个大时代的门槛上,未来还有巨大无比的空间。只要我们能够以切实的角度去推动它,一定会有更大的发展,一定会有更大的市场空间。

对于市场,只要有人才,人才有创新力,有市场需求,有资本,我们一定能成功。在中国我们认为我们现在站在这个历史时刻,我们拥有了所有的这三张王牌。在未来,AI的发展空间是巨大的,我们现在从事的这个领域可能将彻底颠覆我们自己的生活,如果强AI实现的话,甚至可能彻底颠覆我们人类和这个星球。

谢谢大家!

原文发布于微信公众号 - 新智元(AI_era)

原文发表时间:2017-11-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android 开发者

[译] 预测你的游戏的货币化未来

1834
来自专栏新智元

【Nature】AlphaGo赢了围棋,但玩量子计算游戏人的直觉强过机器

? Quantum Moves游戏过程 来源:nature.com 【新智元导读】Nature日前刊发论文,丹麦奥胡斯大学的科学家设计了一款量子计算游戏,...

35410
来自专栏悦思悦读

大数据技术在工业界的应用

大数据是近几年非常热门的一个概念。到底什么叫做大数据呢?简单而言,就是具备4V属性的数据:

3333
来自专栏大数据文摘

谷歌为什么要开放TensorFlow

2126
来自专栏大数据文摘

业界丨身为数据科学家怎么能不掌握这四大技能!

1434
来自专栏大数据文摘

业界 | 尴尬了,数据故事讲不好,模型再酷炫都没用

导言:数据科学风靡了几年,已经完成了从普及到应用的商业落地,越来越多的公司都已经同意数据驱动战略的重要性,但雇几个数据科学家和有一个数据团队,并不等同于公司就能...

730
来自专栏AI科技评论

周刊 | 与其迷恋AI,不如“摸摸”这些开源平台

自Open AI的成立把AI平台的开源推向高潮后,Google,Facebook,微软,Twitter等公司也“半推半就” 地踏上了自家平台的开源之路,以此来吸...

4104
来自专栏Android 开发者

人工智能时代,如何做设计?

7128
来自专栏PPV课数据科学社区

如何区分理解数据科学家与机器学习工程师

数据科学家Vs机器学习工程师 原文: What are machine learning engineers来源: https://tech.co/12-way...

3049
来自专栏专知

【业界实战】小米大数据总监司马云瑞详解小米用户画像的演进及应用解读(附报告pdf下载)

【导读】2017年 11月4日,大数据系统与应用研讨会在中科院计算所举行。会议邀请了中科院计算所程学旗老师和其他来自联想、京东、美团点评、小米等一线互联网公司大...

1.2K7

扫码关注云+社区

领取腾讯云代金券