推理框架的"三国杀"
2026年,LLM推理框架的竞争格局已经明朗:vLLM、SGLang和TensorRT-LLM是三大主流。三个框架各有拥趸,各有优劣。但如果你正在搭建推理服务,你该选哪个?
我们用同一环境(8xH100, Qwen 3.0 70B INT8, 128并发请求)做了基准测试。以下是实测数据和选型建议。
基准测试环境
- 硬件:8xH100 80GB SXM
- 模型:Qwen 3.0 70B, INT8量化
- 负载:128并发请求,平均输入500 token,平均输出200 token
- 指标:吞吐量(tokens/s)、TTFT(首token延迟)、TPOT(每token延迟)、P99延迟
实测结果
| 指标 | vLLM 0.7.0 | SGLang 0.4.0 | TensorRT-LLM 0.14 |
|---|---|---|---|
| 吞吐量 (tok/s) | 12,500 | 11,800 | 14,200 |
| TTFT P50 (ms) | 85 | 92 | 78 |
| TTFT P99 (ms) | 320 | 350 | 280 |
| TPOT P50 (ms) | 18 | 19 | 15 |
| TPOT P99 (ms) | 45 | 48 | 38 |
| 显存占用 (GB) | 58 | 56 | 62 |
框架解析
vLLM:社区最活跃,生态最完善
vLLM是2026年使用最广泛的推理框架。GitHub 40K+ stars,社区贡献者超过1000人。它的优势在于:
- 开箱即用。 pip install vllm,一行命令就能启动推理服务。不需要编译,不需要复杂的配置。
- PagedAttention。 vLLM自研的KV Cache管理算法,显存利用率极高。在长序列场景下,vLLM的显存效率领先竞品15-20%。
- 生态最完善。 支持所有主流模型架构(Llama、Qwen、Mistral、DeepSeek等),支持所有量化格式(GPTQ、AWQ、GGUF等),提供OpenAI兼容API。
适合: 大多数场景,特别是需要快速上线的团队。如果你不确定选哪个,选vLLM不会错。
SGLang:结构化生成的王者
SGLang是2024年从UC Berkeley开源的项目,2026年增长迅猛。它的核心差异化优势是结构化生成:
- RadixAttention。 SGLang自研的KV Cache复用算法,在多轮对话和JSON模式生成场景下,缓存命中率比vLLM高20-30%。
- SGLang DSL。 提供领域特定语言,可以让开发者用Python代码描述复杂的生成逻辑(如"先让模型生成方案,再让模型自我评估,如果不满意重新生成")。
- JSON模式。 SGLang的JSON模式(约束解码)性能优于vLLM,在需要生成结构化输出的场景(Agent工具调用、数据提取)中,延迟降低30-50%。
适合: 需要复杂生成逻辑的场景(AI Agent、结构化输出、多步推理)。如果你的应用大量使用JSON模式或函数调用,SGLang是首选。
TensorRT-LLM:极致性能,但"门槛高"
TensorRT-LLM是NVIDIA官方推理框架,性能最强,但上手难度最高:
- 极致性能。 在吞吐量基准测试中,TensorRT-LLM比vLLM高约14%,比SGLang高约20%。这是因为它对NVIDIA GPU做了深度优化(包括FP8、FP4、CUDA Graph、In-flight Batching等)。
- 门槛高。 TensorRT-LLM需要编译模型(将PyTorch模型转为TensorRT引擎),这个过程需要1-4小时,且模型结构复杂时可能编译失败。调试困难,社区支持不如vLLM。
- NVIDIA生态绑定。 TensorRT-LLM只支持NVIDIA GPU,如果你的基础设施包括AMD或Intel GPU,无法使用。
适合: 性能极致要求、大规模部署(百卡以上)、NVIDIA生态深度绑定。如果你的公司有NVIDIA企业支持,TensorRT-LLM是性能最佳的选择。
选型建议
如果你是初创公司/小团队,选vLLM。 开箱即用,社区活跃,大部分场景下性能足够好。
如果你的应用大量使用JSON模式/函数调用,选SGLang。 结构化生成的优势是"真香"。
如果你有大规模推理集群(100+ GPU),且追求极致TCO,选TensorRT-LLM。 但要准备好投入1-2个工程师做框架适配和运维。
如果你需要多框架支持(混合部署),vLLM + SGLang组合。 vLLM处理通用请求,SGLang处理结构化生成请求,各取所长。
结语
2026年的推理框架竞争,已经从"谁更快"扩展到"谁更适合哪类场景"。没有"最好"的框架,只有"最适合"你的框架。花一个下午做基准测试,用你的模型、你的数据、你的负载,而不是别人的评测结果,来做决策。你自己的benchmark,才是最有价值的benchmark。