「学术报告」NVIDIA何琨:NVIDIA 深度学习加速工具

tuzhen0 2018-08-11

2018年8月4月,由北京理工大学大数据创新学习中心与中国科学院人工智能联盟标准组联合主办的“2018深度强化学习:理论与应用”学术研讨会,学界与业界顶级专家济济一堂,共同分享深度强化学习领域的研究成果。

「学术报告」NVIDIA何琨:NVIDIA 深度学习加速工具

NVIDIA 深度学习加速工具

「学术报告」NVIDIA何琨:NVIDIA 深度学习加速工具

何琨 NVIDIA产品经理

随着深度神经网络领域的发展,NVIDIA提供了加速计算过程的工具,这里分享给大家。

「学术报告」NVIDIA何琨:NVIDIA 深度学习加速工具

本图涵盖了深度学习领域应用绝大部分的内容,包括计算机视觉、语音、自然语言处理等领域,这些领域下面都有丰富的框架,我们在这种框架当中来做产品的研发以及模型的训练,我将先为大家提供一些加速学习库,这些库包括NVIDIADIGITS、cuDNN、TensorRT、Deep Stream等。

NVIDIA DIGITS(交互式深度学习GPU训练系统)

在做深度学习研究的时候会有很多的训练以及对我们的模型进行管理,需要远程连接的服务器,正常的情况下我们需要敲代码或者远程连接到服务器,有了NVIDIADIGITS以后我们就可以远程控制计算机或者服务器,进行远程操作和可视化的界面。我们仅需要手机和电脑的浏览器就可以完成上述的工作。

「学术报告」NVIDIA何琨:NVIDIA 深度学习加速工具

本图中列出了一些常用的框架,可以利用在框架当中设计的网络在线监控网络的运行情况。例如:网络参数是否输出正常,对于异常参数可以立即终止,减少时间浪费。

更重要的是NVIDIADIGITS提供了大的模型库,可以在这个基础上训练自己的模型,而不是从头开始训练自己需要的模型,可以为算法或者模型打下更高的基础。

NVIDIADIGITS是基于PexOne写成的开源的框架,我们除了可以用它做网络监控之外,还可以用来做目标检测、图像分割、人脸识别、自然语言处理等研究。

cuDNN

在同一个GPU、同一个框架、同一个网络和数据集的时候,cuDNN训练的速度和执行的速度更快。因为在cnDNN的底层就已经将很多的板块和功能进行了集成。例如:在进行卷积网络神经计算时,需要去学习很多的底层知识,如果想要把这个操作优化得更好的话则需要花更多的力气学习,而cuDNN已经把内容都集成好了,需要做的就是调用某个API的简单操作。

现在已经cuDNN发展到了7.0版本,可以利用Volta架构的新功能和性能,与Pascal GPU相比,可将培训性能提高3倍,现在支持多种网络层,包括pooling,LRN, LCN, batch normalization, dropout, CTC, ReLU, Sigmoid, softmax and Tanh。另外,NVIDIA使用FP32,FP16(Tensor Cores)数据类型进行前向和后向传递,使用UINT8(Volta及更高版本)进行正向传递,在使用的时候加速的效果是非常显著的。

TensorRT

NVIDIATensorRT™是一种高性能深度学习推理优化器和运行时加速库,可为深度学习推理应用程序提供低延迟和高吞吐量。使用TensorRT,您可以优化神经网络模型,以高精度校准低精度,最后将模型部署到超大规模数据中心,嵌入式或汽车产品平台。cuDNN是在训练模型的时候应用较多,TensonRT在做产品的时候应用较多。训练一个网络模型我们可以在DataCentre里面做,训练的过程是采用在线迭代的方法,一步一步更新网络模型的参数,过程当中可以调整我们的网络模型或者各种各样的参数。这些模型运用到产品端的时候,我们的产品端并没有那么多的计算能力,并没有那么大的记忆或者带宽的处理功能,由于各种各样的计算条件的限制不能达到训练的能力,这个时候就要用到TensonRT这样的工具。比如无人自动驾驶、无人机在飞行或者是智能摄像头监控的时候应用TensonRT可以加速前端的推理过程。

「学术报告」NVIDIA何琨:NVIDIA 深度学习加速工具

TensonRT已经更新到了4.0版本。对于MLP和RNN的新层,与CPU相比,吞吐量提高了45倍。在TensorRT中使用ONNX解析器导入的ONNX模型,V100与CPU的推理性能提高50倍;TensonRT支持NVIDIA DRIVE™ Xavier - AI Computer forAutonomous Vehicles;使用API在Volta Tensor Core上运行,FP16自定义层的推理加速达到3倍以上。

TensonRT在底层做的就是一个解析器,了解每个参数的用途,然后再做推理,如何执行每一层,包括底层内核的调度和各个层的优化之间都是TensonRT应该做好的。例如,连接在一起的卷积层,正常情况下是顺序执行,数据流先进入卷机层里面,然后把数据流从CPU端复制到GPU端,计算之后再返回CPU端,一共有六次的访存操作,应用TensonRT把三个层结合在一起变成DCR的结构,同时把数据流输入到卷机层以后全部放到GPU进行计算,中间两个层会自动优化,就是第一次和最后一次,这样省了四次的数据访存空间。

随着神经网络的应用越来越广泛和深入,对于数据访存的要求将会越来越高,应用TensonRT会节省更多的时间。

DeepStream

NVIDIA DeepStream SDK是为大规模创建和部署基于AI的视频分析应用程序解决方案而设计的,它提供完整的框架和所有基本构建模块。

Deep Stream是为处理视频流设计的工具,视频的编解码的过程和结果结合在一起,可以完成一整套的视频处理解决方案,包括图像的检测、识别和TrackIn的跟踪任务。Deep Stream现已提供了自制的接口,可以直接把视频流到信息提取出来的内容进行转化。

获取完整PPT,请后台回复:学术报告

供稿人:田飞凡

「学术报告」NVIDIA何琨:NVIDIA 深度学习加速工具

精彩的学术报告背后,是一群优秀的学术人才。都说搞学术的人需要“超凡脱俗”,需要耐得住清贫寂寞,其实……芯君想说:完全不需要这样啊!比如,马上申请2018百度奖学金——是的,百度为每位具有AI才能的“潜力股”学术精英们提供了广阔的平台资源和发展空间,为其提供20万研究资金支持,帮助优秀学子全身心投入科研工作,心无旁骛地进行科学探索。

还等什么,你——未来的学术之星,赶快申请报名吧!

「学术报告」NVIDIA何琨:NVIDIA 深度学习加速工具

如需转载,请后台留言,遵守转载规范

相关推荐