vLLM 源码精读

从推理入口到模型执行,逐模块解读 vLLM 高性能推理引擎的核心实现

入口
llm.py · arg_utils.py
架构总览与推理入口
vLLM 全局架构、LLM 类入口、EngineArgs 参数解析与引擎初始化流程
推荐首读 架构
引擎
llm_engine.py
LLMEngine.step() 主循环
推理引擎核心循环:调度 → 执行 → 输出处理的完整数据流
step() 核心循环
序列管理
sequence.py
Sequence 与 SequenceData 状态管理
请求生命周期、序列状态机、SequenceGroup 管理与 KV Cache 追踪
Sequence 状态机
调度器
scheduler.py · policy.py
三队列与预算控制
Waiting / Running / Swapped 三队列架构、SchedulingBudget 令牌与序列预算管理
三队列 预算控制
scheduler.py
Default 调度策略
_schedule_default() 的完整调度逻辑:Running → Swapped → Waiting 三阶段优先级
Default 调度策略
scheduler.py
Chunked Prefill 策略
长 prompt 分块预填充、Prefill-Decode 混合调度与令牌预算分配
Chunked Prefill 混合调度
scheduler.py
抢占机制
Recompute vs Swap 两种抢占模式、抢占触发条件与恢复流程
抢占 Swap
显存管理
block_manager_v1.py · evictor_v1.py
Block Manager V1
物理/逻辑块映射、BlockAllocator、CoW 机制与 LRU 淘汰策略
Block Manager KV Cache
block_manager_v2.py · block/*
Block Manager V2 与 Prefix Caching
V2 重构架构、自动 Prefix Caching、哈希块匹配与跨请求 KV 复用
V2 重构 Prefix Caching
执行层
worker.py · cache_engine.py
Worker 与 CacheEngine
GPU Worker 初始化、CacheEngine KV 缓存管理、Executor 分发机制
Worker CacheEngine
model_runner.py · sampler.py
ModelRunner 与 Sampler
模型前向执行、输入准备、Attention Metadata 构建与采样策略
ModelRunner Sampler
模型架构
minimax_m3_tiny.py
M3-Tiny 模型架构
3D Conv 时间压缩、Video Patchified Attention、2D/3D RoPE 与完整视频处理管线
多模态 VPA 3D RoPE
在线服务
async_llm_engine.py · openai/
AsyncLLMEngine 与 OpenAI API
异步推理引擎、流式响应、OpenAI 兼容 API 接口与请求处理
AsyncEngine OpenAI API