1 介绍
NVIDIA基于CUDA做了完善的生态,NVIDIA TensorRT™是一个高性能深度学习推理平台。 它包括深度学习推理优化器和运行时,可为深度学习推理应用程序提供低延迟和高吞吐量。 在推理期间,基于TensorRT的应用程序比仅CPU平台的执行速度快40倍。 使用TensorRT,您可以优化在所有主要框架中训练的神经网络模型,以高精度校准低精度,最后部署到超大规模数据中心,嵌入式或汽车产品平台。TensorRT构建于NVIDIA的并行编程模型CUDA之上,使您能够利用CUDA-X AI中的库,开发工具和技术,为人工智能,自动机器,高性能计算和图形优化所有深度学习框架的推理。
基于TensorRT可以构建一个简易的但足够强大的部署平台,首先TensorRT core提供的库可以做针对GPU的优化,其次,使用TensorRT Inference Server提供推断服务.
2 TensorRT core
TensorRT™ core是一个C ++库,可以促进对NVIDIA图形处理单元(GPU)的高性能推断。 它旨在以TensorFlow,Caffe,PyTorch,MXNet等培训框架的互补方式工作。它专门用于在GPU上快速有效地运行已经训练过的网络,以便生成结果(一个过程参考 在各个地方评分,检测,回归或推断),工作原理如图1所示。
图1 TensorRT core工作原理
官方文档:NVIDIA TensorRTdeveloper.nvidia.com
实际案例:How to Speed Up Deep Learning Inference Using TensorRT | NVIDIA Developer Blogdevblogs.nvidia.com
问题提问:TensorRTdevtalk.nvidia.com
3 TensorRT Inference Server
为了在数据中心生产中使用AI模型,TensorRT推理服务器是一种容器化微服务,可最大化GPU利用率,并在节点上同时运行来自不同框架的多个模型。 它利用Docker和Kubernetes无缝集成到DevOps架构中,工作原理如图2所示。
图2 TensorRT推理服务器支持灵活部署推理模型
官方文档:https://devblogs.nvidia.com/nvidia-serves-deep-learning-inference/devblogs.nvidia.com
github:https://github.com/NVIDIA/tensorrt-inference-servergithub.com
官方blog:https://devblogs.nvidia.com/nvidia-docker-gpu-server-application-deployment-made-easy/devblogs.nvidia.com
官方blog:https://devblogs.nvidia.com/speed-up-inference-tensorrt/devblogs.nvidia.com
使用文档:NVIDIA Triton Inference Serverdocs.nvidia.com