vLLM 专项:官方资料与版本说明
白话导读:vLLM、LMCache、Mooncake 的官方资料、核心论文和实验版本记录模板。
- 源码链接固定到资料使用的版本,阅读新版本时要重新核对。
- 实验版本记录模板与环境记录表配合使用。
按“与本地源码配套的阅读路线”顺序读。
1. 如何使用这些资料
资料检索日期为 2026-10-23。下列页面是学习依据,不代表已经验证某个组合能够部署运行。stable 和不带版本的站点会变化;实验必须固定 release/commit,并保存与之匹配的配置。
本文档中的“现有能力”指所链接官方文档中介绍的能力。兼容性仍取决于模型、GPU 后端、attention backend、KV dtype/layout、并行拓扑、connector 与框架版本。
2. vLLM
| 编号 | 资料 | 阅读重点 |
|---|---|---|
| V1 | Architecture Overview | API、EngineCore、Worker 进程职责 |
| V2 | Scheduler Interface | 每轮请求到 token 数的调度结果 |
| V3 | Optimization and Tuning | Chunked Prefill、抢占、参数影响 |
| V4 | Automatic Prefix Caching Design | 链式 hash、block pool、引用、驱逐 |
| V5 | Hybrid KV Cache Manager | Full/SWA/Mamba 等不同缓存需求 |
| V6 | KVConnectorBase V1 | scheduler/worker 接口、异步完成 |
| V7 | Disaggregated Prefilling | PD 目标、connector、实验性与兼容性 |
| V8 | MooncakeStoreConnector | 共享 Store 与 P2P connector 的区别 |
| V9 | Parallelism and Scaling | TP/PP 与部署 |
| V10 | Data Parallel Deployment | 稠密副本与 MoE DP/EP 的不同耦合 |
| V11 | Production Metrics | 实际指标和命中统计口径 |
| V12 | Benchmark Serving CLI | 到达率、并发、分位数、Goodput |
| V13 | LMCache Connector API | 加载/保存 hook 与 graph 约束 |
源码定位:vllm-project/vllm。本次已核对本地提交 f3871c3cbf8a608f7ee833ec4c2c5277f77bee41 的关键路径,详见 08 源码教材。本地文件链接与在线 stable 不一定是同一版本。
3. LMCache
| 编号 | 资料 | 阅读重点 |
|---|---|---|
| L1 | Architecture Overview | 多级缓存与引擎集成的整体概念 |
| L2 | Integration | lookup、retrieve、store |
| L3 | Multiprocess Overview | 独立服务、共享 L1、传输接口 |
| L4 | MP Architecture | server、storage manager、状态/锁、控制器 |
| L5 | Secondary KV Storage | L1/L2、异步写入与预取 |
| L6 | MP Mooncake Store Backend | Mooncake 作为 L2 后端、构建和内存要求 |
| L7 | Chunk-Size Negotiation | chunk 与引擎 KV 几何的对齐 |
| L8 | CacheBlend | 非前缀复用与选择性重计算 |
| L9 | Layerwise Transfer — Legacy | 层级流水原理;不是 MP 配置手册 |
| L10 | MP Configuration | 实验所选版本的参数入口 |
| L11 | MP Tracing | L1/L2/APC 命中分母与阶段延迟 |
源码定位:LMCache/LMCache。
部分进程内模式页面已经提示 deprecated,并推荐 MP。MP 文档中也存在开发分支要求,不应只看到“推荐”就假设已安装 release 支持所有特性。本手册主要解释稳定概念,不混抄两套配置。
MP 的 L1/L2 是 LMCache 的分层命名,不等同于 GPU 芯片的 L1/L2 硬件缓存。远端或 L2 后端是否持久化,必须看具体介质和恢复机制,不能仅由层级名称推断。
4. Mooncake
| 编号 | 资料 | 阅读重点 |
|---|---|---|
| M1 | Architecture | 引擎之下的通信与存储基础设施 |
| M2 | Transfer Engine | Segment、注册 Buffer、BatchTransfer、Transport |
| M3 | Mooncake Store | 不可变对象、Put/Get、replica、lease、驱逐 |
| M4 | Metadata Management | Master 元数据面与客户端数据面 |
| M5 | vLLM KV Storage and Sharing | 直接使用 Store 的集成 |
| M6 | vLLM V1 PD Integration | MooncakeConnector 与 PD 传输 |
源码定位:kvcache-ai/Mooncake。
Mooncake 论文描述的是 KV 中心化的完整 serving 架构,包括全局调度和过载决策。开源 Transfer Engine 或 Store 是其中可组合的基础设施,单独接入它们不等于复现论文的全套调度策略。
5. 核心论文
| 编号 | 论文 | 要回答的问题 |
|---|---|---|
| P1 | PagedAttention / vLLM | 为什么分页与共享可以提高有效 batch? |
| P2 | DistServe | 为什么以延迟目标下的 Goodput 优化 PD 资源配置? |
| P3 | Mooncake | 如何围绕 KV 位置、复用与过载组织服务? |
| P4 | CacheBlend | 非前缀文档的 KV 为什么不能直接拼接? |
论文结果来自指定模型、硬件和工作负载。记录其约束、基线、指标和消融实验,比记住加速倍数更有用。
6. 实验版本记录模板
日期:
vLLM release / commit:
LMCache release / commit / in-process 或 MP:
Mooncake release / commit:
模型仓库 / revision / tokenizer / chat template:
GPU 型号与数量 / 显存 / GPU-NIC 拓扑:
OS / driver / CUDA / PyTorch / NCCL:
attention backend / dtype / KV dtype / KV layout:
TP / PP / DP / EP:
connector 名称与完整配置:
block size / 实际协商后的 chunk size:
CPU / NUMA / 主存与 pinned-memory 预算:
网络 / 介质 / 有效吞吐:
压测输入输出分布 / 并发或到达率 / SLO:
warmup / 缓存冷热 / 重复次数:
7. 与本地源码配套的官方阅读路线
下面资料已在对应版本的 vLLM 源码仓库确认存在,链接固定到该提交。先学 07~10 的中文正文,再核对实现、参数和扩展能力;不要求在 28 天内通读全部内容。
| 阅读顺序 | 上游固定版本资料 | 应带着的问题 |
|---|---|---|
| 1 | Quickstart | 离线与在线最小使用方式是什么? |
| 2 | 安装总览、环境准备 | 平台、Python 和 wheel 是否匹配? |
| 3 | 架构概览 | API、Core、Worker 如何分工? |
| 4 | 离线推理 | 批量输入和输出如何组织? |
| 5 | 配置、调优 | token、请求数和显存预算怎样关联? |
| 6 | 前缀缓存设计、使用 | key、引用和驱逐如何配合? |
| 7 | 混合 KV | 不同层型为什么不能统一套普通 KV 公式? |
| 8 | Attention backend、分页 Attention | 数据布局和 kernel 怎样配合? |
| 9 | MRV2 | persistent state、异步和输入准备为什么重构? |
| 10 | 编译、CUDA Graph | 动态形状与捕获范围怎样影响收益? |
| 11 | Profiling、指标 | 怎样区分排队、执行和同步? |
| 12 | TP/PP、DP | 容量、吞吐和单请求延迟怎样权衡? |
| 13 | EP、上下文并行 | 专家和上下文分别怎样切分? |
| 14 | PD | 传输与资源分离什么时候值得? |
| 15 | Mooncake P2P、Store | 一次交接与共享存储有什么区别? |
| 16 | 量化、KV量化 | 显存、kernel 和质量怎样一起验证? |
| 17 | 投机解码 | 接受率和验证成本怎样决定收益? |
| 18 | 模型接入、注册 | forward 和权重怎样接到引擎? |
| 19 | 多模态、LoRA、结构化输出 | 特殊输入与采样怎样改变执行状态? |
| 20 | 分布式排障 | 多卡失败如何分离通信与模型问题? |
基础原理论文可补充:
- Attention Is All You Need:Q/K/V 与多头注意力。
- FlashAttention:分块、在线 softmax 与 IO 分析。
- Fast Inference from Transformers via Speculative Decoding:精确投机采样的接受/拒绝修正。
本地教学代码:CPU 四实验。它用于推演概念,不是官方性能基准,也不是生产调度器。