近几年,许多给人留下深刻印象的技能打破都是“大力失事业”类型,即算法的新鲜度不强 ,但是通过利用更多的数据、更多的算力,实现更惊艳的效果 。以最近火爆环球的 GPT-3 模型为例,其参数量高达 1700 亿,有行业人士估计演习这一份模型须要 1200 万美金,别说普通人玩不起,便是一样平常的公司也难以承担。人工智能要真正实现全面落地,还面临着巨大的鸿沟。
但万物智联的时期就在面前,数据的增长、算法的发展将会给算力带来越来越大的寻衅,提高全体打算系统的性能与效率迫不及待。面对算力瓶颈,软件层面能做些什么?如何进一步通过软件开释硬件的最大性能?如何更好地知足对海量数据进行实时处理和剖析的需求?实现“打算普惠”还有哪些路子?
环绕这些话题,9 月 25 日,在 InfoQ 大咖说直播间(点击这里不雅观看直播回放***),以“超过打算鸿沟:如何通过软硬件协同实现算力的指数级提升?”为主题,InfoQ 约请到英特尔中国研究院院长宋继强,英特尔架构、图形和软件集团副总裁兼中国区总经理谢晓清,南京大学软件工程教授张贺,清华大学打算机系长聘副教授翟季冬,中科院打算所研究员崔慧敏进行剖析和磋商。

