vLLM 是顶流,但不是终点:LLM 推理框架的五条路线
前面读 vLLM 源码时,我一直在想一个问题:
vLLM 能不能代表当下最顶流的 LLM 推理框架?
有没有比它更高级的?
这个问题如果不拆,会变成泛泛排行榜。更好的问法是:
我想学习哪一类推理系统?
我要优化的是吞吐、延迟、KV cache 复用、硬件极限、部署稳定性,还是端侧可运行?
我的判断是:
如果目标是理解现代开源 LLM serving 的主干抽象,vLLM 是必须懂的代表作。
如果目标是找所有场景下的最强框架,答案不存在。
vLLM 代表的是一类系统:
高吞吐、多请求、服务端、GPU 推理运行时
它要解决的不是“单次 forward 怎么写”,而是:
怎么让很多用户请求共享 GPU
怎么管理 KV cache
怎么持续 batching
怎么流式输出
怎么兼容大量开源模型
怎么做分布式并行
怎么提供 OpenAI-compatible server
官方文档也把 vLLM 定义为 fast and easy-to-use library for LLM inference and serving,列出的能力包括 Hugging Face 模型集成、高吞吐 serving、tensor/pipeline/data/expert/context parallelism、streaming、structured outputs、tool calling、OpenAI-compatible API 等。官网则强调它是 high-throughput、memory-efficient inference and serving engine。参考:vLLM 官网。
1. 一张路线图
flowchart TD
A[LLM inference frameworks] --> B[通用 GPU serving: vLLM]
A --> C[程序级推理与 KV 复用: SGLang]
A --> D[NVIDIA 硬件深优化: TensorRT-LLM]
A --> E[Hugging Face 生产生态: TGI]
A --> F[本地/端侧/GGUF: llama.cpp]
A --> G[大厂工业系统: RTP-LLM / LMDeploy]
这几个不是完全同一层的替代品。它们都能“跑模型”,但真正代表的工程重心不同。
2. vLLM:通用开源 serving 主干
vLLM 的价值在于它把现代服务端 LLM 推理的公共问题做成了一个通用系统:
- 连续 batching:不是一个请求一个 batch,而是动态把多个请求交错执行。
- KV cache 管理:用 block table / PagedAttention 思想减少显存浪费。
- Scheduler:决定本轮哪些请求、哪些 token 能跑。
- Model runner:把模型 forward、attention metadata、sampling、CUDA graph 接起来。
- 服务接口:OpenAI-compatible API、streaming、structured outputs、tool calling。
- 分布式能力:tensor、pipeline、data、expert、context parallelism。
所以 vLLM 非常适合作为学习主线。你学 vLLM,其实是在学现代 LLM serving 的基本骨架:
请求进入
-> 调度
-> KV cache 分配
-> 模型执行
-> 采样
-> 输出回传
它不是所有维度最强,但它是最值得先学透的“通用参照系”之一。
3. SGLang:更像“LLM 程序运行时”
SGLang 和 vLLM 很接近,但它的野心不只是 serving。
官方文档说 SGLang 是 production level serving 的 inference framework,面向单卡到大规模分布式集群,追求 low-latency 和 high-throughput。它的 GitHub 也把自己定义为 high-performance serving framework for large language models and multimodal models。
但 SGLang 真正有辨识度的地方是:
它把前端语言和后端 runtime 一起设计。
论文 SGLang: Efficient Execution of Structured Language Model Programs 说,它面向复杂 LLM 程序:多次 generation call、高级 prompting、控制流、structured input/output。后端的 RadixAttention 用 radix tree 管理 KV cache 复用,让多轮、多分支、多前缀的场景更容易吃到缓存收益。
所以如果你的重点是:
- agent workflow
- 多轮对话
- 树状/分支推理
- JSON / constrained decoding
- RAG pipeline
- 多次 generation call 之间复用 prefix
那 SGLang 可能比 vLLM 更值得重点研究。
我的理解:
vLLM 更像通用 serving engine;
SGLang 更像 LLM program runtime + serving engine。
4. TensorRT-LLM:NVIDIA 硬件深优化路线
如果问“有没有比 vLLM 更高级的”,在 NVIDIA GPU 极致性能这个方向,TensorRT-LLM 一定要看。
NVIDIA 官方把 TensorRT-LLM 定义为面向最新 LLM 的加速和优化推理库。TensorRT-LLM GitHub 也强调它提供 custom kernels、runtime optimizations、prefill-decode disaggregation、wide expert parallelism、speculative decoding 等,用来在 NVIDIA GPU 上高效推理。另见:TensorRT-LLM overview。
它和 vLLM 的差别可以这么看:
vLLM:
更通用
更容易部署
更适合快速支持很多开源模型
更适合作为 serving 系统学习主线
TensorRT-LLM:
更贴近 NVIDIA 硬件栈
更强调 kernel / runtime / compiler / engine 优化
更适合 H100、B200、GB200、NVL72 这类高端 NVIDIA 场景
调优成本和硬件绑定更强
如果说 vLLM 是通用生产级主力车,TensorRT-LLM 更像 NVIDIA 赛道上的专用高性能赛车。
它“更高级”的地方,不是 API 更友好,而是更接近硬件极限。
5. TGI:Hugging Face 生态生产化路线
Text Generation Inference 是 Hugging Face 的文本生成服务框架。官方文档和 GitHub 都强调它用于生产,支撑 Hugging Chat、Inference API、Inference Endpoints 等。
TGI 的定位更像:
Hugging Face 生态里的生产级推理服务器。
它的优势是:
- Hugging Face 模型生态贴合。
- 部署路径成熟。
- 面向 production server 的包装完整。
- 对很多团队来说心智成本低。
但如果你要深挖现代 LLM serving 的调度、KV cache 和 runtime 架构,vLLM / SGLang 通常更适合做学习主线。
6. llama.cpp:本地和端侧推理的顶流
llama.cpp 不该直接和 vLLM 放在同一条服务端赛道上比。
它的主目标是:
minimal setup
wide range of hardware
local and cloud inference
GGUF / quantization / CPU / Apple Silicon / edge
如果你的场景是:
- 本地跑模型。
- Mac / CPU / 消费级 GPU。
- GGUF 量化模型。
- 离线隐私推理。
- 端侧和轻量部署。
那 llama.cpp 是顶流。
但如果你的场景是:
数据中心 GPU
多用户并发
OpenAI-compatible server
continuous batching
复杂分布式 parallelism
那 vLLM / SGLang / TensorRT-LLM 更像主战场。
7. LMDeploy / RTP-LLM:不要忽略大厂和专项系统
除了上面几个,还有一些不能忽略的系统。
LMDeploy 定位是压缩、部署、服务 LLM 的 toolkit,包含 TurboMind Engine 和 PyTorch Engine,强调 continuous batching、blocked KV cache、高性能 CUDA kernel、tensor parallelism 等。它在中文开源生态里值得看。参考:LMDeploy docs。
RTP-LLM 是 Alibaba 的 LLM inference acceleration engine。2026 年的论文 RTP-LLM: High-Performance Alibaba LLM Inference Engine 把它描述为工业级推理引擎,强调 file-order-driven I/O、prefill-decode disaggregation、分层 KV cache、modular speculative decoding、多级 parallelism,并报告在生产负载和受控 benchmark 中对 vLLM / SGLang 有显著性能优势。
这里要小心:论文报告的优势要看具体 workload、硬件、模型和配置,不能直接泛化成“RTP-LLM 永远比 vLLM 强”。但它说明一个事实:
真正的大规模生产系统,往往会在 vLLM/SGLang 的公共抽象之上继续做更深的业务流量、KV cache、加载和分布式优化。
8. “更高级”到底是什么意思
我会把“更高级”拆成六种。
| 维度 | 更高级的含义 | 代表 |
|---|---|---|
| 通用 serving 抽象 | 最适合学习现代推理系统骨架 | vLLM |
| LLM 程序执行 | 多轮、多分支、复杂控制流、KV 复用 | SGLang |
| NVIDIA 硬件极限 | kernel/runtime/compiler/engine 深优化 | TensorRT-LLM |
| HF 生态生产化 | 模型生态、部署闭环、生产服务 | TGI |
| 本地端侧 | CPU、Mac、GGUF、低依赖、轻量部署 | llama.cpp |
| 工业超大规模 | 业务流量调度、分层 KV、PD 分离、自研优化 | RTP-LLM / 大厂内部系统 |
所以不要问:
谁是唯一最强?
要问:
我现在要优化的是哪一层?
9. 学习路线建议
如果你要系统学习 AI infra,我建议这样走:
第一层:vLLM
先把 vLLM 吃透。目标不是会用命令,而是理解:
EngineCore
Scheduler
KVCacheManager
ModelRunner
continuous batching
prefix caching
speculative decoding
parallelism
这层建立的是现代 serving 的骨架。
第二层:SGLang
再看 SGLang。重点看它如何把 LLM program、RadixAttention、structured output、parallel generation 和 backend runtime 连起来。
这层建立的是:
不只是服务单个 prompt,而是服务复杂推理程序。
第三层:TensorRT-LLM
然后看 TensorRT-LLM。重点不是 API,而是:
NVIDIA GPU 上如何把 kernel、通信、parallelism、CUDA graph、MoE、spec decode 做到硬件深优化。
这层建立的是硬件极限意识。
第四层:llama.cpp / TGI / LMDeploy
最后横向补:
llama.cpp: 本地端侧
TGI: HF 生产生态
LMDeploy: 中文生态和 TurboMind/PyTorch 双引擎路线
这层建立的是选型判断。
10. 最终判断
我的结论是:
vLLM 能代表当下最顶流的 LLM serving 框架之一。
它非常适合作为学习现代推理系统的主线。
但它不是终点:
SGLang 在复杂 LLM 程序和 KV 复用上更有辨识度。
TensorRT-LLM 在 NVIDIA 硬件极限优化上更深入。
TGI 在 Hugging Face 生态生产化上更完整。
llama.cpp 在本地端侧推理上是另一条顶流路线。
RTP-LLM / 大厂系统代表工业规模下继续往业务流量和分层 KV cache 深挖。
所以最适合你的心智模型不是“谁淘汰谁”,而是:
vLLM 是主干;
SGLang 是程序化推理分支;
TensorRT-LLM 是硬件极限分支;
TGI 是 HF 生产生态分支;
llama.cpp 是本地端侧分支;
RTP-LLM 这类系统是工业超大规模分支。
把这张图放在脑子里,再看任何 LLM 推理框架,就不会只看 benchmark 数字,而会先问:它到底在哪一层做了新的抽象或新的优化。