技术指南

TensorRT 和推理引擎

TensorRT 是 NVIDIA 的库,它将经过训练的神经网络编译成高度优化的引擎,在 NVIDIA GPU 上运行速度要快得多。

概述

TensorRT 是 NVIDIA 的库,它将经过训练的神经网络编译成高度优化的引擎,在 NVIDIA GPU 上运行速度要快得多。这很重要,因为同一模型在推理时的运行速度可以提高 2-6 倍,成本也可以提高 2-6 倍,而无需改变其预测结果。

TensorRT 和推理引擎是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。

深入探讨

推理引擎采用经过训练的模型并重写它,以便在目标硬件上尽可能快地执行。 TensorRT 通过几个步骤为 NVIDIA GPU 实现这一点。它执行层融合,将卷积、偏置添加和 ReLU 等操作合并到单个 GPU 内核中,以减少内存流量。它采用精密校准,从 FP32 下降到 FP16 或 INT8(以及 Hopper 上的 FP8),同时保持精度。它运行内核自动调整,在您的具体 GPU 上对每一层的许多实现进行基准测试并选择最快的。结果是针对一种 GPU 架构调整的序列化“引擎”文件。 TensorRT-LLM 通过分页 KV 缓存、动态批处理和大型语言模型的张量并行性对此进行了扩展。

技术洞察

最大的加速来自两个技巧。内核融合通过将中间结果保留在快速寄存器和共享内存中,消除了慢速 GPU 全局内存的往返过程。量化到 INT8 会打包四个值,其中一个 FP32 占用,使张量核心上的算术吞吐量增加四倍,但它需要一个校准数据集来计算每个张量的缩放因子,以便减少的数值范围不会破坏准确性。该引擎是特定于硬件的,因为自动调整会针对 GPU 的确切核心和内存布局烘焙最佳内核。

掌握 TensorRT 和推理引擎

TensorRT 是 NVIDIA 的库,它将经过训练的神经网络编译成高度优化的引擎,在 NVIDIA GPU 上运行速度要快得多。这很重要,因为同一模型在推理时的运行速度可以提高 2-6 倍,成本也可以提高 2-6 倍,而无需改变其预测结果。 TensorRT 和推理引擎是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。为了建立深入的理解,请将 TensorRT 和推理引擎视为一种操作模型,而不是单一功能:定义所需的结果,澄清假设,并将系统可以可靠地执行的操作与仍需要专家判断的操作分开。

在实践中,使用 TensorRT 和推理引擎的强大团队根据可靠性和成本优化架构、数据和基础设施选择。他们记录明确的成功标准,根据实际数据和工作流程进行测试,并根据观察到的失败模式而不是一次性基准测试胜利进行迭代。这就是理论理解转变为跨产品、政策和运营的持久能力的地方。

多年来,架构决策决定着性能和运营成本。与此同时,优化一个基准测试可以隐藏更广泛的系统弱点。最具弹性的方法是将实验速度与治理规则结合起来:运行试点、捕获证据、发布决策日志,并随着模型行为、用户期望和监管要求的发展不断更新保障措施。

战略影响

多年来,架构决策决定着性能和运营成本。

多年来,架构决策决定着性能和运营成本。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。

技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

更好的工程选择可以减少生产中的可靠性事故。

更好的工程选择可以减少生产中的可靠性事故。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

TensorRT 和推理引擎的未来

推理引擎正在朝着较低精度(FP8、FP4 和混合方案)和 LLM 特定功能(如推测解码和更智能的 KV 缓存分页)发展。 TensorRT-LLM 和 vLLM 等竞争对手正在向分解预填充/解码和连续批处理方向靠拢。预计会有更紧密的编译器集成(Torch-TensorRT、ONNX)、更少手动校准的自动量化以及对混合专家路由的广泛支持,因为以低廉的成本服务大型模型将成为核心成本战。

现实世界的实施

将 YOLO 对象检测模型转换为 TensorRT INT8 引擎,以便其在机器人或智能相机中的 NVIDIA Jetson 上实时运行

使用运行中批处理通过 TensorRT-LLM 为 Llama 或 Mistral 模型提供服务,以最大化聊天机器人后端 H100 GPU 上的每秒令牌数

以 FP16 精度优化语音识别模型,以减少实时字幕服务中的转录延迟

将推荐排名网络编译为融合的 TensorRT 引擎,以较低的 GPU 成本每秒处理数百万个请求

实施模式

TensorRT 和推理引擎的实践

将 YOLO 对象检测模型转换为 TensorRT INT8 引擎,以便其在机器人或智能相机中的 NVIDIA Jetson 上实时运行。

将 YOLO 对象检测模型转换为 TensorRT INT8 引擎,使其在机器人或智能相机中的 NVIDIA Jetson 上实时运行。当团队预先定义质量阈值、为边缘情况保留人工升级路径并跟踪一段时间内的生产力提升和错误成本时,通常会获得更好的结果。

TensorRT 和推理引擎的实践

使用运行中批处理通过 TensorRT-LLM 为 Llama 或 Mistral 模型提供服务,以最大限度地提高聊天机器人后端 H100 GPU 上的每秒令牌数。

使用运行中批处理为 Llama 或 Mistral 模型提供 TensorRT-LLM 服务,以最大限度地提高聊天机器人后端 H100 GPU 上的每秒令牌率 团队在预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。

TensorRT 和推理引擎的实践

以 FP16 精度优化语音识别模型,以减少实时字幕服务中的转录延迟。

使用 FP16 精度优化语音识别模型,以减少实时字幕服务中的转录延迟 当团队预先定义质量阈值、为边缘情况保留人工升级路径并跟踪一段时间内的生产力提升和错误成本时,通常会获得更好的结果。

TensorRT 和推理引擎的实践

将推荐排名网络编译为融合的 TensorRT 引擎,以较低的 GPU 成本每秒处理数百万个请求。

将推荐排名网络编译为融合的 TensorRT 引擎,以较低的 GPU 成本处理每秒数百万个请求。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。

风险与防护栏

!

优化一项基准测试可以隐藏更广泛的系统弱点。

!

基础设施和维护成本常常被低估。

!

随着系统变得更加复杂,安全性和可观察性差距可能会扩大。

实施路线图

1

在实施之前定义延迟、质量和成本目标。

在实施之前定义延迟、质量和成本目标。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

2

在实际负载和数据条件下进行基准测试。

在实际负载和数据条件下进行基准测试。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

3

仪器监控错误、漂移和用户影响。

仪器监控错误、漂移和用户影响。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

4

在扩展之前准备回滚和事件响应路径。

在扩展之前准备回滚和事件响应路径。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

不断探索