TensorRT-LLM推理优化Skill tensorrt-llm

TensorRT-LLM是一个基于NVIDIA TensorRT的开源库,专用于优化大型语言模型(LLM)的推理性能。它针对NVIDIA GPU(如A100/H100)进行生产部署,提供高吞吐量、低延迟、支持量化(如FP8/INT4)、动态批处理和跨GPU扩展,适用于实时AI应用和高效模型服务。关键词:TensorRT-LLM, NVIDIA GPU, LLM推理优化, 高吞吐量, 低延迟, 量化模型, 动态批处理, 多GPU部署, AI应用部署。

AI应用 0 次安装 0 次浏览 更新于 3/21/2026

name: tensorrt-llm description: 使用NVIDIA TensorRT优化LLM推理,实现最高吞吐量和最低延迟。适用于在NVIDIA GPU(A100/H100)上进行生产部署,当您需要比PyTorch快10-100倍的推理速度,或用于服务量化模型(FP8/INT4)、动态批处理和多GPU扩展。 version: 1.0.0 author: Orchestra Research license: MIT tags: [推理服务, TensorRT-LLM, NVIDIA, 推理优化, 高吞吐量, 低延迟, 生产, FP8, INT4, 动态批处理, 多GPU] dependencies: [tensorrt-llm, torch]

TensorRT-LLM

NVIDIA的开源库,用于优化LLM推理,在NVIDIA GPU上提供最先进的性能。

何时使用TensorRT-LLM

使用TensorRT-LLM当:

  • 在NVIDIA GPU上部署(A100、H100、GB200)
  • 需要最高吞吐量(Llama 3上达24,000+ tokens/秒)
  • 为实时应用要求低延迟
  • 使用量化模型(FP8、INT4、FP4)
  • 跨多GPU或节点扩展

使用vLLM替代当:

  • 需要更简单的设置和Python优先API
  • 想要无需TensorRT编译的PagedAttention
  • 使用AMD GPU或非NVIDIA硬件

使用llama.cpp替代当:

  • 在CPU或Apple Silicon上部署
  • 需要无NVIDIA GPU的边缘部署
  • 想要更简单的GGUF量化格式

快速入门

安装

# Docker(推荐)
docker pull nvidia/tensorrt_llm:latest

# pip安装
pip install tensorrt_llm==1.2.0rc3

# 要求CUDA 13.0.0、TensorRT 10.13.2、Python 3.10-3.12

基本推理

from tensorrt_llm import LLM, SamplingParams

# 初始化模型
llm = LLM(model="meta-llama/Meta-Llama-3-8B")

# 配置采样
sampling_params = SamplingParams(
    max_tokens=100,
    temperature=0.7,
    top_p=0.9
)

# 生成
prompts = ["解释量子计算"]
outputs = llm.generate(prompts, sampling_params)

for output in outputs:
    print(output.text)

使用trtllm-serve服务

# 启动服务器(自动模型下载和编译)
trtllm-serve meta-llama/Meta-Llama-3-8B \
    --tp_size 4 \              # 张量并行(4 GPU)
    --max_batch_size 256 \
    --max_num_tokens 4096

# 客户端请求
curl -X POST http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "meta-llama/Meta-Llama-3-8B",
    "messages": [{"role": "user", "content": "你好!"}],
    "temperature": 0.7,
    "max_tokens": 100
  }'

关键特性

性能优化

  • 动态批处理:生成过程中的动态批处理
  • 分页KV缓存:高效内存管理
  • Flash Attention:优化注意力内核
  • 量化:FP8、INT4、FP4,实现2-4倍更快推理
  • CUDA图:减少内核启动开销

并行性

  • 张量并行(TP):跨GPU分割模型
  • 流水线并行(PP):层级分布
  • 专家并行:用于混合专家模型
  • 多节点:扩展到单机之外

高级特性

  • 推测解码:使用草案模型更快生成
  • LoRA服务:高效多适配器部署
  • 解耦服务:分离预填充和生成

常见模式

量化模型(FP8)

from tensorrt_llm import LLM

# 加载FP8量化模型(2倍更快,50%内存)
llm = LLM(
    model="meta-llama/Meta-Llama-3-70B",
    dtype="fp8",
    max_num_tokens=8192
)

# 推理与之前相同
outputs = llm.generate(["总结这篇文章..."])

多GPU部署

# 跨8 GPU的张量并行
llm = LLM(
    model="meta-llama/Meta-Llama-3-405B",
    tensor_parallel_size=8,
    dtype="fp8"
)

批量推理

# 高效处理100个提示
prompts = [f"问题{i}: ..." for i in range(100)]

outputs = llm.generate(
    prompts,
    sampling_params=SamplingParams(max_tokens=200)
)

# 自动动态批处理以实现最大吞吐量

性能基准

Meta Llama 3-8B(H100 GPU):

  • 吞吐量:24,000 tokens/秒
  • 延迟:~10ms每token
  • 对比PyTorch:快100倍

Llama 3-70B(8× A100 80GB):

  • FP8量化:比FP16快2倍
  • 内存:使用FP8减少50%

支持模型

  • LLaMA系列:Llama 2、Llama 3、CodeLlama
  • GPT系列:GPT-2、GPT-J、GPT-NeoX
  • Qwen:Qwen、Qwen2、QwQ
  • DeepSeek:DeepSeek-V2、DeepSeek-V3
  • Mixtral:Mixtral-8x7B、Mixtral-8x22B
  • 视觉模型:LLaVA、Phi-3-vision
  • HuggingFace上的100+模型

参考

资源