为什么选择vLLM
vLLM是加州大学伯克利分校开源的大模型推理框架,凭借PagedAttention技术,吞吐量比HuggingFace原生推理高24倍。我们在北京的大模型部署项目中,vLLM已成为生产环境标配。
vLLM核心优势
PagedAttention
传统推理中,每个请求的KV Cache要预分配连续显存,浪费严重。PagedAttention把KV Cache分成固定大小的Page,按需分配,显存利用率从40%提升到96%。
连续批处理
传统批处理要等所有请求都准备好才能推理。vLLM的连续批处理在请求到达时立即加入推理队列,不需要等待,GPU利用率接近100%。
兼容OpenAI API
vLLM内置OpenAI兼容的API服务器,现有调用OpenAI的代码只需改一行base_url即可切换到私有化部署。
部署实战
安装与启动
pip install vllm
python -m vllm.entrypoints.openai.api_server
--model Qwen/Qwen2.5-72B-Instruct
--tensor-parallel-size 4
--max-model-len 32768
--gpu-memory-utilization 0.9
--port 8000
量化部署
72B模型需要4张A100(80GB),但用AWQ量化后只需2张:
python -m vllm.entrypoints.openai.api_server
--model Qwen/Qwen2.5-72B-Instruct-AWQ
--quantization awq
--tensor-parallel-size 2
关键参数调优
- –gpu-memory-utilization:建议0.85-0.9,留余量给系统
- –max-model-len:根据业务需求设,越长越占显存
- –max-num-seqs:并发请求数,A100建议128-256
- –tensor-parallel-size:多卡并行数,等于GPU数量
生产环境最佳实践
负载均衡
启动多个vLLM实例,用Nginx做负载均衡。支持请求级负载和会话级负载。北京某客户部署了4个vLLM实例,支撑2000+并发用户。
监控告警
关键指标:GPU利用率、显存占用、请求队列长度、推理延迟、吞吐量。推荐Prometheus + Grafana。设置延迟告警阈值(如P99>2s)。
高可用
多实例部署 + 健康检查 + 自动重启。单实例故障不影响整体服务。建议至少2个实例。
性能对比
以Qwen2.5-72B为例(4张A100 80GB):
- HuggingFace原生:12 tokens/s
- vLLM(无量化):85 tokens/s
- vLLM + AWQ量化:110 tokens/s
- vLLM + AWQ + 连续批处理(高并发):3000+ tokens/s
常见问题
vLLM需要什么GPU?
7B模型:1张RTX 4090(24GB)。72B模型:4张A100(80GB),AWQ量化后2张。北京客户可选择GPU租赁,A100约15元/小时。
vLLM支持哪些模型?
支持Llama、Qwen、DeepSeek、ChatGLM、Mistral等主流开源模型。支持AWQ、GPTQ、GGUF量化格式。不支持非Transformer架构模型。
从OpenAI迁移到vLLM需要改代码吗?
几乎不需要。vLLM兼容OpenAI API格式,只需把base_url从OpenAI改成vLLM地址。支持streaming、function calling等特性。