为什么传统推理OOM?
- KV Cache占用显存70%+
- 批量请求时显存碎片化严重
- 长文本推理速度断崖式下降
PagedAttention核心改造
from vllm import LLM, SamplingParams
启用PagedAttention(默认开启)
llm = LLM(
model="meta-llama/Llama-3-70b",
max_model_len=8192, # 显存利用率提升40%
block_size=16 # 内存分页粒度
)
批量推理实测
outputs = llm.generate(
prompts,
SamplingParams(temperature=0.7, max_tokens=512),
use_tqdm=True
)
性能对比(Llama-3-70B)
| 模式 | 吞吐量(Tokens/s) | 显存占用 |
|---|---|---|
| 原生 | 1,200 | 100% |
| vLLM | 5,800 | 58% |
调优技巧
- 动态block_size:短文本用8,长文本用32
- 预填充缓存:
--enable-prefix-caching - 量化组合:AWQ+PagedAttention双杀
暂无评论