推理引擎与框架
大模型推理优化系列按机制讲了 PagedAttention、连续批处理、前缀缓存、量化、投机解码、分布式和 P/D 分离。真正部署资料助手时,这些机制都封装在某个框架里:在 GPU 服务器上多半是 vLLM 或 SGLang,追求 NVIDIA 硬件极致性能时是 TensorRT-LLM,在笔记本上是 llama.cpp、Ollama 或 MLX-LM,规模大了还会在引擎之上加一层 Dynamo 或 llm-d。同一个机制在不同框架里的实现、默认值和开关位置都不一样,一个参数的含义在两个框架之间可能完全不同。
这个系列按框架组织,每个主流框架单独一篇,尽量完整地讲清它为什么出现、内部由哪些进程和模块组成、一个请求怎样流过、支持哪些模型和硬件、关键参数怎样调、怎样部署到生产、有哪些已知的坑,最后一篇把它们放在一起对比并给出选型路径。读完以后,你应该能看懂任意一个框架的启动日志和参数表,知道它的默认值在哪些地方和别人不同,并为自己的场景列出该实测的候选。
先读哪里
建议先读过推理系列的第 1—7 篇,知道 Prefill 和 Decode、KV Cache、显存账本和 TTFT/TPOT 是什么;本系列遇到机制时直接链接推理系列对应的篇,不再重讲。只想快速上手跑起一个服务,推理系列的实践:用 vLLM 跑起资料助手更合适。
全系列沿用公司内部的资料助手,服务端例子用 Qwen3-8B 或 Llama-3.1-8B 跑在一张 80 GB 的 H100 上,本地例子用 Apple 芯片的笔记本。版本以 2026 年 10 月下旬的正式发布为准,每篇都核对了对应版本的源码。数据中心框架的命令按源码和文档核对,没有在 GPU 上实际运行;llama.cpp、Ollama 和 MLX-LM 的命令在 Apple M4 笔记本上实际跑过,篇中分别注明。
九篇文章
第 01—04 篇:数据中心推理引擎。 在 GPU 服务器上同时服务很多人,比的是延迟约束下一张卡能撑住多少并发。
| 文章 | 回答的问题 |
|---|---|
| 01. vLLM | V1 引擎由哪些进程组成?调度、KV 管理、模型执行怎样分工?全部主要特性、并行与 P/D、硬件插件、监控指标和调优参数怎样用? |
| 02. SGLang | RadixAttention 和缓存感知调度怎样实现?重叠调度、HiCache、DP Attention、Model Gateway 分别解决什么? |
| 03. TensorRT-LLM | 从编译引擎到 PyTorch 后端经历了什么变化?ModelOpt 量化格式和 GPU 代际怎样对应?和 Triton、Dynamo 是什么关系? |
| 04. LMDeploy | TurboMind 和 PyTorch 两台引擎怎样分工、怎样被自动选中?在线 KV 量化和 AWQ 怎样用? |
第 05—07 篇:本地与端侧框架。 在一台笔记本或一部手机上运行,比的是单个用户的速度和有限内存里能放多大的模型。
| 文章 | 回答的问题 |
|---|---|
| 05. llama.cpp | GGUF 文件里有什么?Q4_K_M 这类量化怎样选?llama-server 的槽位怎样分配上下文? |
| 06. Ollama | 它和 llama.cpp 是什么关系?默认上下文和并发怎样设定?对外开放时有哪些安全问题? |
| 07. MLX-LM 与端侧框架 | 统一内存怎样决定 Mac 上能跑多大的模型?怎样量化和做 LoRA?手机上用什么? |
第 08—09 篇:引擎之上与整体对比。 引擎实例多起来以后,路由、KV 传输和扩缩容由另一层负责;最后一篇把所有框架放在一起比较。
| 文章 | 回答的问题 |
|---|---|
| 08. 分布式编排与 KV 缓存组件 | Dynamo、llm-d、production-stack、AIBrix、Mooncake、LMCache 各在哪一层?什么时候才需要它们? |
| 09. 整体对比与选型 | 各框架在硬件、模型、量化、并行、默认值和安全边界上有什么差别?资料助手的不同阶段该选哪个? |
两种读法
要为团队选框架,先读第 09 篇的对比和选型路径,圈出两三个候选,再回到对应的单篇看细节,最后用推理系列性能测试与分析里的方法拿自己的请求实测。
已经在用某个框架、遇到具体问题,直接读那一篇:每篇都有关键参数表、常见问题表和“版本与变化”一节,升级前先看后者。
接下来从第 01 篇:vLLM开始,看覆盖面最广的开源推理引擎内部是怎样组织的。
