vLLM

3天前更新 5 0 0

vLLM 生产级LLM推理与服务引擎,PagedAttention高吞吐,Apache 2.0。

语言:
中文
收录时间:
2026-07-27
核心定位:生产级LLM推理与服务引擎
开源协议:Apache 2.0
核心能力:PagedAttention,连续批处理,高吞吐
特色功能:多GPU,量化,前缀缓存,自动扩缩
GPU 必需:是(NVIDIA/AMD/TPU)

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 更合适。

相关导航