--- title: "vLLM" type: entity tags: [llm, inference, open-source, gpu] aliases: [vLLM, Virtual Large Language Model] last_updated: 2025-12-20 --- ## Description vLLM 是由 vLLM 社区维护的开源项目,通过更好地利用 GPU 内存来加速大语言模型(LLM)的推理生成。 ## Key Capabilities - **PagedAttention**:将 KV Cache 切分为固定大小的块(block),用页表式映射管理,避免连续内存分配导致的碎片化和 OOM - **连续批处理(Continuous Batching)**:每步解码都动态组装活跃请求批次,基于 PagedAttention 的块式内存 + 步进级调度器,无需等待整批结束即可插入新请求 - **KV Cache 优化**:保存历史 Key/Value 向量避免重复计算,通过分块管理实现动态并发与复用 - **预填充(Prefill)加速**:在多分支(如 beam search)和重复前缀场景下可复用相同前缀产生的 KV 块 ## Technical Details - **KV Cache**:K 和 V 由每个 token 向量化后通过线性变换得到的两类向量,用于注意力计算。KV Cache 随上下文长度、层数、头数、维度线性增长,是推理中最大的显存开销之一 - **分块策略**:用 PagedAttention 将每条序列的 KV Cache 切分为固定大小的块,类似操作系统的虚拟内存灵活调度 - **复用机制**:多分支和重复前缀场景下可复用相同前缀产生的 KV 块,减少预填充时间 ## Connections - [[Large Language Model]] ← 加速推理 ← [[vLLM]] - [[PagedAttention]] ← 核心机制 ← [[vLLM]] - [[KV Cache]] ← 优化对象 ← [[vLLM]] - [[Continuous Batching]] ← 核心机制 ← [[vLLM]] ## Sources - [[大模型相关术语和框架总结|llm-mcp-prompt-rag-vllm-token-数据蒸馏]]