导读
TensorRT支援热门的深度学习开发框架,可以最佳化这些框架开发的模型,并部署到嵌入式、自动驾驶或是资料中心平台
Nvidia宣布开源用于其GPU与深度学习加速器上的高效能推理函式库TensorRT,这个函式库以C++撰写,建构于平行可程式化模型CUDA之上,提供精度INT8和FP16的最佳化之外,也支援多种平台,包括嵌入式、自动驾驶以及GPU计算平台,同时也让用户可以将神经网路部署到资料中心,以容器化微服务技术同时执行多个模型。
TensorRT是一个高效能的深度学习推理平台,使用者可以将训练好的神经网路输入TensorRT中,产出经最佳化后的推理引擎。TensorRT主要包含两部分,有用来进行调校的深度学习推理最佳化工具,以及能执行深度学习推理应用程式的Runtime,Nvidia提到,使用TensorRT的应用程式,比起CPU平台的执行速度还要快40倍。
TensorRT建构在CUDA之上,因此开发者可以使用CUDA-X AI中的函式库以及开发工具,开发无人机、高效能运算以及图学等应用。TensorRT提供了精度INT8和FP16最佳化,可用于加速图像串流、语音辨识、推荐以及自然语言处理等深度学习推理应用,Nvidia表示,低精度推理能够大幅地减少应用程式延迟,符合更多即时服务、自动化与嵌入式应用程式的需求。
TensorRT支援热门框架训练出来的神经网路模型,无论TensorFlow和MATLAB,或是ONNX模型格式都可进行最佳化,并将模型导入TensorRT进行推理。TensorRT在去年就整合了TensorFlow,版本是TensorFlow 1.7分支,这项整合为开发者提供了简单使用的API,提供FP16与INT8最佳化,官方表示,这项整合可为TensorFlow在ResNet-50基准测试,提高8倍的执行速度。
热门的多范式数学计算环境和语言Matlab,透过CUDA程式码产生器GPU Coder整合了TensorRT,因此使用Matlab的开发人员,也可以将程式码转成嵌入式平台Jetson、自动驾驶平台DRIVE与Tesla GPU平台的高效能推理引擎。
而对于开放的神经网路格式ONNX,TensorRT提供开发者ONNX解析器,让开发者将ONNX模型从Caffe 2、Chainer、微软认知开发工具、MxNet和PyTorch等框架中输入到TensorRT中。由于TensorRT也与ONNX Runtime整合,因此为ONNX格式的机器学习模型,带来简单就能实现高效能推理的方法。
TensorRT除了让开发者可以将神经网路最佳化,在Jetson、DRIVE与Tesla平台上执行外,也最大程度的支援大规模资料中心。为支援在资料中心执行的人工智慧模型,TensorRT使用称为推理伺服器(下图)的容器化微服务技术,利用Docker以及Kubernetes,不只可以最大化GPU使用率,也能无缝整合DevOps部署,让使用者可在多节点同时执行来自不同框架的多个模型。