LLM Infer Infra 学习资料库

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 分布式排障 多卡失败如何分离通信与模型问题?

基础原理论文可补充:

本地教学代码:CPU 四实验。它用于推演概念,不是官方性能基准,也不是生产调度器。

输入主题、术语或问题