
TensorRT-LLM是NVIDIA开源的大模型推理优化库,Apache-2.0许可。通过编译生成高度优化的TensorRT引擎,提供FP8/FP4/INT8/INT4量化、TP/PP/EP多维并行、投机解码、Paged KV Cache等SOTA优化,在NVIDIA GPU上实现8倍推理性能提升,是固定模型高吞吐生产部署的极致方案。
项目概述
TensorRT-LLM由NVIDIA开发,2023年8月创建GitHub仓库 ,2023年10月19日正式公开发布 ,是NVIDIA NeMo框架中优化LLM推理的骨干力量 。最新v1.0版本提供了模块化Python运行时、PyTorch原生模型定义、稳定的生产LLM API,并创下8倍AI推理性能提升的纪录 。
核心设计哲学:TensorRT-LLM通过在NVIDIA GPU上编译生成高度优化的TensorRT引擎来实现极致推理性能——开发者用Python API定义LLM,TensorRT-LLM将其编译为包含SOTA优化的引擎文件,再由Python/C++运行时执行 。这种”编译优化”路线与vLLM/SGLang的”即时执行”路线形成根本差异。
v1.0架构演进:
- 模块化Python运行时:基于PyTorch原生架构,易于修改和扩展
- PyTorch模型定义:用原生PyTorch代码定义模型,支持快速开发
- 稳定LLM API:高层Python API支持从单GPU到多GPU多节点的各种推理部署
- 与NVIDIA Dynamo集成:LLM API与更广泛的推理生态系统(包括NVIDIA Dynamo)无缝集成
关键优化技术(官方文档支撑):
- 量化:FP8、FP4(NVFP4)、INT8 SmoothQuant(W8A8)、INT4/INT8 Weight-Only(W4A16/W8A16)、GPTQ、AWQ
- 并行策略:张量并行(TP)、流水线并行(PP)、专家并行(EP)
- 注意力优化:Paged KV Cache、In-flight Batching(连续批处理)、Chunked Context、Sliding Window Attention
- 投机解码:Medusa、ReDrafter、Lookahead、EAGLE(含EAGLE-3)、Multi-token Prediction
- Disaggregated Serving:Prefill/Decode分离部署
- 解码模式:Top-k、Top-p、Beam Search等
- Wide Expert Parallelism:面向MoE模型的宽专家并行
- LoRA支持:通过TensorRT-LLM Backend与Triton集成支持LoRA
硬件与软件依赖:
- NVIDIA GPU专属:深度依赖NVIDIA硬件特性(FP8 Hopper、FP4 Blackwell)
- CUDA 12.9.0 / TRT 10.11.0(v1.0.0rc5版本的预编译环境)
- Python 3.10/3.12支持
- Triton Inference Server集成:通过TensorRT-LLM Backend部署到生产环境,支持多节点、MIG、动态批处理
许可策略:Apache-2.0许可 ,允许商用、修改、再分发。
💡 TensorRT-LLM的独特定位:它是”推理引擎”子分类中NVIDIA GPU极致优化的编译型引擎。与vLLM(即时执行、生态最广)、SGLang(RadixAttention、Agent/RAG场景)形成根本差异:TensorRT-LLM走”编译优化”路线——将LLM编译为高度优化的TensorRT引擎文件,牺牲模型灵活性换取NVIDIA硬件上的极限性能 。v1.0的8倍推理性能提升 使其成为固定模型、超高并发、H100/B200等高端硬件上吞吐优先场景的王者。其Apache-2.0许可 与vLLM、SGLang、LMDeploy并列”最干净许可”阵营。严格属于”推理引擎”子分类,通过Triton Inference Server对外提供生产服务,不涉及训练/微调/前端界面。
核心能力
- 编译优化引擎:将LLM编译为高度优化的TensorRT引擎,v1.0实现创纪录的8倍推理性能提升
- 全精度量化矩阵:FP8(Hopper)、FP4/NVFP4(Blackwell)、INT8 SmoothQuant、INT4/INT8 Weight-Only、GPTQ、AWQ
- 三维并行:张量并行(TP) + 流水线并行(PP) + 专家并行(EP),支持4路TP+2路PP的70B模型、8路TP+2路EP的Mixtral 8x22B
- Paged KV Cache:高效显存管理,支持KV Cache复用
- In-flight Batching:连续批处理,最大化GPU利用率
- 投机解码全家桶:EAGLE-3、Medusa、ReDrafter、Lookahead、Multi-token Prediction
- Disaggregated Serving:Prefill/Decode分离部署(实验性)
- Chunked Context:长上下文请求分块处理
- Sliding Window Attention:Cyclic Rolling Buffer KV Cache、StreamingLLM支持
- LoRA服务:通过Triton Backend支持LoRA适配器
- PyTorch原生模型定义:v1.0起支持PyTorch模型定义,原生PyTorch代码定制模型
- 模块化Python运行时:易于修改和扩展
- 稳定LLM API:
trtllm-serve一行命令启动OpenAI兼容API服务 - Triton Inference Server集成:生产级服务化封装,支持动态批处理、多节点、MIG
- 多硬件支持:数据中心GPU、工作站GPU、RTX PC(Windows测试版)
- 调度策略:MAX_UTILIZATION与GUARANTEED_NO_EVICT两种批处理调度策略
优势亮点
- NVIDIA硬件极限性能:v1.0创纪录8倍推理性能提升 ,是固定模型高吞吐场景的王者
- Apache-2.0最干净许可:商用无门槛,与vLLM/SGLang/LMDeploy并列”最干净许可”阵营
- 编译优化路线:引擎预编译使运行时开销最小化,极致硬件利用率
- 量化矩阵最全:FP8/FP4/INT8/INT4/GPTQ/AWQ全覆盖,Blackwell的FP4(NVFP4)首发支持
- MoE训练级优化:Wide Expert Parallelism面向MoE模型的宽专家并行
- 投机解码最前沿:EAGLE-3、Multi-token Prediction等最新投机解码技术
- PyTorch原生v1.0架构:模块化Python运行时+PyTorch模型定义+稳定LLM API,开发体验大幅提升
- NVIDIA Dynamo集成:与NVIDIA推理编排生态深度协同
- Triton生产级服务化:通过TensorRT-LLM Backend部署,支持多节点、MIG、动态批处理
- NVIDIA官方维护:与CUDA、TensorRT、Triton同步迭代,硬件特性Day-0支持
- NeMo框架骨干:作为NVIDIA NeMo的生成式AI部署骨干 ,企业级生态完整
局限
- NVIDIA GPU强绑定:深度依赖NVIDIA硬件特性(FP8 Hopper、FP4 Blackwell),AMD/昇腾等硬件无法使用
- 编译开销:模型每次变更需重新编译引擎,快速迭代场景效率低于vLLM/SGLang
- 模型支持滞后:新模型适配需等待官方支持,速度慢于vLLM(200+架构Day-1支持)
- 学习曲线陡峭:编译工作流、并行策略、量化配置的概念复杂度高
- v1.0相对年轻:2023年10月才公开发布 ,虽然v1.0已稳定,但生态成熟度不及vLLM
- 固定模型场景最优:模型频繁切换的场景下,编译开销使其不如即时执行引擎灵活
- Disaggregated Serving仍实验性:PD分离功能在官方文档中标记为实验性
- Windows支持为测试版:原生Windows支持仍处于测试阶段
适用人群
- 固定模型超高吞吐场景:模型相对稳定、追求极限性能的工业生产部署
- NVIDIA H100/B200用户:Blackwell的FP4(NVFP4)、Hopper的FP8等硬件特性极致利用
- MoE模型大规模服务:Wide Expert Parallelism面向DeepSeek-V3、Mixtral等MoE模型
- NeMo框架用户:NVIDIA NeMo生成式AI部署流水线的核心组件
- Triton Inference Server生产部署:通过TensorRT-LLM Backend实现企业级服务化
- 低延迟实时服务:量化+投机解码组合实现最低延迟
- NVIDIA DGX/HGX集群:多GPU多节点最大化并行
- RTX PC本地部署:Windows测试版支持RTX/GeForce GPU本地加速
安装与部署
1. 环境要求
- Linux操作系统(推荐Ubuntu 22.04+)
- Python 3.10/3.12
- CUDA 12.9.0+(v1.0.0rc5预编译环境)
- TensorRT 10.11.0+
- NVIDIA GPU(H100/B200/A100推荐)
2. 安装
# pip安装 pip install tensorrt-llm # 从NGC获取容器(推荐生产环境) docker pull nvcr.io/nvidia/tensorrt-llm:latest docker run --gpus all -it nvcr.io/nvidia/tensorrt-llm:latest # 源码编译 git clone https://github.com/NVIDIA/TensorRT-LLM.git cd TensorRT-LLM git submodule update --init --recursive make -C docker release_build
3. 使用LLM API快速启动(v1.0)
from tensorrt_llm import LLM, SamplingParams # 初始化LLM(自动编译或加载引擎) llm = LLM(model="meta-llama/Llama-3.1-8B-Instruct") # 生成 sampling_params = SamplingParams(temperature=0.8, top_p=0.95) outputs = llm.generate(["什么是TensorRT-LLM?"], sampling_params) print(outputs[0].text)
4. 启动OpenAI兼容API服务(trtllm-serve)
# 启动API服务 trtllm-serve --model_dir ./trt_engines/llama-3.1-8b \ --host 0.0.0.0 --port 8000
5. 编译Llama-3-70B引擎(4路TP + 2路PP)
# 1. 转换checkpoint python3 convert_checkpoint.py \ --model_dir ./tmp/llama/70B/hf/ \ --output_dir ./tllm_checkpoint_8gpu_tp4_pp2 \ --dtype float16 \ --tp_size 4 \ --pp_size 2 # 2. 构建引擎 trtllm-build \ --checkpoint_dir ./tllm_checkpoint_8gpu_tp4_pp2 \ --output_dir ./tmp/llama/70B/trt_engines/fp16/8-gpu/ \ --gemm_plugin auto
6. 编译Mixtral 8x22B(张量并行+专家并行)
# 1. 转换checkpoint python3 ../llama/convert_checkpoint.py \ --model_dir ./Mixtral-8x22B-v0.1 \ --output_dir ./tllm_checkpoint_mixtral_8gpu \ --dtype float16 \ --tp_size 8 \ --moe_tp_size 2 \ --moe_ep_size 4 # 2. 构建引擎 trtllm-build \ --checkpoint_dir ./tllm_checkpoint_mixtral_8gpu \ --output_dir ./trt_engines/mixtral/tp2ep4 \ --gemm_plugin float16
7. FP8量化编译(Hopper)
trtllm-build \ --checkpoint_dir ./tllm_checkpoint \ --output_dir ./trt_engines/fp8 \ --gemm_plugin auto \ --quant_mode fp8
8. 与Triton Inference Server集成
# 启动Triton服务器 tritonserver --model-repository ./triton_model_repo # 模型配置config.pbtxt关键参数 # batch_scheduler_policy: MAX_UTILIZATION 或 GUARANTEED_NO_EVICT # 启用KV Cache复用、Chunked Context、投机解码等
9. 部署前必检清单
- 确认仓库位于
github.com/NVIDIA/TensorRT-LLM(官方NVIDIA组织) - 许可:Apache-2.0,商用友好
- v1.0.0rc5预编译环境要求CUDA 12.9.0、TRT 10.11.0、Python 3.10/3.12
- NVIDIA GPU强绑定:AMD/昇腾等硬件无法使用
- 模型每次变更需重新编译引擎,快速迭代场景效率不及vLLM/SGLang
- 新模型适配需等待官方支持,速度慢于vLLM
- 生产环境推荐通过Triton Inference Server服务化
- Disaggregated Serving仍为实验性特性
- 严格属于”推理引擎”子分类,不涉及训练/微调/前端界面
- Windows原生支持仍为测试版
相关导航


llama.cpp

DeepSpeed-MII

ExLlamaV3
MLX

Ollama

Jan

