vLLM 是顶流,但不是终点:LLM 推理框架的五条路线

从 vLLM、SGLang、TensorRT-LLM、TGI、llama.cpp 到 RTP-LLM,梳理当下 LLM inference serving 框架的主流路线、学习价值和选型边界。

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 推理的公共问题做成了一个通用系统:

  1. 连续 batching:不是一个请求一个 batch,而是动态把多个请求交错执行。
  2. KV cache 管理:用 block table / PagedAttention 思想减少显存浪费。
  3. Scheduler:决定本轮哪些请求、哪些 token 能跑。
  4. Model runner:把模型 forward、attention metadata、sampling、CUDA graph 接起来。
  5. 服务接口:OpenAI-compatible API、streaming、structured outputs、tool calling。
  6. 分布式能力: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 复用,让多轮、多分支、多前缀的场景更容易吃到缓存收益。

所以如果你的重点是:

  1. agent workflow
  2. 多轮对话
  3. 树状/分支推理
  4. JSON / constrained decoding
  5. RAG pipeline
  6. 多次 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 生态里的生产级推理服务器。

它的优势是:

  1. Hugging Face 模型生态贴合。
  2. 部署路径成熟。
  3. 面向 production server 的包装完整。
  4. 对很多团队来说心智成本低。

但如果你要深挖现代 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

如果你的场景是:

  1. 本地跑模型。
  2. Mac / CPU / 消费级 GPU。
  3. GGUF 量化模型。
  4. 离线隐私推理。
  5. 端侧和轻量部署。

那 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 数字,而会先问:它到底在哪一层做了新的抽象或新的优化。