32 lines
1.4 KiB
Markdown
32 lines
1.4 KiB
Markdown
---
|
||
title: "vLLM"
|
||
type: concept
|
||
tags: [llm, vllm, 推理引擎]
|
||
date: 2025-12-20
|
||
---
|
||
|
||
## Definition
|
||
vLLM(虚拟大语言模型),由 vLLM 社区维护的开源项目,旨在让大语言模型更高效地大规模执行计算,通过更好地利用 GPU 内存来加快生成式 AI 应用的输出速度。
|
||
|
||
## Core Technologies
|
||
|
||
### KV Cache
|
||
- **K 和 V**:每个 token 的向量化后通过线性变换得到的两类向量,用于注意力计算
|
||
- **KV Cache**:将历史 K/V 保存下来,后续步不用重复计算
|
||
- **问题**:KV Cache 随上下文长度、层数、头数、维度线性增长,成为推理中最大的显存开销之一
|
||
|
||
### PagedAttention(分块 attention)
|
||
- 将每条序列的 KV Cache 切分为固定大小的块(block)
|
||
- 用页表式映射管理它们,像操作系统的虚拟内存一样灵活调度
|
||
- 避免了按序列分配一大块连续内存导致的碎片化和 OOM
|
||
- 支持动态并发与复用
|
||
|
||
### Continuous Batching(连续批处理)
|
||
- 不是攒满一批再跑,而是在每个解码步骤(按 token 迭代)都把活跃请求组装成一个批
|
||
- 序列长度不同也能高效合批,GPU 基本满负载运转
|
||
- 减少短任务被长任务阻塞的头阻塞,提高并发与公平性
|
||
|
||
## Related Concepts
|
||
- [[LLM]]:使用 vLLM 进行推理的语言模型
|
||
- [[Token]]:vLLM 处理的基本单元
|
||
- [[PagedAttention]]:vLLM 的核心技术 |