术语表

TensorRT

利用 TensorRT 优化深度学习模型,在英伟达™(NVIDIA®)GPU 上实现更快、更高效的推理。利用 YOLO 和 AI 应用程序实现实时性能。

TensorRT 是英伟达™(NVIDIA®)公司推出的高性能深度学习推理优化器和运行时库。它专为在英伟达™(NVIDIA®)图形处理器(GPU)上最大化训练神经网络(NN)的性能而设计。使用PyTorchTensorFlow 等框架对模型进行训练后,TensorRT 会对模型进行大量优化,为部署做好准备。这样就产生了一个高效的运行时引擎,可以显著减少推理延迟并提高吞吐量,非常适合需要实时推理的应用。

TensorRT 如何工作

TensorRT 通过多步优化过程将标准训练模型转化为精简推理引擎,从而实现性能提升。这一过程在很大程度上是自动化的,并根据将要部署的特定英伟达™(NVIDIA®)GPU 架构量身定制。主要优化技术包括

  • 图优化:TensorRT 对训练好的模型进行解析,并执行图优化,如消除未使用的层,纵向(结合连续层)和横向(结合并行层)融合层。这样可以减少操作次数和内存开销。
  • 精度校准:它支持低精度推理,如混合精度(FP16)和 INT8。通过模型量化模型权重从 32 位浮点数(FP32)转换为较低精度,TensorRT 大幅降低了内存使用量和计算要求,同时将对精度的影响降至最低。
  • 内核自动调整:TensorRT 可从庞大的 GPU 优化内核库中为每个操作选择内核,或为目标 GPU 创建自己的专门调整内核。这可确保在硬件上尽可能高效地执行每项计算。
  • 张量内存优化:它通过在整个模型执行过程中重复使用张量内存来优化内存使用,从而减少内存占用并提高性能。

Ultralytics YOLO 模型可轻松导出为 TensorRT 格式,使开发人员能够在其计算机视觉 (CV)应用程序中利用这些优化功能。

实际应用

TensorRT 对于在时间敏感、资源有限的环境中部署高性能人工智能至关重要。

  1. 自动驾驶汽车:在自动驾驶汽车中,感知系统必须实时处理来自摄像头和传感器的数据,以检测行人、其他车辆和障碍物。采用 TensorRT 优化的Ultralytics YOLO11等模型能够以极低的延迟执行物体检测,这对于做出安全驾驶决策至关重要。
  2. 智能制造:在工厂车间,制造业中的人工智能用于自动质量控制。摄像头捕捉传送带上的产品图像,视觉模型分析图像中的缺陷。通过使用 TensorRT,这些系统可以与高速生产线保持同步,即时发现问题并提高整体效率。

TensorRT 与相关技术的对比

虽然 TensorRT 是一个强大的推理引擎,但了解它与人工智能生态系统中的其他工具有何不同也很重要:

  • 深度学习框架:PyTorch 和 TensorFlow 等框架主要用于训练模型。虽然它们有自己的推理能力,但在部署方面不如 TensorRT 这样的专门运行时优化。
  • ONNX 运行时:开放神经网络交换(ONNX)格式提供了一种可互操作地表示模型的方法。ONNX Runtime 可以在各种硬件平台上执行模型,包括英伟达™(NVIDIA®)GPU(可以使用 TensorRT 作为执行提供商)。不过,由于 TensorRT 针对特定硬件进行了优化,因此直接与 TensorRT 集成通常能在英伟达硬件上获得更好的性能。
  • 英特尔 OpenVINO:OpenVINO 与 TensorRT 相似,但针对英特尔硬件(CPU、iGPU、VPU)进行了优化。它与 TensorRT 具有相同的加速推理功能,但针对的是不同的硬件生态系统。

TensorRT 的主要优势在于它与英伟达生态系统(从 GPU 到CUDA库)的深度集成,从而使部署在英伟达平台上的模型具有无与伦比的性能,这一点在MLPerf 基准测试中经常可以看到。利用Ultralytics HUB 等 MLOps 平台,可以进一步简化模型部署管理。

加入 Ultralytics 社区

加入人工智能的未来。与全球创新者联系、合作和成长

立即加入
链接复制到剪贴板