vLLM部署
高性能大模型推理框架
框架概述
vLLM是一个高性能的大语言模型推理和服务框架,通过创新的PagedAttention技术, 显著提升推理吞吐量并降低显存占用,是当前最流行的LLM部署方案之一。
24倍
吞吐量提升
PagedAttn
核心技术
OpenAI兼容
API接口
PagedAttention原理
传统注意力的问题
传统KV Cache需要连续的显存块,导致:
- • 显存碎片化严重
- • 需要预分配最大长度空间
- • 批处理效率低
PagedAttention方案
借鉴操作系统虚拟内存管理,将KV Cache分页存储:
# 核心思想
- KV Cache分成固定大小的block
- 按需分配,不需要连续显存
- 支持内存共享(如beam search)
安装与快速启动
# 安装vLLM
pip install vllm
# 启动OpenAI兼容API服务
python -m vllm.entrypoints.openai.api_server \
--model meta-llama/Llama-2-7b-hf \
--host 0.0.0.0 \
--port 8000
Python API使用
# 离线批处理推理
from vllm import LLM, SamplingParams
llm = LLM(model="meta-llama/Llama-2-7b-hf")
sampling_params = SamplingParams(
temperature=0.7,
top_p=0.9,
max_tokens=256
)
prompts = ["Hello", "World"]
outputs = llm.generate(prompts, sampling_params)
关键参数配置
| 参数 | 说明 | 推荐值 |
|---|---|---|
| --tensor-parallel-size | 张量并行数(多GPU) | GPU数量 |
| --gpu-memory-utilization | GPU显存利用率 | 0.9 |
| --max-model-len | 最大上下文长度 | 按需设置 |
| --dtype | 数据类型 | auto/bfloat16 |
支持的模型
LLaMA系列
Mistral
Qwen
Yi
Baichuan
ChatGLM
Falcon
Mixtral
更多...
性能优化技巧
•
启用Flash Attention
自动启用,显著提升长序列性能
•
调整block_size
默认16,根据GPU显存调整
•
使用AWQ量化
加载AWQ量化模型降低显存需求
•
多GPU张量并行
大模型使用多卡并行提升吞吐
----