LLM Inference Study · 四大推理引擎学习指南
四套按同一标准制作的深度学习指南:交互动画讲透机制、伪代码级源码导读、论文引用与术语解释、可勾选的学习进度。从服务端吞吐之王到端侧单文件推理,覆盖当前最值得学的四个引擎。
建议从 vLLM 开始建立完整知识体系(它覆盖了全部共通基础),其余指南聚焦各自独有的技术,重合概念会跨指南引用。每张卡片显示你的学习进度(保存在本机浏览器)。
两条轴看清四个引擎的定位:部署形态(服务端集群 ↔ 端侧设备)与优化哲学(运行时灵活调度 ↔ 编译期极致优化)。
vLLM 与 SGLang 同处「服务端 + 运行时调度」象限,是互为参照的一对;TensorRT-LLM 用编译期投入换极限性能;llama.cpp 独占端侧,与其说竞争不如说互补。
判断一个引擎值不值得深入,问四个问题:KV cache 怎么管?batch 怎么组?kernel 从哪来?为谁而生?
| vLLM | SGLang | TensorRT-LLM | llama.cpp | |
|---|---|---|---|---|
| KV cache 管理 | 分页 + 前缀哈希链 | 分页 + RadixAttention 基数树 | 分页(编译期布局) | 统一缓冲 + context shift |
| Batching | continuous + 统一 token 预算 | continuous + cache-aware 重排 | in-flight fused batching | server 多 slot 并发 |
| Kernel 来源 | FlashAttention/FlashInfer + Triton + torch.compile | FlashInfer 深度绑定 + torch.compile | 手写 CUDA + 编译期 tactic 调优 | 手写 SIMD/Metal/CUDA(ggml) |
| 结构化输出 | xgrammar bitmask | 压缩 FSM + jump-forward | guided decoding | GBNF 语法(鼻祖) |
| 典型场景 | 通用服务端部署 | agent 工作流 / 多轮 / 大规模 MoE | N 卡极限吞吐 / 企业支持 | 本机 / 边缘 / 隐私敏感 |
| 学习价值 | 推理系统全部共通基础 | 同一问题的另一种优雅解法 | 编译优化的天花板视角 | 量化工程 + 端侧视角 |
推理性能的物理直觉、分页显存、调度、加速技术、源码方法论——这套学透,其他引擎的九成概念都能平移。
重点读 RadixAttention 与 cache-aware 调度:同一个 prefix 复用问题,基数树 vs 哈希链两种解法——理解设计空间的取舍。
做 N 卡极限性能与企业部署 → TensorRT-LLM;做端侧、隐私场景或想吃透量化工程 → llama.cpp。也可以都读定位章再决定。
一个提醒:框架不必贪多。推理引擎的核心思想高度共通,「精读一个 + 对照一个 + 按需了解其余」远胜于四个都浅尝。每套指南的第一章都有「何时选它 / 何时不选它」的判断标准。