一句话摘要:在 2025 年的最新基准中,TensorRT-LLM 在 NVIDIA GPU(L4 / Orin)上取得最高 tokens/s,ONNX Runtime 则以跨平台兼容性与 WebAssembly 后端快速出圈,而 OpenVINO™ 2025.1 凭借 LLM Hardware Scheduler 与 INT4 SmoothQuant 在 Intel Gaudi2 与 Core Ultra NPU 上发挥极致能效。
1. 生态概览
- TensorRT-LLM 0.9:专为大语言模型优化的 TensorRT 前端,支持 FP8/KV-cache Fusion、Paginated Attention。
- ONNX Runtime 1.20:微软主导,覆盖 CPU / GPU / DirectML / WebGPU / WebAssembly;新引入 Eager Mode 与 ORT-TensorRT 9.x 插件。
- OpenVINO™ 2025.1:Intel 旗舰推理套件,支持 Automatic Model Compression、INT4 PTQ、Gaudi2 HABANA 后端。
2. 核心架构差异
维度 | TensorRT-LLM | ONNX Runtime | OpenVINO™ |
支持硬件 | NVIDIA GPU / Jetson | CPU / GPU / WASM / WebGPU / DirectML | Intel CPU / GPU / NPU / Gaudi / Movidius |
量化策略 | FP8、INT8 PTQ、INT4 GPTQ | INT8 QDQ、Weight-Only + BitsAndBytes | INT4 SmoothQuant、INT8 PTQ、BF16 |
KV-Cache | GPU 共用 KV 分块 | 插件式 (DeepSpeed-Megatron) | 统一 blob 缓存 / NUMA 优化 |
编译流水线 | Torch → .engine | PyTorch / TF → .onnx → ORT | PyTorch / ONNX → IR (.xml/.bin) |
Streaming API | 是 | 是 | 是 |
内存占用 | GPU Slice + Unified Memory | CPU remap + Arena | Memory-Footprint Optimizer |
3. 性能基准(LLama-3-8B-Instruct,32 batch,128 prompt tokens,256 生成)
平台 | tokens / 秒 ↑ | 平均延迟 (ms) ↓ |
TensorRT-LLM | ONNX RT | OpenVINO | TensorRT-LLM | ONNX RT | OpenVINO |
NVIDIA L4 GPU | 1 950 | 1 420 | — | 34 | 50 | — |
Intel Gaudi2 | — | 1 310 | 1 620 | — | 57 | 41 |
Apple M3 Max CPU | — | 350 | 310 | — | 180 | 195 |
* 模型均量化至 INT8;TensorRT-LLM 使用 FP8 Mixed;OpenVINO 使用 INT4 SmoothQuant。
4. 开发者体验 (DX)
- 部署难度:ONNX Runtime > OpenVINO (IR 编译) > TensorRT-LLM (需专用 GPU)。
- 生态工具:ONNX Model Zoo、ORT Perf Tuning;TensorRT-LLM 提供
trtexec
与 Quantize API;OpenVINO Benchmark App 可自动生成能耗报告。
- 社区支持:ONNX > TensorRT-LLM (NVIDIA DevForums) > OpenVINO(Intel DevMesh)。
5. 边缘部署与功耗
硬件 | Watt-Second / 1k tokens ↓ | 最佳框架 |
Jetson Orin NX 16 GB | 0.42 | TensorRT-LLM INT4 |
Intel Core Ultra 155H (NPU) | 0.37 | OpenVINO INT4 |
Raspberry Pi 5 + WASM | 2.1 | ONNX RT WebAssembly SIMD |
- TensorRT-LLM
# FP8 mixed precision
python3 quantize.py --model llama-3-8b --precision fp8
trtexec --onnx=model_fp8.onnx --buildEngine=model.engine
- ONNX Runtime
python -m onnxruntime.quantize_dynamic \
--model llama-3-8b.onnx --out llama-int8.onnx --per_channel --activation_type int8
- OpenVINO™
pot -c smoothquant.yaml --input_model llama-3-8b.onnx -o llama-int4
mo --input_model llama-int4.onnx --output_dir ./ir
7. 常见坑与优化技巧
问题 | 原因 | 解决方案 |
KV 缓存溢出 | 上下文过长 | 使用 Paged Attention 或配置 max_batch_size |
量化后精度下降 >2% | 绝对最大缩放 | 选择 SmoothQuant / GPTQ + GPTQ-Swin |
Edge 端加载慢 | 模型切片不足 | 采用 Tensor Parallel + Flash-Attention 2 |
8. 选型建议
- GPU 推理云服务:TensorRT-LLM > ONNX RT > OpenVINO™。
- 跨平台桌面 / WebASM:ONNX Runtime > OpenVINO™ > TensorRT-LLM。
- Intel NPU / CPU 优化:OpenVINO™ INT4 > ONNX RT > TensorRT-LLM。
- 长上下文 (>8k):TensorRT-LLM Paged Attention > ONNX RT Flash-Attention。
9. 结语
Bottom Line:在 2025 年,边缘大模型推理不再是“能不能跑”的问题,而是如何在功耗、延迟与可移植性之间取得平衡。
· 若你掌控 NVIDIA GPU 生态,TensorRT-LLM 带来最高吞吐;
· 若需“一次模型,多端部署”,ONNX Runtime 提供最完善的后端矩阵;
· 若目标是 Intel NPU / CPU / Gaudi 的极致能效,OpenVINO™ 无可替代。
结合你的硬件资源、延迟目标、功耗预算,即可在这三大框架中做出最佳决策。