
vLLM 是一个开源的高性能大模型推理与服务引擎,最初在 UC Berkeley 的 Sky Computing Lab 开发,现由来自数十家学术机构和公司的 2000 多名贡献者组成的社区维护。核心突破是 PagedAttention——借鉴操作系统虚拟内存分页思想管理 KV Cache,配合连续批处理(Continuous Batching)、分块预填充(Chunked Prefill)、前缀缓存(Prefix Caching)等技术,在同等硬件上将吞吐提升到 14-24 倍。提供 vllm serve 命令一键启动 OpenAI 兼容 API 服务(默认 localhost:8000/v1),可被 OpenAI Python SDK、LangChain、LlamaIndex 等任意 OpenAI 兼容客户端直接调用。Apache 2.0 协议,免费商用。
产品概述
vLLM 于 2023 年 6 月发布首版,初衷是解决当时 LLM 服务”显存浪费严重、吞吐上不去”的痛点。PagedAttention 将 KV Cache 切成固定块(block)动态分配,消除了传统自回归推理中”为最大序列长度预分配显存”的浪费,显存利用率提升 2-4 倍。2024 年起 vLLM 进入高速迭代期,陆续引入:连续批处理(Continuous Batching,多请求动态拼批)、分块预填充(长上下文分块处理)、前缀缓存(复用相同系统提示的 KV Cache,对 Agent/RAG 场景至关重要)、Speculative Decoding(投机解码,小模型草稿+大模型验证提速 2-3 倍)。量化支持覆盖 FP8、MXFP8/MXFP4、NVFP4、INT8、INT4、GPTQ、AWQ、GGUF 等。
硬件支持 NVIDIA GPU、AMD GPU、x86/ARM/PowerPC CPU,并通过插件支持 Google TPU、Intel Gaudi、IBM Spyre、华为昇腾、Rebellions NPU、Apple Silicon、摩尔线程 GPU。2026 年 7 月发布的 v0.26.0 版本合入 411 个 commit、212 位贡献者,对 DeepSeek-V4 做了端到端 TPOT 降低 2.94% 的专项优化,并新增 Inkling 模型家族完整支持栈、KV Cache 分层存储(CPU 内存+对象存储二级缓存)。vLLM 已成为企业生产部署开源大模型的事实标准,SGLang 是其最主要竞争者。
核心能力
- 连续批处理:多请求动态拼批,GPU 利用率最大化
- PagedAttention:KV Cache 分页管理,显存利用率提升 2-4 倍
- 分块预填充:长上下文分块处理,避免 prefill 阻塞 decode
- 前缀缓存:复用相同前缀的 KV Cache,Agent/RAG 场景命中率极高
- OpenAI 兼容 API:
/v1/chat/completions、/v1/completions、/v1/embeddings、/v1/rerank、/v1/audio/transcriptions等 - 多 GPU 张量并行:
--tensor-parallel-size跨卡部署大模型 - 量化推理:FP8/NVFP4/INT4/GPTQ/AWQ/GGUF 全量化路径
- Speculative Decoding:投机解码提速 2-3 倍
- 多模态:支持视觉语言模型(VLM)推理
- 硬件后端:FlashAttention/FlashInfer/TRTLLM-GEN/FlashMLA/Triton 等优化的 Attention 内核
优势亮点
- 吞吐 14-24 倍于 HF Transformers:PagedAttention + 连续批处理的核心红利
- 显存利用率提升 2-4 倍:同等显存可加载更大模型或承载更高并发
- OpenAI API 完美兼容:原有 GPT 代码改
base_url即可无缝迁移 - 量化全路径支持:FP8/NVFP4/INT4/GPTQ/AWQ/GGUF,覆盖从数据中心到边缘的全场景
- 硬件生态最广:NVIDIA/AMD/Intel Gaudi/Google TPU/华为昇腾/Apple Silicon/摩尔线程全支持
- 企业级特性齐全:连续批处理、前缀缓存、Speculative Decoding、多 GPU 并行、KV Cache 分层存储
- Apache 2.0 协议:免费商用,可自部署、可修改、可分发
- 社区最活跃:v0.26.0 单版本 411 个 commit、212 位贡献者,是新模型 Day 0 适配的首选引擎
- 新模型 Day 0 支持:DeepSeek-V4、Qwen3.5/3.6、Inkling 等新模型首发即支持
短板
- Linux 为绝对主力:官方仅保证 Linux 完整功能,macOS 仅 Apple Silicon 通过 vLLM-Metal 实验性支持,Windows 不支持原生运行
- 生产部署必需 GPU:纯 CPU 只能跑小模型验证,7B 模型 CPU 推理速度仅 1-2 tokens/s 级别,无实用价值
- 学习曲线陡峭:需熟悉 Python 环境、CUDA 驱动、量化策略、张量并行等概念,不适合新手
- 显存占用仍高于 llama.cpp:为追求吞吐,vLLM 的显存开销策略比 llama.cpp 激进,小显存跑大模型不如 llama.cpp 灵活
- 单模型单服务:默认一个
vllm serve进程加载一个模型,多模型并发需自行编排多个进程 - 与 SGLang 的竞争:在固定模型+重复前缀(Agent/RAG)场景,SGLang 0.5.16 的 UnifiedRadixTree 前缀缓存默认开启,吞吐略优于 vLLM
- 版本升级有 Breaking Changes:v0.26.0 移除了 TeleChat、Persimmon、Fuyu 模型支持,生产环境升级需谨慎测试
适用人群
企业生产部署团队、需要高并发 API 服务的后端、多 GPU 集群运维、Agent/RAG 平台开发者、需要 OpenAI 兼容接口的中大型团队、云服务商 AI 平台底座。
安装与快速开始
Step 1:安装 vLLM
使用 uv(推荐,NVIDIA GPU):
uv venv --python 3.12 --seed source .venv/bin/activate uv pip install vllm --torch-backend=auto
使用 pip:
pip install vllm
Docker 方式:
docker pull vllm/vllm-openai:latest
Apple Silicon(macOS 实验性支持):
uv pip install vllm --torch-backend=auto
先决条件:Linux 操作系统,Python 3.10-3.13,NVIDIA GPU 需 CUDA 12.1+,AMD GPU 需 ROCm 6.0+。
Step 2:启动 API 服务
启动模型服务(以 Qwen2.5-1.5B-Instruct 为例):
vllm serve Qwen/Qwen2.5-1.5B-Instruct --dtype auto --api-key token-abc123
服务默认在 http://localhost:8000 启动,提供 OpenAI 兼容 API。
多 GPU 张量并行(以 2 卡为例):
vllm serve Qwen/Qwen3.5-27B-Instruct --tensor-parallel-size 2 --port 8000
Docker 方式启动:
docker run --runtime nvidia --gpus all \ -v ~/.cache/huggingface:/root/.cache/huggingface \ -p 8000:8000 \ --ipc=host \ vllm/vllm-openai:latest \ --model Qwen/Qwen2.5-1.5B-Instruct
Step 3:调用 API(任选一种方式)
curl 调用:
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer token-abc123" \
-d '{
"model": "Qwen/Qwen2.5-1.5B-Instruct",
"messages": [
{"role": "user", "content": "Hello!"}
]
}'
Python 调用:
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="token-abc123"
)
response = client.chat.completions.create(
model="Qwen/Qwen2.5-1.5B-Instruct",
messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)
硬件配置参考
| 模型规模 | 最低显存 | 推荐配置 |
|---|---|---|
| 7B(Q4/KV Cache FP8) | 16GB | 单卡 RTX 4090 |
| 14B | 32GB | 单卡 A100 40GB |
| 32B(Q4) | 48GB | 单卡 A100 80GB 或 2×RTX 4090 张量并行 |
| 70B(Q4) | 140GB | 2×A100 80GB 张量并行 |
| 671B MoE(DeepSeek-V4) | 部署需多节点 | 8×H100 集群 |
*最佳实践:生产部署建议 NVIDIA GPU 16GB 以上显存;量化优先选 FP8(Hopper 架构)或 NVFP4(Blackwell 架构);Agent/RAG 场景务必开启前缀缓存;高并发场景调大
--max-num-seqs;多卡部署用--tensor-parallel-size指定卡数。vLLM 的吞吐优势在并发请求 ≥ 8 时开始显著体现,单用户低并发场景其优势不明显,此时 llama.cpp 或 Ollama 更合适。
相关导航


Open WebUI

LocalAI
TextGen

MLC LLM

llama.cpp

Jan