智能互联时期,算力面临哪些寻衅?
在环球疫情大盛行的背景下,互联网、数字经济、人工智能加速发展,今年年初这几个月的疫情,对数字化转型的推动乃至超过了过去10 年。但与此同时,也导致数字鸿沟的问题进一步加剧,这背后反响的是什么问题?当前打算力面临着哪些方面的寻衅?
英特尔中国研究院院长宋继强:疫情让我们的数字化进程溘然提速,提速带来的效果是我们更快地实现了系统或者说终端设备的联网化和智能化。很多数据开始从智能设备不断往网络、往云里去送。不仅数据量很大,按照统计数字来讲因此25% 的年复合增长率在增长,而现在的打算力只能处理个中很小一部分。数据类型大概多样,而且很多数据都须要实时处理,这导致我们对打算的哀求发生了很大的变革。
其余,很多数据处理须要用AI 模型,AI 模型本身就有很多的参数,也便是元数据。这些参数也须要快速的存取,须要被打算,这就带来了非常多的新寻衅。
同时,高下行的带宽分配也和以前不同了,以前是***的东西多,现在变成上行的压力会越来越大,而且大家希望看到很快速的处理。那么打算到底在哪儿做也是一个问题。在云端做还是在终端做,还是在最新提出的边缘打算做?边缘又在哪里?
数字鸿沟紧张指的是算力、网络、带宽分配不屈均。在发达地区,密集的城市地区会有比较好的算力和网络支持,但到偏远地区,西部地区开拓还比较慢的地区,在这一次疫情来的时候,就很难立时享受到数字化的便捷。上网课缺少好的网络,缺少快的打算设备,用AI 去做加速也很困难。实在真正的数字化,对全体根本举动步伐的培植,终真个硬件能力培植,包括网络侧、边缘打算的异构的加速都还有很大的寻衅,还有很多地方须要提升。
清华大学打算机系长聘副教授翟季冬:谈到运用和算力之间的鸿沟,我想分享几个数据。最近几年自然措辞处理领域发展非常迅速,2018 年6 月份推出的GPT 模型是1.17 亿个参数,到2019 年2 月份,GPT-2 模型是15 亿个参数,到今年5 月份最新的GPT-3 模型参数已经高达1750 亿个。从GPT-1 到GPT-3,短短两年韶光,这个模型的参数量增长了1000 倍。
据OpenAI 公司的最新统计,OpenAI 在2019 年打算了自2012 年以来所有模型所用的打算量。他们创造最大规模的AI 模型所须要的算力已经增长了30 万倍,均匀是每3.4 个月翻一倍。而根据摩尔定律,芯片增长速率的均匀周期是18 个月到24 个月,而且现在摩尔定律增长还有放缓的节奏。
从这些数据来看,我以为当前发展最紧张的问题便是运用对算力的需求在逐渐增加,算力和运用之间的鸿沟变得越来越大,算力问题成为当前非常主要的一个抵牾。
南京大学软件工程教授张贺:除了刚刚宋院长提到的,由算力或者网络等资源分布不屈均引起的数字鸿沟或者说算力鸿沟,实际上鸿沟还表示在其他方面,比如说核心技能上。目前美国节制着大部分的关键技能,海内虽然也有像中星微、深鉴科技、寒武纪这样的企业,但在数量上和质量上都存在差距,这是一个比较明显的差异。
另一方面,在科学研究和产品落地这两者之间还存在着一定的鸿沟。过去我们经历了互联网从兴起到发展再到遍及的过程,实际上互联网的商业化是一个长期的过程。在这个过程当中,我们前期看到的和我们现在感知到的,我们生活当中打仗到的互联网可能有很大的不同。在科学研究,在理论上面,虽然说现在有很多的人在投入,但和实际的落地中间还是有一定差距的。短期内的改进并不是很乐不雅观。现在很多人工智能领域的有名人物也有回归学术界的意愿。短期内冲要破,尤其是在家当落地的打破,可能须要一个过程。
还有一个,在教诲方面。在人才教诲培养方面,海内打算机教诲的模式也有一定的割裂。近几年,学科越分越多、越分越细,这就导致了人学习的内容局限于一个比较狭窄的范围内。比如说在打算机里,学硬件的人可能不学软件,学软件的人对硬件也理解很少,这样很难去培养真正落地型的人才,尤其是在AI 领域,我们须要一些复合人才。比如说硬件、软件、数据科学,这也是我们现在所谓数字鸿沟的一个表现。
环绕算力方面的寻衅来谈的话:一个是对付算力依赖上的不屈衡。比如说在数据学习当中,我们更多依赖于英伟达的GPU,它市场霸占率高并不仅是硬件的架构适宜于深度学习,另一方面它有一个CUDA 库,这个库也可以帮助我们编写基于深度学习的项目。这两者实际上会形成马太效应,也便是说强者恒强,别人要抢占这个市场并不随意马虎。这样一种一家独大的征象,也会造成对特定架构或者是特定供应商的依赖,某种程度上这是一种垄断的征象。
环绕算力的另一个寻衅是本钱。现在神经网络演习紧张利用CPU 或GPU,这些硬件的本钱是很高的。即便你利用一些类似于谷歌的做事,本钱也是很高的。其余模型演习本钱也很高,尤其是大规模模型。虽然目前没有一个标准的统计,但是现在有一些单次演习用度的统计。刚刚翟季冬老师提到了GPT 模型演习,有宣布说,大型的BERT 模型是在16 个Cloud TPU 上进行演习,须要演习4 天韶光。核算一下单价,实际上这一次演习的本钱就已经须要1.2 万多美金,模型从搭建到末了确定可以利用,至少要进行上百次演习,这个本钱是非常高的。
还有利用效率的问题,模型有大量的参数,而且还须要大量的数据,这些数据须要很多存储空间来保存和进行后续演习。但是单机设备存储空间有限,这就须要并行模型演习。我们要把模型拆分到不同的打算节点上,一拆分就会在不同的设备之间形成一定的数据依赖。数据同步或者是通讯传输,也须要开销。极度情形下,在这种网络模型的演习上,如果是单机或者是单卡的利用率,有可能不到50%。这就须要在分布式情形下有一个很好的演习策略。演习策略在韶光和空间上可能会起到一定浸染,但是你须要在模型精度上做一些捐躯,也是一个影响。
中科院打算所研究员崔慧敏:我的不雅观点可以总结为一个词:多样化,未来像人工智能和超算会越来越领悟。
多样性又表示在几个方面:首先是负载有多样化的需求。不同类型的负载对算力有不同的需求。这当中有打算量超级密集的超算类负载,也有现在很火的人工智能类的负载,也有通量非常大但数据处理强度不太高的负载。其余在端侧,对算力的需求就更加多样化了,像手机上也是既有图象处理类的,也有人工智能类的,还有游戏、网页等平分歧的负载。
负载的多样化又带来了硬件的多样化设计。当摩尔定律走到本日,我们已经不得不选择一些专用架构持续得到性能提升。在做事器侧有针对超算的GPU 等架构,针对AI 有TPU、寒武纪等架构。针对网络的流式负载则有路由芯片的架构。在手机侧更是如此,现在我们的手机基本上都既有大的CPU 核也有小的CPU 核,同时也会有GPU 处理器,还会有NPU、DSP 等等各种加速单元。整体上呈现出一个非常明显的异构趋势。
由此,上层的多样化和下层的多样化给系统软件带来了非常大的麻烦。系统软件起的是桥梁的浸染,把上面的运用映射到下面的硬件上。既然现在上面和下面都越来越多样化和异构化了,也就意味着中间的系统软件的任务越来越艰巨了。特殊是目前的国际大趋势下,系统软件还有一个任务便是把越来越稀缺的硬件资源用到极致。以是对做系统软件的人来说,在高下都极度多样化差异化的背景下,要努力榨出末了一滴“油水”。
英特尔架构、图形和软件集团副总裁兼中国区总经理谢晓清:现在打算鸿沟实在便是一个需求跟我们能够供应的打算能力之间的鸿沟。技能的提高是跟需求密切干系的。比如说英特尔在PC 时期,制造出PC 之后,也制造出来一些人类的不同需求,包括办公室运用、游戏,实在很多需求是先有技能再反过来去影响它的。
现在,我以为是一个需求和技能你追我赶的过程。中间有一段韶光结束了,PC 的能力五六年不更新彷佛也没有问题。后来,移动互联网出身,又催生了一次指数级的算力增长,把用户的需求开释出来。 从前几年开始,我们进入到云打算、人工智能的时期。很多的用户需求又到了算力不一定完备跟得上的阶段。尤其由于年初的疫情,有一些原来可能不是非常焦急的用户场景,变得非常常见。包括我们现在的***会议,可能在最近的半年当中,我们开的***会议比原来5 年韶光开的都多。这些实在都是需求和技能之间相互追赶,相互开释彼此的潜能。
我相信打算鸿沟未来还是会持续下去,抵牾会表示在不太一样的方面,不过这也是一个动力,能够推动我们做技能的人一步一步向前走。
如何通过软硬件协同,实现算力的指数级提升?现在业界基本上已经形成共识,要实现算力的指数级提升需通过软硬协同,那么实现软硬件协同的最好办法是什么?须要具备哪些特点才能达到比较空想的效果?业界现在有哪些比较好的考试测验?
清华大学打算机系长聘副教授翟季冬:现在业界一个非常明显的趋势便是摩尔定律逐渐放缓,刚刚崔慧敏老师也提到,现在的负载是非常多样化的,最近几年做得比较多的便是领域定制芯片。2019 年,图灵奖得到者Hennessy、Patterson 在《打算机架构的新黄金时期》一文中强调,随着摩尔定律的放缓,领域定制芯片是未来发挥算力的一个非常主要的方向。
我们看过去十年二十年芯片的发展,通用途理器在某种程度上来说一贯霸占非常主要的地位。通用途理器试图办理所有运用领域的问题,但实际上像刚刚崔慧敏老师也提到,运用有多样性,不同的负载有不同的负载特色,有的可能是打算密集,有的可能是访存密集,还有可能很多负载对存储需求压力会特殊大。
以是我们想做一个芯片或硬件能适用于所有领域,这个方向肯定会很难。但是如果我们可以针对一个特定领域的特色,去挖掘这个领域本身的打算、访存、IO 的负载特色,就可以设计一个非常特定的处理器到上层的存储,到系统软件,这样可以带来很大的算力提升。
英特尔中国研究院院长宋继强:刚刚翟季冬老师讲到一个点非常好,现在通过领域定制芯片的办法去办理各种负载的多样性,能比较有效地最大化硬件加速的效率,不管是从打算、访存还是从一些中间通信的带宽、IO 的定制上来说。这是目前从架构层面来讲非常好且有效的一种办法。但这种办法也存在一些困难,首先,如果领域定制芯片要能够达到ASIC 这种专用加速器的性价比和能效比,就须要这个运用的量很大,才能支持大家去做一款ASIC 专门为它做事。当你的运用量没有那么大的情形时,商业规律让你做不了ASIC。其余,运用多样性变革的趋势很快,要通过做ASIC 去跟上它的变革太难了。
通过多种不同架构的组合,寻求最符合客户须要的性价比、能耗比的折中,这是一种最好的通过多架构组合的办法去应对运用多样性的方法。须要在不同的架构之间,有很好的折中的处理办法,并且能够集成一些不同种类的方案。比如说板级集成,CPU、GPU、FPGA 这些大芯片之间集成。或者说乃至可以供应像通过封装级集成,让你拥有更小的尺寸和功耗,但是仍旧可以供应多种加速功能。
更主要的是,集成起来之后,系统里有了异构单元,如何用专业的软件去给它供应加速,并且能够让上层的软件开拓职员不用随着里面很多不同的硬件架构换来换去,去试很多种不同的组合。这就须要上层的软件屏蔽掉底层硬件之间的差异性,但是能够很好的去对接上面的运用开拓框架,并且利用好不同硬件之间的负载分配和通讯同步,包括如何在当中探求最好的配比。
这一块业界也在探求更好的完全的软件办理方案,最近英特尔也和业界一起推出了一个开放的跨架构编程模型oneAPI,它可以通过软件层把很多不同的硬件屏蔽,只在上层暴露出统一的开拓接口,并且在底层能够支持不同的专用加速库,快速提升利用不同种类硬件的效能。
软硬件协同是目前最好的一种方法,并且须要在不同种类的硬件之间有一些灵巧搭配的方案,而不是说只依赖于DSA 这种领域加速硬件一种办法。
中科院打算所研究员崔慧敏:软硬件协同设计还是针对特定领域做的,针对特定领域进行深度的资源垂直整合,来发挥硬件的处理能力。
我以为有两个方面,由于软硬件既分工又互助,首先谈论一下它们到底是怎么分工的?软硬件之间的界面定义要怎么做,这是未来一个非常主要的问题,也须要根据不同领域来重新探索。详细来说哪些事情由硬件做,哪些事情由软件做,它们的边界如何划分?这里面实在是一个平衡,硬件做的事情越多,意味着硬件资源的利用效率越高,对搪塞出的代价便是全体通用性会受到影响;反之,如果硬件做的事情少了,通用性就会改进,但同时带来资源利用效率的降落。那么平衡点在哪里,哪些东西须要硬化,哪些东西须要软化,这是我们协同设计时须要考虑的第一个点。
像AI 在这个方面就进行了很多有趣的探索,不管是谷歌的TPU,还是寒武编年夜电脑系列,还是很多AIoT 的智能芯片,实在都是把人工智能的打算范式提取出来,根据这个范式来设计自己运用处景的特色。像TPU 和寒武纪定义了人工智能比较根本的指令集,以是对软件有很大的灵巧性。而很多AIoT 芯片是捐躯了一定的灵巧性以追求更高的性能功耗比。这两种无所谓利害高下之分,完备是设计之初由运用的市场确定的。但是这确实是一个最初就须要确定好的关键决策,由于这不管对后期的全体生态还是软件开拓都有很大的影响。
分工完了便是互助了,角色划分之后如何做协同。我以为在协同方面,有一个非常主要的成分可能比以往都主要得多,那便是工具。 由于在全体软硬协同的设计当中,须要一套自上而下完备的工具软件来支撑。这当中包括仿真器、编译器以及各种性能、能耗、面积的剖析工具。而且就像刚刚宋继强院长提到的,由于技能和运用更迭的周期是很快的,你要很快把这个东西做出来,要不然做出来的时候可能就已经由时了。
在这个过程当中就要快速实现一个指令集的定义,运用到指令集的代码天生,对天生的代码和硬件的量化评估,这当中每一个步骤都须要快速完成,这对工具链软件的寻衅还是很大的。
大略总结一下,两个永恒的主题,软硬件如何分工,如何协作,都有很大的机会。
英特尔架构、图形和软件集团副总裁兼中国区总经理谢晓清:我想从英特尔公司的角度来谈一谈这个问题。英特尔传统上来讲是一家硬件公司,从PC 时期开始,实在因此通用打算这样的一个CPU 算力来造诣现在的英特尔的。
但是,人工智能发展起来之后,实在有很多人工智能或者是数据处理方面的分外需求,以至于全体硬件行业开始向GPU、FPGA,包括AI 的XPU 方向发展。英特尔目前也在往这个方向转型。从硬件的多样化角度出发,异构打算实在现在已经成为了我们的主题,这是跟行业同步发展是一样的道理。
同时,异构打算实在给研发职员,或者说软件开拓者,带来了很多麻烦。尤其是现在的运用程序,用户场景越来越多,很多上层的软件开拓者实在是没有韶光也没有精力去学那么多不同架构的硬件的。尤其是现在,基于云打算平台的开拓对硬件的依赖性,或者对硬件的透明度越来越往抽象层发展。
从系统软件的角度来看,我们会更多去研究怎么把硬件的每一层抽象做好,以让开发者在不同层次上都可以用他们原来熟习的办法方法做他们的开拓事情。
另一方面,怎么提高开拓职员的生产效率也是一个非常主要的方面。他们原来可能须要写很繁芜的程序才可以办理的问题,如果可以在系统层面供应一套非常用户友好,并且在抽象层方面能够做到充分优化的办理方案,也可以非常大地提高开拓者的事情效率。
前面宋继强院长也提到了oneAPI,这是英特尔的一个考试测验。从英特尔的角度来看,传统PC 行业有很多的开拓者生态已经在那个地方了,进一步往前走的话,怎么能够在异构打算这样一个天下,比较好滴借鉴原来的履历,同样把原来的开拓者生态挪到异构打算开拓者生态上来,使得我们的打算能力能够指数级的增长。从而做到不仅是在硬件层面上是指数级增长的,在软件开拓效率上也是一个指数级增长的过程。
南京大学软件工程教授张贺:我以软件工程的角度来谈谈这个问题。这涉及到软件工程里的一个观点,也便是软件定义。现在是软件定义统统,这个“统统”怎么理解?我们可以把硬件虚拟化,用API 暴露硬件可以操作的部分,或者接管你的调用管理办法,实现硬件按需管理。
通过这样一种虚拟化的形式去把包括算力、存储、网络这些IT 资源,进行一个统一的、最优化的管理。这当中不仅打算本身是算力,同时网络、存储也都是算力的表现。
我们可以利用软件定义硬件功能,比如说通过软件的形式给硬件进行赋能。实际上我们刚刚提到API,API 是一个中间的核心,在API 之上是软件可以完成的,也便是统统皆可编程的观点,通过API 我们可以实现软硬件相互之间的解耦,一旦解耦之后,两者就可以各自独立蜕变。软件要做的是向个性化方向发展,它要知足的是不同用户群体对付算力的个性化哀求;而硬件该当是向标准化发展,它们相互之间可以通过虚拟化的形式结合起来。通过一体化的硬件,利用标准化、虚拟化的形式进行解耦,这样硬件就只完成它自己的功能,详细的掌握逻辑或业务逻辑交给软件去完成。
在软件定义的观点当中,和算力干系的一个是软件定义算力,或者说分布式算力。实质上便是把算力集中起来,通过软件统一进行折衷利用。还有软件定义存储,也便是说通过软件把打算的结果进行一定的存储。过去的打算,可能很多都是算过的,那就没有必要花费很多的打算资源去重新打算。而是把算过的加上要重新打算的,或者说增量,然后把它们通过软件形成来结合。其他还有刚刚提到软件定义网络,还有软件定义面向用户的运用做事,等等。
如何进一步通过软件开释硬件的最大性能?在软硬件协同的根本之上,软件方面还有什么创新思路,能够进一步开释硬件最大性能?如何通过软件快速提升算力,知足对海量数据进行实时处理和剖析的需求?
英特尔架构、图形和软件集团副总裁兼中国区总经理谢晓清:实在有一些新的思路我们也在磋商当中。从行业来看,AI 所开释出来的用户场景,使得对我们做软件也好,做硬件也好,驱动力还是非常大的。
现在软件从业职员也特殊多,软件开拓出来的产品在两年前、五年前根本没有办法想到的。以是我以为,实在技能从业职员的压力非常大,我们怎么样从技能开拓这个层面知足不同的需求。从我们现在内部看到的情形,通过软件优化让硬件潜能得到最大程度的发挥,这些事情我们一贯都在做。
举个例子来讲,比如说ResNet-50 推理的Throughput 在过去两年之内,硬件一样的情形之下,我们用软件优化的办法可以把原来的性能提高到285 倍旁边。我们原来想像当中,软件的优化可能便是10%、15% 的优化,现在我们创造由于算法、指令集方面的充分利用,这个潜能是非常大的。绝不夸年夜地讲,软件优化可以使得我们原来做推理的秒级延时,提升到现在的毫秒级;原来无法达到实时体验的用户场景现在完备可以做到实时。演习实在也是一样的,原来须要几周的韶光,现在只须要几个小时,乃至是分钟级别。由于韶光的缩短,使得原来的一些不可能的用户场景,现在变成可能。
中科院打算所研究员崔慧敏:就像我之条件的,系统软件要榨干硬件当中的每一滴“油水”,那么怎么去榨干呢?首先我们要对资源进行非常极致的风雅化管理,这是系统软件须要办理的最底层的问题。
再往上走一点,对资源利用的动态模型要构建起来。这是我从编译器的角度来说的,以前我们做编译器都是给你一个固定硬件,你拿一个程序去给它天生代码,这个芯片上不管是Cache 还是寄存器,编译器都认为是这一个程序独占的。但是现在不管是数据中央还是手机上,都是同时运行非常多负载的,这意味着我们在编译一个程序的时候,并不知道它运行的时候能拿到多少资源。传统的编译优化方法拿过来就会有很多问题。这个问题实在之前在数据中央刚刚开始履行混部的时候,就有非常多的研究职员磋商过,也提出了很多方法来办理这个问题。但是基本上都是通过资源的合理预留办法来应对的。现在就像我们刚刚提的,资源越来越宝贵了,尤其是考虑到当下的形势,可能我们都只能用比较掉队的工艺来做,以前你预留一部分的方法就玩不转了。我们必须把一个程序的性能和利用的资源之间建立一个比较精确的模型,这也是一个很难的问题,但是我认为对付DSA 来说是必须要办理的问题,也是我们做编译的研究职员须要超过的一个比较大的鸿沟。
再往上,我以为软件栈须要重新思考。现在我们的软件栈很多都是从CPU 上继续过来的,它是一个层次化剥离做得非常好的架构。以GPU 为例,底层是操作系统和Driver,往上一层有CUDA 或OpenCL 的运行时,再往上是各种编程框架的运行时,比如可能是Java 的JVM、TVM 的运行时、TensorFlow 的运行时等等。这种设计在CPU 场景下非常好,由于每层有每层的抽象,各层之间实现一个相互的协作,迁移非常大略。但是我们也要把稳到一个问题,每层抽象都要付出它的代价,我们不能又要马儿跑,又要马儿不吃草,这个代价便是性能的捐躯。
当我们切换到DSA 这个领域追求极致算力的时候,跑和吃草这件事情就须要重新想一想了。我们是不是还须要这么多分层?各个分层之间有没有重复做的事情?有没有重新整合的机会?这也是我们现在正在开展的一个很故意思的事情。机会还是蛮多的。我以为从现在的软硬协同提升算力来讲,对系统软件的研究职员来说也算是一个黄金时期。
南京大学软件工程教授张贺:实际上性能本身天然便是和普遍适用性是一对抵牾。除了在硬件架构上,或者说在芯片层面上我们可以做一些事情之外,或许我们也可以在其他非算力的方面,比如存储或者是网络上,去挤榨一些性能。
一是从存储的角度来看,由于现在很多大的数据中央,都会有很大的运用负载。比如说像搜索引擎、推举系统,实际上它们都因此数据为中央的,它的数据是有一定的局部性特色。
另一方面,现在传统打算机的构造因此打算为中央,它会有多层存储构造,如果须要完成这个任务的时候,它就把数据从硬盘搬到SSD,或者说到内存再到缓存。从存储介质来说,须要经由层层的数据搬运才可以完成这个打算。那么怎么减少这种数据搬运的开销,我们可以通过存储去挤榨一些。
在存储量这一块,我们也可以尽可能的利用存储介质本身有限的内置的打算能力,根据数据存储的位置以及它提取信息的特色、办法,尽可能在存储层面完成一定的处理,这样也可以减少IO 的开销。这是从存储的角度,看能不能给性能带来一定贡献。
还有在网络上,便是近云真个打算形式。现在智能设备非常多,传统的集中格式的云打算办法很难知足IoT、无人驾驶这样的运用处景。近些年提出的后云打算时期、雾打算、边缘打算、移动边缘打算,都是对云打算的某一种扩展。比如说把云打算设备支配在离终端用户比较近的地方,这个可能是逻辑上比较近,或者物理间隔比较近的位置,这样就可以根据用户所在位置去充分利用真个硬件资源。
其余比如边缘人工智能技能,也便是把人工智能和边缘打算进行一定结合,把算法推理这一部分更多放到终端设备上,就能靠近数据源头供应智能剖析、处理的能力。一方面可以减少中央的打算压力,提高效率;另一方面,也可以供应更安全的隐私保护。
清华大学打算机系长聘副教授翟季冬:快速分享个简短的例子。我在清华带学生参加超算比赛,我们常常会在一个固定的集群做事器上去优化一个运用程序,当硬件不变时,有时候优化后程序性能会提高几十到上百倍,这充分解释在软件优化方面还有很多空间。
刚刚很多老师提了在软件方面的一些办法,我本身的研究方向和崔慧敏老师比较类似,在编译器和编程措辞方向做过一些事情。从我的角度来说,针对底层异构芯片,或者是领域定制的AI 芯片,或者是其他的一些领域定制的芯片,要想充分发挥这些异构器件的性能,上层须要一个非常好的,不但编程随意马虎,而且可以充分发挥底层硬件性能的,领域定制的编程措辞或编程模型,这是软件层面上一个比较好的打破点。比如说我们现在常常用到的面向深度学习的TensorFlow、PyTorch,实在这些都可以说是面向人工智能这个领域的定制的编程模型。从用户的角度来说,它简化了用户编程的繁芜度。像刚刚崔慧敏老师提到的,做系统软件便是要榨干底层硬件的所有性能,这些系统软件须要交给专业人士去只管即便发挥底层硬件的性能,这样就可以更好地隔离普通用户和底层越来越繁芜的硬件之间的鸿沟。
英特尔中国研究院院长宋继强:除了分层优化软件,上层算法层级也可以带来很大的提升。特殊是像AI,如果算法不经优化直接去用,硬件的开销是很大的。常日来讲,对一个演习好的模型,如果能做很好的压缩,这个压缩既有宽度上的压缩、参数的压缩,还有打算位宽的压缩,一样平常来讲都可以达到百倍的提速比,从内存占用到打算资源占用上都可以达到很高的提速比。
其余算法设计上也有很大的空间。比如说现在很多深度学习模型都涉及到归一化这个过程。归一化如果做算法调优,有可能把打算繁芜度降得很低,降得很低往后,实际上须要硬件做一些调度。这种算法的调优反过来又可以对硬件架构的创新有辅导浸染。二者起到了相互促进、相互扶持的浸染。软件优化可以给硬件提升性能,同时也可以辅导硬件进一步增加一些特性,来进一步放大软件优化的效果。我们更希望看到一些跨层互助的案例和创新涌现。
同时在软件算法层面,最好我们可以跳涌如今的一些框架。由于现在的框架常日都是已经假设我们运用已有的常用架构,比如CPU、GPU、FPGA、ASIC 这些架构去办理问题,然后对已有的深度学习模型进行优化。如果我们跳出来去看,可能还有更新的办理问题的办法。
我们一方面追求把现在的一些问题、算法优化好办理好,另一方面我们也要探索看做同样一件事有没有其余一种不同的思路。由于现在的做法很多时候能效比不高,如果我们去看像类脑打算这种全新的硬件架构或者说全新的算法会带来什么样的效果,常日也会有一些惊人的创造。比如,我们现在初步的一些关于类脑打算芯片的研究创造,做同样的事,类脑芯片只须要好比今用深度学习方法少1000 倍的功耗就可以做到。当然这须要硬件架构相应做很大的改变,同时软件算法也要做相应的改变。
实现“打算普惠”还有哪些新路径?我们现在已经进入万物智联的时期,身边很多设备,包括冰箱、电视,全都会变成一台台小型打算机,一直地产生数据,我们须要对这些数据进行打算,这个算力的需求这天益增长的。还有什么样的方法或路子能够让算力变得大家可用,不仅是用得起,而且能够更方便、更随意马虎地去利用?
南京大学软件工程教授张贺:首先是对付用户来说,或者说对付普罗大众如何提高大家的打算意识。打算意识一方面是用户,或者说老百姓能够故意识地去利用算力为自己供应个性化的做事,也便是说他能够想到这个事情。其余一个层面是对付厂商或根本举动步伐来说,他们能够给这些用户供应支持他践行事情或者改进生活品质的这些代价层面的输出,并不大略的只是一个技能或者说打算工具的接口,这样才能让民众直接意识到打算对他生产生活的代价。
其次,要构建一个打算的或者说信息的生态环境。现在人工智能并不仅仅是一个独立存在,而是和物联网、5G 通信、大数据等结合在一起的,终极要实现的是人、机、物智能地领悟互动,让不同的资源,无论是人类社会的资源,虚拟空间的资源,还是自然空间的资源都能够整合到一起,而人是起到中央节点的浸染。整合这些资源为人做事,这须要我们构建一个生态系统,而不仅仅是提高算力就可以做到。
对付开拓者,从技能方面来说,AI 领域的门槛还是比较高的,尤其是在算力、数据、开拓平台等等方面,这就会影响更多的从业者进入。这和AI 的遍及和现在开拓者的需求增长是相抵牾的。我们如何对这些开拓者供应有效的支持,对他们赋能,提高他们的生产力,这也是一点。
另一方面是数据,数据是我们能够担保打算质量的一个主要条件,须要有大量的输入,但是这些输入是须要经由特色工程的数据。如果输入数据的质量不理想,产生的模型输出效果也不会好,便是我们传统说的“Garbage in,Garbage out”的观点。虽然现在我们的数据量越来越多了,但是数据质量还是有待提高,从数据的来源、数据的获取以及数据的高质量这些方面,以及是不是能够开放一些经由脱敏的数据,让开发者、民众去获取这些数据,从而降落打算的数据本钱。
AI 打算还须要把稳一个可持续性的问题,比如我们是不是能够在提高算力的同时降落功耗,进而减少资源的花费,减少污染。如果大家都去利用打算资源,比如每个用户都是 7×24 小时去利用,这个负载肯定是超乎想像的负载量,这样肯定会对其他的方面造成影响,比如会对环境造成影响。如果真正要达到打算普惠,我们肯定不能忽略的可持续打算的问题。
英特尔中国研究院院长宋继强:纯粹通过大规模的打算,花费很多的电来实现智能打算的办法显然是不可持续的。现在我们处于一个万物智能、万物智联的早期阶段,如果往后更多的数据都要拿来做 AI 演习的话,我们一定要找到更低能耗花费的办法去做智能打算。这哀求一是在算法层面要只管即便提升,争取达到可以通过类似像人脑这种功耗级别的算力就可以演习出可用的模型。尤其是对前真个很多物联网设备,它的持续学习和模型的演习,可能依赖这种超高能效比的演习就可以了,不须要依赖云端大型的集群。
其余,还有一些更高维度的办法,便是连续去开拓量子打算,由于量子打算十分善于做那些大规模并行打算,它不是什么都能做,但是对办理某些问题是非常高效的,对付办理 AI 问题也是很高效的。当量子打算搞定之后,它可以从传统的高性能打算那里卸掉很多任务。
高性能打算当然还须要连续去发展,我们现在的高性能打算中央不是太多而是太少,还须要在全国各地支配,把资源云化。通过 5G 网络能够把打算能力快速运送到很多人的跟前,可能也须要一些边缘打算的加持。这样能让每个人都以比较低的价格享受到比较充足且随手可得的算力。届时,算力就像开关里的电、水龙头里的水一样,我要用它就来了,不须要家里有一台很刁悍的电脑,或者说小区里一定要有一个很强的边缘打算中央,未必,只要网络可以达到那种效果,可以随时去访问到它就好了。
这实在是须要分头去研究各种不同级别的打算资源,也要做更好的支配。
清华大学打算机系长聘副教授翟季冬:我从三个方面来谈一下打算的普惠性。第一个方面是从个人层面,大家知道物联网现在已经逐渐在我们生活中各个领域发挥非常主要的浸染。比如说自动驾驶,实在现在很多车都有自己的打算设备,但自动驾驶并不是一辆车自己的事情,而是大家在路上折衷的过程。以是如果能把不同的物联网设备中的打算单元协同起来做一些调度和管理,对每个人来说都是非常有益的。
第二个方面是从公司层面,现在有很多云公司,公有云或者是私有云的公司,把打算资源整合往后供应给很多用户去分散利用。通过云打算的办法可以让更多的用户去共享一些资源,也使很多公司节省了自己运维管理做事器的开销,这也可以让打算更加充分的发挥。
第三个方面是从政府层面,刚刚宋院长提到中国的高性能打算中央实在并不是很多。最近“新基建”提的比较多,政府可以出资建更多的高性能打算中央,通过高性能打算中央云化,让更多用户或者普通公司都可以得到便宜的,或者说随意马虎得到的打算资源,这样可以做更多的运用。
英特尔架构、图形和软件集团副总裁兼中国区总经理谢晓清:英特尔提到的实现普惠打算的路子个中有一个说法叫超异构打算。前面讲了很多的异构打算,超异构打算的话,英特尔是比较偏底层的,包括芯片级、系统级、软件级(oneAPI 层面)。我的想法是第四个层面,便是怎么样从云边端三边来协同,这三个层面实在都是不同的异构架构。以是从微不雅观一贯到宏不雅观,我们都会有不同的打算能力组合出来的强大的打算网络。
云边端这样的一个协同模式从软件层面也提出了更高的哀求,打算里的编排方面,如何在精确的时候找到精确的打算资源,然后把数据以最快速、方便、安全的办法履行处理,这方面有很多人在做研究。另一方面,一个很大的寻衅是落地,由于从中国目前的情形来看,政府驱动的角度下,非常强的实行能力是我们的上风,有一些可能在其他国家落地不太随意马虎的用户场景,在中国反而可以很快落地。比如说自动驾驶,很有可能在中国会首先大规模商业化。由于云边端协同,包括车和路这方面的协同,都会使得打算能力能够最大程度的发挥出来。
另一方面,在英特尔 oneAPI 部分,希望能够在业界产生共鸣。现在中国也有很多 AI 芯片公司在做自己的异构打算芯片。从异构打算这个角度来看,我们可能希望说,在他们起步阶段,供应给他们系统软件层面的支持,使得国家在芯片行业的发展、投资不至于有太多重复。我们最近在业界希望能够和大家互助,能够有一些思维风暴,看看哪些部分我们可以利用开源的资源,利用工业标准的资源,这样的话,打算力本身只须要开拓一次就能普惠到更多行业当中的互助伙伴,可以更好的重修生态,这部分的生态不仅仅是针对运用程序开拓商的生态,也包括系统软件方面的生态。
中科院打算所研究员崔慧敏:刚刚谢老师提到的端边云三边协同,我由此想到,也可以利用一个现在云打算提出的红利,便是微做事。亚马逊供应微做事之后,用户就可以把运用程序构建成一个个独立的组件,每个运用程序作为一个做事来运行,这样就让用户云端做事支配变得非常便捷。如果说我们再考虑到将来通信本钱可以变得很低,微做事的红利就可以不但是在云这边享受到,在端和边都可以享受到,这样就可以真正扩散到生活的各个角落了。边侧和端侧的运用程序开拓和支配都可以享受到微做事在云这边所带来的红利。我以为这个可能会对未来打算普惠有非常大的影响。当然这里有很多成分的影响,比如说政府的支持、5G 的发展速率等等,都会让这个东西变得非常有潜力,我以为这是将来有可能大一统的超异构打算。
Q&A在 AI、5G、云打算等技能快速迭代的本日,各位老师对学校正在学习软件开拓的学生有哪些建议?
南京大学软件工程教授张贺:
首先不能盲目去追赶热门的话题、热门的技能。由于我们便是处在大学当中,实际上很多学生并不是非常的熟习 AI 领域详细的技能,但是他可能会根据市场热度做一个判断,我想首先是在主不雅观判断上该当有一个认识的过程,不能盲目跟风。目前这样一个时期,最大的重点该当是去培养你的学习能力,而不是说你学一堆热门技能。
大学本科教诲实际上最大的目标便是培养自学能力,也便是说不管你学的是什么专业,一旦你习得了自学能力,你就可以根据外界的变革,根据知识不断的迭代、更新,能够更新自己的知识,这个能力该当是最主要的。在这个根本之上,像我们软件工程专业,还非常看重实践的能力。比如在 AI 领域当中,并不是说我们拿来数据和模型,然后我们去调一些参数,能够把这个指标刷得多好。至少对学生来说,这并没有太大的意义,便是对他今后的工程实践是没有太大帮助的。反而像我们刚刚提到的话题,比如说软硬件的协同问题,比如说如何办理性能问题,这些实际上该当是更具有实践意义和落地代价。
总结一下我的不雅观点,一是不要跟风,能够进行自我更新和知识迭代,如果你须要学就去学它,办理你当下的问题;二是能够去培养、磨炼,找统统机会实践你动手的能力。
清华大学打算机系长聘副教授翟季冬:
我在清华上课的时候,常常会鼓励学生多去看一些新的科技动态,包括刚刚谈到的 AI、5G、量子打算、类脑打算等。大家知道清华大学的学生都非常努力,会把教材的东西学得非常好。我会鼓励大家多去看一些新的科技洞察,鼓励学生去思考到底这个技能本身会给我们带来一些什么样的变革和寻衅。在 5G、AI,或者说新的浪潮下,我会鼓励学生多去思考这些新运用模式会给底层的系统软件和硬件带来哪些新的寻衅?下一步的趋势和寻衅在哪里?如何和你学到的知识,或者说你脑筋里已有的知识结合起来,创造更好的办法,去办理当前或者是未来几年的一些技能寻衅?这些是我们该当去思考的。
英特尔中国研究院院长宋继强:
现在的学生们会比较辛劳,比较 10 年、20 年前,现在的技能迭代非常快,而且各个领域之间技能的相互渗透大概多,以是对他们来讲,确实是压力比较大。很可能在本科阶段学的东西,到了硕士乃至是博士还没到的时候,就已经由时了。那么怎么办呢?我以为张老师和翟老师说的都是有道理的,既须要担保自己能够知道现在业界发展技能的前沿,包括趋势是怎么走的;同时也要能够静得下心来,把自己的专长、技能能力做踏实,实践的能力做好。那么怎么去应对现在这个既广又快的技能发展变革呢?我实在是建议学有余力的同学们,能够多去找一些机会,参与到技能涉及面比较广的大公司的演习活动中去。
比如说英特尔,涉及到技能的方方面面,从硬件到软件,从通信到人工智能都做,很随意马虎就能打仗到比较多的技能门类和理解这些技能之间有什么关系,不太随意马虎被很多媒体文章里的宣扬所误导,也不随意马虎头脑发热地说一定要从我现在的学科跳到人工智能。大家还是要更早地把自己学习的东西跟业界的专家多做互换,这样可以有更好的发展轨道。
中科院打算所研究员崔慧敏:
我们特殊希望学生能做一个高下贯通的开拓和研究,我们国科大的包云岗老师也牵头了很有名的“生平一芯”操持,国科大的毕业生可以带着自己的芯片毕业。他们会学习从打算机组成事理,到构造、操作系统等多门课程,今年我的编译事理课也会加入个中。学生到大四的时候就可以做出自己的芯片、操作系统、编译器,大概有一些他们喜好的人工智能算法也能真的跑在他们自己做的芯片上,这是很故意思的事情,这对学生系统能力的演习确实是特殊有用的。
直播***回放地址: https://live.infoq.cn/room/467
延伸阅读:
加速连接效率 阿里云推出5G使能平台MEP
华为全联接2020:环信AI领跑,输出5大行业最佳实践
5G加速商用,云通信如何推动企业营销数智化
关注我并转发此篇文章,私信我“领取资料”,即可免费得到InfoQ代价4999元迷你书,点击文末「理解更多」,即可移步InfoQ官网,获取最新资讯~