Skip to content

vLLM 源码解读 ​

快照:main 分支,commit bbc4ddeca9ece9851aad26f03afc4bab37c6e8df,核对日期 2026-09-24。正文中的路径、行号与行为描述均以该快照为准(GitHub 永久链接)。快照处于版本号 dev 的开发态(vllm/version.py:11),功能以 commit 为锚点而非版本号。

vLLM 是目前最广泛使用的 LLM 推理服务引擎,它的辨识度来自三个机制:PagedAttention 把 KV Cache 按小块分页管理、让显存利用率接近上限;连续批处理(continuous batching)让请求随到随进、随完随走;前缀缓存让共享前缀的请求复用已算过的 KV。V1 引擎把这些机制组织成一个多进程流水线:API 进程只做协议与流式输出,EngineCore 进程负责调度,Worker 进程负责 GPU 执行。

本系列沿一条端到端主线读源码:一次 /v1/chat/completions 请求如何从 HTTP 路由进入 AsyncLLM,跨进程到达 EngineCore,被 Scheduler 以 token budget 切进批次,在 GPUModelRunner 里拼出 attention metadata 并执行前向,最后经采样、反词元化、流式通道回到调用方。

目录 ​

References ​

最近更新