31 lines
1.7 KiB
Markdown
31 lines
1.7 KiB
Markdown
---
|
||
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-数据蒸馏]]
|