术语表

TensorRT

利用TensorRT 优化深度学习模型,在NVIDIA GPU 上实现更快、更高效的推理。通过YOLO 和人工智能应用实现实时性能。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

TensorRT 是一款用于高性能深度学习推理的软件开发工具包(SDK)。它由NVIDIA 开发,有助于优化训练有素的神经网络,以便在生产环境中部署,尤其是在NVIDIA GPU 上部署。它旨在从PyTorch 或TensorFlow 等框架中提取训练有素的模型,并对其进行优化,以实现更快、更高效的推理,这对实时应用至关重要。

TensorRT 是什么?

TensorRT 本质上是一个推理优化器和运行时引擎。它采用经过训练的深度学习模型,并在推理阶段应用各种优化措施来提高其性能。这一过程涉及图优化、层融合、量化和内核自动调整等技术。通过优化模型,TensorRT 可以减少延迟并提高吞吐量,从而可以在要求快速响应时间的应用中部署复杂的人工智能模型。

TensorRT 不是一个训练框架,而是在使用诸如 PyTorchTensorFlow.它特别关注部署阶段,确保模型在目标硬件(主要是NVIDIA GPU)上尽可能快速高效地运行。这对于在边缘设备或数据中心运行的应用尤其有价值,因为在这些应用中,推理速度和资源利用率至关重要。

TensorRT 如何工作

TensorRT 中的优化过程包括几个关键步骤,以提高推理性能:

  • 图优化:TensorRT 对神经网络图进行分析和重组,以消除冗余操作并简化执行流程。这可能包括删除不必要的层或对最终输出无重大贡献的操作。
  • 层融合:将多个兼容层合并为一个层,以减少开销并提高计算效率。例如,连续的卷积层、偏置层和 ReLU 层通常可以融合为一个操作。
  • 量化:TensorRT 可以将模型权重和激活的精度从浮点(FP32 或 FP16)降低到整数格式(INT8 或更低)。这可以降低内存带宽要求并加快计算速度,尤其是在针对整数运算进行了优化的硬件上。虽然量化可能会略微降低精度,但TensorRT 的目标是在显著提高速度的同时,尽量减少这种影响。
  • 内核自动调整:TensorRT ,根据目标GPU 架构为每层操作选择最有效的实现(内核)。这一自动调整过程可确保模型充分利用底层硬件能力。

与运行未经优化的原始模型相比,这些优化措施大大提高了推理速度和效率。

应用TensorRT

TensorRT 广泛应用于各种需要实时或接近实时推理的应用中。两个具体的例子包括

  • 自动驾驶汽车:在自动驾驶汽车中,快速的物体检测和场景理解对安全和响应速度至关重要。 Ultralytics YOLO利用TensorRT 对模型进行优化后,可在NVIDIA DRIVE 平台上实现必要的推理速度,实时处理传感器数据,从而为导航和避障做出快速决策。
  • 实时视频分析:对于安全监控或交通监控等应用,TensorRT 可处理高分辨率视频流,以最小的延迟进行目标检测、跟踪和分析。这样就能根据检测到的事件立即发出警报和采取相应行动,如安全警报系统中的入侵检测或智能城市的交通流量分析。

TensorRT 在其他领域,如医学图像分析、机器人技术和基于云的推理服务中,低延迟和高吞吐量也是至关重要的。

TensorRT 和Ultralytics YOLO

Ultralytics YOLO 可使用TensorRT 导出和优化模型,以便在NVIDIA 设备上部署。Ultralytics YOLO 的导出文档详细说明了如何将YOLO 模型转换为TensorRT 格式。这样,用户就可以利用TensorRT 的优化功能,大大加快YOLO 模型的推理速度。

对于在NVIDIA JetsonEdge 设备上部署YOLOv8 的用户而言, TensorRT 优化往往是实现实时性能的关键步骤。此外, NVIDIA Jetson上的 DeepStream利用TensorRT 实现高性能视频分析应用。

使用的好处TensorRT

利用TensorRT 可为部署深度学习模型提供几个关键优势:

  • 提高推理速度:优化大大减少了推理延迟,提高了吞吐量,实现了实时性能。
  • 降低延迟:对于需要即时响应的应用(如自主系统和实时分析)而言,降低延迟至关重要。
  • 优化资源利用:量化和图形优化可减少内存占用和计算需求,使模型在资源有限的设备上运行更高效。
  • 硬件加速:TensorRT 旨在最大限度地利用NVIDIA GPU,确保在NVIDIA 硬件上实现最佳性能。
  • 部署就绪:它提供了一个生产就绪的运行环境,简化了从训练有素的模型到应用程序的部署过程。

总之,TensorRT 是开发人员部署高性能深度学习推理应用的重要工具,尤其是在使用NVIDIA GPU 时。通过优化模型以提高速度和效率,TensorRT 有助于缩小研究与实际部署之间的差距,使各行各业都能获得实用的高级人工智能。

阅读全部