Appearance
vllm 学习笔记 — 知识地图
项目概览
vLLM 是一个高吞吐、低延迟的大语言模型推理和服务引擎。核心创新包括 PagedAttention(分页注意力机制)用于 KV 缓存的内存管理、连续批处理(Continuous Batching)以及广泛的硬件和模型支持(200+ 模型架构)。
架构全景
学习路径
知识索引
系统架构知识点
| 概念 | 主题 | 术语 |
|---|---|---|
| 请求流转(HTTP → Token → 输出) | 架构概览 | — |
| VllmConfig 聚合配置 | 架构概念 | — |
| EngineCore 独立进程模型 | 引擎核心 | — |
| ZMQ IPC(DEALER/ROUTER) | 引擎概念 | — |
| AsyncLLM 流式输出 | 引擎核心 | — |
| EngineCoreClient 同步/异步模式 | 引擎概念 | — |
调度与缓存知识点
| 概念 | 主题 | 术语 |
|---|---|---|
| Continuous Batching | 调度系统 | Continuous Batching |
| Preemption(抢占)策略 | 调度概念 | — |
| Chunked Prefill | 调度概念 | Chunked Prefill |
| PagedAttention 分页注意力 | KV缓存 | PagedAttention |
| KV Cache 块管理 | KV缓存 | KV Cache |
| 前缀缓存(Prefix Caching) | KV缓存概念 | Prefix Caching |
| KV Cache 卸载(Offloading) | KV缓存概念 | KV Cache Offloading |
执行与模型知识点
| 概念 | 主题 | 术语 |
|---|---|---|
| MultiProcExecutor 多进程执行 | 执行器 | — |
| CUDA Graph 捕获与回放 | 执行器概念 | CUDA Graph |
| 显存分配与 profiling | 执行器概念 | — |
| ModelRegistry 模型注册 | 模型库 | — |
| 注意力后端(FlashAttention/FlashInfer/Triton) | 模型概念 | FlashAttention |
| MoE 混合专家 | 模型概念 | Mixture of Experts |
| LoRA 适配器 | 模型概念 | LoRA |
量化与加速知识点
| 概念 | 主题 | 术语 |
|---|---|---|
| FP8 / INT4 量化方法 | 量化系统 | — |
| GPTQ / AWQ 量化策略 | 量化概念 | — |
| Marlin 量化 kernel | 量化概念 | — |
| 推测解码(Speculative Decoding) | 推测解码 | Speculative Decoding |
| EAGLE / Medusa / N-gram 草稿模型 | 推测概念 | — |
| 拒绝采样验证 | 推测概念 | — |
多模态与分布式知识点
| 概念 | 主题 | 术语 |
|---|---|---|
| Visual Token 编码 | 多模态 | — |
| 编码器缓存策略 | 多模态概念 | — |
| 多模态输入处理管线 | 多模态概念 | — |
| Tensor Parallelism | 分布式 | Tensor Parallelism |
| Pipeline Parallelism | 分布式 | Pipeline Parallelism |
| Expert Parallelism | 分布式概念 | — |
| All-Reduce 通信量分析 | 分布式概念 | — |
服务与部署知识点
| 概念 | 主题 | 术语 |
|---|---|---|
| vllm serve 配置参数 | API服务 | — |
| TTFT / 吞吐量调优 | 服务概念 | — |
| Prefix Caching 服务端配置 | 服务概念 | Prefix Caching |
| 结构化输出(JSON Schema) | 服务概念 | — |
| torch.compile 编译优化 | 服务概念 | torch.compile |
学习进度
- 架构概览
- 引擎核心
- 调度系统
- KV缓存与PagedAttention
- 执行器与Worker
- 模型库与算子层
- 量化系统
- 推测解码
- 多模态处理
- 分布式计算
- API服务与部署