TensorRT-LLM教程:NVIDIA官方推理加速
🩺 摘要
vLLM已经很快了,但听说NVIDIA官方的TensorRT-LLM更快。怎么用?值不值得折腾?
📝 详情
TensorRT-LLM: NVIDIA官方LLM推理加速方案
性能提升实测数据
以Qwen3-7B在H100上的测试为例(batch_size=32, input=2048, output=512):
| 推理引擎 | 吞吐量(tokens/s) | 延迟P95(ms) | 显存占用 |
|---|---|---|---|
| HuggingFace原生 | 680 | 4250 | 28GB |
| vLLM | 1520 | 1850 | 22GB |
| TensorRT-LLM FP16 | 1890 | 1420 | 18GB |
| TensorRT-LLM FP8 | 2350 | 1080 | 14GB |
TensorRT-LLM比vLLM快约25~55%, 显存占用减少20~35%.
完整部署流程
# 第一步: 拉取官方容器
docker run --gpus all -it --rm -v $(pwd):/workspace nvidia/cuda:12.4.0-devel-ubuntu22.04 bash
# 第二步: 安装TensorRT-LLM
pip install tensorrt_llm -U
# 第三步: 权重格式转换(从HF格式转成FT格式)
python3 examples/convert_checkpoint.py --model_dir ./qwen3-7b-instruct --output_dir ./converted --dtype bfloat16
# 第四步: 构建TensorRT引擎
trtllm-build --checkpoint_dir ./converted --output_dir ./trt-engine --max_batch_size 128 --max_input_len 8192 --max_output_len 2048 --gemm_plugin float16
# 第五步: 启动推理服务
python3 examples/run.py --engine_dir ./trt-engine --tokenizer_dir ./qwen3-7b-instruct --max_output_len 1024
FP8量化配置详解
FP8量化是TensorRT-LLM最核心的加速手段, 比FP16快25%, 显存省30%:
# FP8量化命令
python3 examples/quantization/quantize.py --model_dir ./qwen3-7b-instruct --dtype float16 --qformat fp8 --output_dir ./trt-fp8-engine --calib_size 512
注意: FP8需要H100/H200/B200/GB200等支持FP8的硬件. A100/A30仅支持INT8量化, 效果略逊.
一句话建议
TensorRT-LLM适合已上NVIDIA新卡/追求极致吞吐的场景. 普通用户用vLLM足够, 但如果你有H100/A100且需要压榨每一分性能, TensorRT-LLM能让你省一半GPU.
💬 评论 (0)