英伟达发布了一款突破性的推理软件,借助于这款软件,全球各地的开发者都可以实现会话式ai应用,大幅减少推理延迟。而此前,巨大的推理延迟一直都是实现真正交互式互动的一大阻碍。
nvidia tensorrt 7作为nvidia第七代推理软件开发套件,为实现更加智能的ai人机交互打开了新大门,从而能够实现与语音代理、聊天机器人和推荐引擎等应用进行实时互动。
nvidia加速计算产品管理总监paresh kharya、nvidia企业边缘计算总经理justin boitano、nvidia tensorrt产品市场负责人siddarth sharma接受媒体的采访,对nvidia深度学习产品进行了详细解读。
paresh kharya表示,会话式ai是一个非常复杂的任务,因为它需要理解语音、文本、语言并且还要把这些东西转化为语言再次说回去。
“这里最关键的一个挑战就是要想真正的实现会话式ai,我们需要在毫秒级的时间段来完成我刚刚提到的整个非常复杂的过程,因为只有这样,会话式ai才会显得比较自然。随着tensorrt 7的发布,我们可以将这一系列的复杂模型进行加速计算,这也是我们第一次真正的实现实时会话式ai,并且可以准确的处理中间复杂的流程”。
对于如何看待深度学习当中多种处理器的共存,paresh kharya提到,ai的变化速度是非常快的,甚至更新是以分钟来计的,所以必须要在软件端实现高度灵活的可编程。gpu是ai领域的专用芯片,它的指令集是非常有优势的,是全可编程,并且是软件定义的。
另外,gpu架构向前兼容,硬件更迭随着软件不断更新适应,且软件库内就能进行直接更新。无论是台式机、笔记本、服务器,还是很大型的外设,在数据中心、边缘或者是物联网上,均可使用nvidia的平台。
有些公司通过去掉gpu的图形处理部分来提升ai算力和减少成本,paresh kharya认为,nvidia在图象处理方面本身基础就比较好,比如说其rt core能够加速图象处理,tensor core做ai加速计算。
以下为采访实录:
问:在推荐系统这一块,一方面是面临海量的数据,还有ai模型也在每天不完善更新,这个挑战对于nvidia来说,算力和软件哪一个是当前更为重要的难题?
paresh kharya:这两个其实也是相关联的,您说的没错,ai模型确实每天都在发生变化,甚至百度的模型可能隔几分钟就要发生变化。如果要是模型行之有效,必须要不断训练模型并对模型进行更新。
因为无论是你在网上的信息包括产品信息、视频信息等等都在不断发生变化,整个推理过程也在不断变化,只有不断对这些模型进行训练,才可以进行有效的推荐。
所以训练模型确实需要大量算力,这也是nvidia解决方案能够解决的问题,现在已经不是跑在一个服务器上了,而是需要多个服务器来同时解决同一个问题,去训练这些大量的模型。
因为这些模型其实越来越复杂,所以当你部署这些模型的时候,在某些app当中做推理的话,这些模型的规模是非常大的,它也确实需要大量的算力才能让这些模型真正的跑起来。
所以,我们也是提供了不断更新的各种各样工具和软件,比如说用我们最新的软件tensor rt来支持各种各样的模型在各种情景下的部署,并且支持上百万的用户在每秒内做数十亿的搜索。
如果说想大规模的让这些模型跑起来,没有我们的gpu是非常困难的。比如说还是以阿里为例,他们的边缘系统如果说在gpu上跑,每秒可以做780次查询,但是如果说用cpu,每秒只能做3次查询。
问:您如何看待深度学习当中多种处理器的共存,因为在加速这一块有fpga,但是fpga开发周期也在不断缩短,它也是可编程的,另外还有其他的一些处理器,比如说tpu、npu等等,gpu在未来场景的下其优势是什么?
paresh kharya:fpga从设计的时候就是为模拟而用的,但是如果说这个东西是专门为模拟而用的,你反过来想,在真正实际应用过程当中,它的表现反而可能没有那么好。
实际上首先做好一个fpga,整个编程的时间就要几个月,然后还要做再编程,而且还在硬件层面对它进行编程。现在ai就是我们之前讨论过的,变化速度是非常快的,甚至更新是以分钟来计的,所以必须要在软件端实现高度灵活的可编程。
gpu是ai领域的专用芯片,他的指令集是非常有优势的,是全可编程,并且是软件定义的。
另外一个优势,我们的架构是向前兼容的,当你使用了一个编程框架之后,在未来如果说你使用新的硬件,可以帮助你缩短整个开发周期,也就是说整个硬件是可以随着软件不断更新适应的,而且在软件库里就可以进行直接更新。
而且我们的平台在使用上是几乎可以在任何设备上使用的,无论是台式机、笔记本、服务器,还是很大型的外设,在数据中心、边缘或者是物联网上都可以使用。
问:我们看到今天宣布了对arm架构的支持,nvidia这方面的考虑是什么?今天上午的演讲当中,更多强调软件的作用,nvidia在提升加速计算性能表现方面做了哪些工作?
paresh kharya:首先arm本身就是一个非常重要的,并且被广为使用的架构。在全球范围内,共有1500亿台设备是基于arm架构的。之所以arm架构如此成功,就是因为它是一个开放平台,各种各样的公司都可以在arm架构上进行他们想要的创新。
所以arm所提供的各种各样的功能,包括互联、内存、cpu内核、计算能力,包括多元化的支持,都使得arm成为了现如今世界上非常重要的架构之一的重要原因。
这也给了客户更多选择,无论在数据中心还是在边缘设备上都可以选择arm架构,这也是我们为什么选择兼容arm做加速计算。我们通过将cuda平台和arm架构进行兼容,在整个加速计算领域,无论是ai、高性能计算还是我们进入的所有的领域都可以给到客户更多选择。
因为加速计算和过去以cpu为基础的计算是非常不一样的,它使得高性能计算达到更高的提升,这种性能提升是20、30甚至是100倍的,之所以有这么大的性能提升,不仅是在架构上进行了设计,更重要的是我们通过软件的方式使得性能进一步提升。
比如说我们有各种各样的平台,像应用在医疗领域的clara平台,应用在自动驾驶领域的drive以及isaac,所以是硬件和软件的相互结合让计算性能得以大幅度提升。
包括黄仁勋在演讲当中也提到,我们仅仅通过软件就使我们ai计算性能在两年之间提升了4倍,所以软件对加速计算的性能提升是非常重要的,未来我们会继续在我们各个平台上对软件进行完善以提升性能。
justin boitano:我补充一下关于软件定义的事情,我们在全世界范围内和很多电信公司合作,电信公司正在建设5g,在边缘计算方面投入了很多资源,然首先要加速5g信号处理,除了5g信号处理他们也希望利用同样的技术架构加速他们自己的ai、游戏或者是vr应用,所以整个工作负载都是发生了一些变化的,取决于接入网络的设备和用户发生了很多变化。
paresh kharya:因为最终客户最在乎的,是他们能不能用各种各样的计算平台来帮助他们降低成本,处理各种各样的工作负载。
而且,非常重要的一点就是,不仅可以在今天利用这些硬件处理这些工作负载,并且在未来也能够持续,要实现这一点,软件定义平台就非常重要了。
问:我想问一个有关tensorrt的问题,上一个版本的tensorrt 6是在3个月前发布的,在这么短的时间内就发布tensorrt 7是出于什么样的考虑?tensor rt整个研发升级的路线是怎么样的?
siddarth sharma:实际上这一点涉及到会话式ai的问题,我们做会话式ai的加速方面已经有好几个月的时间了,其实最开始的第一个版本只涵盖了会话式ai当中的一部分,也就是语言理解的部分。
整个过程是需要三个部分的,第一个是语音识别的部分,识别你所说的,你要识别所说的话转化为文字,然后要理解这些文字,然后再转化成的文字转化成语言再说出来。
随着我们不断发布新的版本,tensorrt 7基本上可以完成整个三个流程计算。从语音识别到语义理解再到语音输出。会话式ai是非常难的领域,要想把会话式ai做得比较有用,你要符合两个条件,首先是要在300毫秒内将整个三个部分完成,而且要完成的非常智能。
在这个过程当中,有非常多复杂的模型需要计算,所以我们tensor rt也是在不完善,现在可以覆盖整个流程。
问:第一个问题,我听到有一种说法,硬件每提升一倍性能,软件可以带来几倍甚至是几十倍的提升,nvidia的gpu是否也有这样的提升,有没有相关的数据?
paresh kharya:其实在加速计算平台当中,首先要做好硬件架构,在硬件架构基础之上开发相应的现在软件来利用这个硬件平台,有了软件再去开发各种各样的应用。
举一个例子,现在我们的gpu光线追踪的技术,在最新的gpu平台上,它可以带来50倍以上的性能提升。在硬件性能提升基础上,我们开发软件去利用硬件带来的更优越的性能,让做渲染的开发者可以更好利用硬件加上软件的性能提升。
问:今天还提到推荐的案例,相比cpu来说提升的性能非常多,在新的应用领域是否依赖于我们的软件平台优化才可以实现相对cpu性能更大的提升?
paresh kharya:这么来说,站在开发者的角度来说,如果说是那些做ai开发的开发者,他们会用各种各样的ai开发框架,比如tensorflow,我们其实主要做的是尽可能的做更多的软件库整合到tensorflow当中。
这样,这些开发者在做开发的时候就可以充分利用这些库来基于各种各样的平台,包括gpu去做开发,这样开发者就不用再去担心自己要去写很多底层的东西,这样他们会直接利用我们写出来的库或者是新的功能直接去开发他们想要的东西,并且之后可以在任何的硬件平台上进行使用。
问:nvidia能满足多用户函数做深度学习的条件,所以它在深度学习的硬件平台选择上还是很占优势的,我们注意到tesla v100升级的时候,有很多深度学习的模型主动做出了一些调整来发挥nvidia硬件的优势。
但是我随便列了一下深度学习模型的主要类型,我们可以列出20个以上,对它的支持其实是很复杂的工程,我们想了解一下,对于主流深度学习模型的支持,我们是被动的,还是说我们在硬件进入更新之前和他们就做沟通然后共同做出调整?
paresh kharya:实际上现在在市面上你如果去看的话可能有成百上千各种各样的深度学习模型,基本上每一个用户用例,包括每个客户旗下都有自己的模型,他们用自己的数据来做训练,所以整个深度学习模型是高度多元化的,这也是为什么我们在做硬件的时候要做成可编程程度非常高的,这样才可以促进加速计算在这个领域的应用。
我们在做硬件设计的时候,也考虑了深度学习过程当中可能会出现一些共性的东西来做改善,包括从tensor core支持多元化的深度学习模型。
今天上午讲了很多软件,我们一直在不断更新完善我们的软件堆栈,比如说我们也是很快推出了tensor rt新的版本,能够进一步提升推理的速度。
当然有一些客户他们也希望提供一些现成的深度学习模型供他们使用,我们也有一些预训练好的模型供客户直接部署,或者他们通过转移学习的方式定制化自己想要的模型。我们也在不断更新和提供各种各样的堆栈让用户去创建训练和优化自己的模型。
siddarth sharma:补充一点,我们其实也是和开发者保持非常紧密的沟通和合作,比如说tensorflow等,以保证这些开发框架和我们硬件紧密兼容,与此同时我们在各种软件功能和库上做沟通,以保证一些外部开发者可以充分利用这些东西。所以我们在内部也有一个很大的团队去做主动沟通。
问:刚刚提到与arm的合作,在数据中心、边缘计算给客户以更多选择,我们知道arm架构在边缘计算方面更有优势,市占率更高,未来在边缘计算会有更多设备,甚至是ai服务器,是不是我们也看到了前景很大的市场是合作的主因?
justin boitano:有关边缘计算,因为nvidia是有arm架构许可的,所以我们开发很多产品都是基于arm架构的,包括今天介绍的用于汽车平台的产品,所以我们有很arm架构的硬件。关于边缘计算的需求,我们看到很多客户想用arm的架构,最主要的是因为他有一些低功耗的应用,并且应用起来也比较灵活,包括应用在仓库里或者是路边的一些设备应用arm架构会比较好。
问:怎么看待现在一些企业去砍掉gpu当中的图形处理部分,去做纯ai加速的通用gpu,以这样的一种方式去达到更快的ai加速能力更低的成本?
paresh kharya:nvidia在图象处理方面本身基础就比较好,比如说我们的rt core能够加速图象处理,tensor core做ai加速计算。我们业提供了各种各样的产品来满足客户各种各样的需求,比如说应用于数据中心的gpu没有图像处理的部分,但是它有tensor core能够做ai加速计算。
像我们一些新的产品比如说rtx6000、rtx8000,图像加速和ai加速的功能都是有的。我们比较大的优势是我们有统一的架构可以应用于各种工作负载当中来实现加速计算。这对我们来说都是各种各样的商业机会,可以应用在不同市场和行业当中。
像游戏、图像是一个很大的业务,高性能计算和ai对我们来说都是比较大的业务板块。所以各个业务板块我们都可以有很好的营收,这样我们可以进一步投入到我们的统一架构平台的研发当中。
问:今天上午谈到了nvidia ai和云计算厂商的合作,能不能详细介绍一下nvidia和国外的云计算公司以及国内的云厂商合作的情况和进展?
paresh kharya:云计算是一个非常重要的计算方式,并且增长势头也是非常迅猛的。
我们的计算平台几乎和全球所有的云服务提供者都有合作,比如说aws、azure、谷歌云,包括中国的百度、滴滴、阿里的云平台,我们和各个云供应商都保持了非常紧密的合作,我们在开发下一代产品时都会保证到无论是开发者还是客户都用到我们的产品。