发布日期:2026-09-29
vLLM 是加州大学伯克利分校 Sky Computing Lab 于 2023 年开源、现已发展为拥有 9.2 万+ GitHub Star 的大模型推理与服务框架,核心技术 PagedAttention 借鉴操作系统虚拟内存分页思想管理 KV 缓存,配合连续批处理(Continuous Batching)大幅提升吞吐。本文按"是什么、怎么装、怎么跑、怎么调"的顺序,给出从零开始部署 vLLM 的完整路径:一条 uv pip install vllm 命令完成安装,离线批量推理和 OpenAI 兼容 Server 两种启动方式,以及显存不足、吞吐上不去这两个最常踩的坑该怎么调参数。内容以 vLLM 官方文档(docs.vllm.ai)和 GitHub 仓库信息为准。
vLLM 是什么:一个专注推理效率的开源引擎
vLLM 官方定义是"a fast and easy-to-use library for LLM inference and serving"(一个快速易用的大模型推理与服务库),最初由 UC Berkeley Sky Computing Lab 团队开发,现已成长为有 2000 多位贡献者参与的开源项目,最新版本 0.30.0(截至 2026 年 9 月)。
它能跑得快,核心靠两项技术:
除此之外,vLLM 原生支持 FP8/INT4/GPTQ/AWQ/GGUF 等多种量化方式、投机解码(speculative decoding)、张量/流水线/数据并行,并且原生兼容 200 多种 Hugging Face 模型架构,包括 Llama、Qwen、DeepSeek-V3 等主流开源模型,硬件上覆盖 NVIDIA、AMD、Intel GPU 及 x86/ARM CPU。
怎么装:一条命令,官方推荐用 uv
vLLM 官方文档推荐使用 uv(而不是传统 pip)安装,因为 uv 能自动根据本机 CUDA 驱动版本选择匹配的 PyTorch 索引:
uv venv --python 3.12 --seed
source .venv/bin/activate
uv pip install vllm --torch-backend=auto
不用 uv 也可以走传统 conda + pip 路径:
conda create -n myenv python=3.12 -y
conda activate myenv
pip install --upgrade uv
uv pip install vllm --torch-backend=auto
硬件门槛:NVIDIA GPU 要求算力(compute capability)7.5 及以上(T4、RTX 20 系列、A100、L4、H100、B200 等均可),其中 Blackwell 架构(B200/GB200)需要 CUDA 12.8 以上;AMD GPU 需要 ROCm 6.3 及以上(MI200s/MI300/MI350/Radeon RX 7900 系列);Intel 数据中心 GPU 和 ARC GPU 也有专门的 whl 包支持。官方系统要求是 Linux + Python 3.10~3.13,vLLM 原生不支持 Windows,需要通过 WSL 或社区维护的分支运行。
怎么跑:离线推理 vs 在线 Server,两种模式任选
模式一:离线批量推理
适合跑一批 prompt、拿到结果就结束的场景,不需要常驻服务:
from vllm import LLM, SamplingParams
prompts = [
"Hello, my name is",
"The capital of France is",
]
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)
llm = LLM(model="facebook/opt-125m")
outputs = llm.generate(prompts, sampling_params)
for output in outputs:
print(f"Prompt: {output.prompt!r}, Generated: {output.outputs[0].text!r}")
官方文档说明,默认情况下 vLLM 会读取模型自带的 generation_config.json,采用模型作者推荐的采样参数。
模式二:OpenAI 兼容 Server(生产环境常用)
一条命令即可把模型跑成一个符合 OpenAI API 协议的服务,默认监听 http://localhost:8000:
vllm serve Qwen/Qwen2.5-1.5B-Instruct
启动后可以用标准 HTTP 请求调用:
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/Qwen2.5-1.5B-Instruct",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who won the world series in 2020?"}
]
}'
也可以直接用 openai 官方 Python 包调用,只需把 base_url 指向本地地址,api_key 随便填一个占位字符串(如 "EMPTY")即可,代码基本不用改,这是很多团队从云端 API 迁移到自部署最省事的地方。
显存不够、吞吐上不去:三个最该调的参数
自己部署最容易撞上的两类问题是"启动就 OOM"和"能跑但吞吐低",vLLM 官方文档给出的核心可调参数是:
实践中常见的调优顺序是:先确认 --gpu-memory-utilization 没有设得过高导致和系统其他进程抢显存,再看 --max-model-len 是否远超实际业务需要的上下文长度,最后如果仍不稳定再尝试 --enforce-eager 定位是不是 CUDA graph 编译阶段的问题。有实际部署经验的开发者也提醒,batch size 不是越大越好——压到 1 会导致吞吐惨淡,盲目拉到 64 又容易直接 OOM,需要结合具体业务的延迟和吞吐要求去找平衡点,而不是单纯冲某一个指标的极限。
vLLM 和 SGLang、TGI、TensorRT-LLM 该怎么选
这几个框架并不是谁比谁"更快"这么简单,而是设计取舍不同:
-
vLLM:核心优势是显存管理更省、更密,PagedAttention 让不同长度的请求也能把显存利用率做到 90%以上,通用性强,支持的模型和硬件范围最广;
-
TensorRT-LLM:深度绑定 NVIDIA 生态,把核心算子用 CUDA C++ 重写并针对特定架构优化,单卡吞吐可以做得更高,但仅支持 NVIDIA GPU,部署链路更长,需要额外的编译步骤;
-
SGLang:更适合多模型协同的复杂流程(比如先用一个模型生成草稿、再用另一个模型打分精修),常见于 RAG 流水线和 Agent 工作流场景;
-
TGI:主打生态成熟度和开箱即用的监控/量化能力,深度集成 Hugging Face Transformers 生态,企业选它往往不是因为最快,而是出问题时更容易找到现成的排查思路。
选型建议是先画出自己的 SLA 曲线(并发请求数 vs P95 延迟),再对照这四类框架的取舍去匹配,而不是只看某个跑分榜单。
常见问题
Q:vLLM 支持哪些模型?
官方文档说明原生支持 200 多种 Hugging Face 模型架构,包括 Llama、Qwen、Gemma 等纯解码器模型,DeepSeek-V3、Mixtral 等混合专家(MoE)模型,Mamba 等状态空间模型,以及 LLaVA、Qwen-VL 等多模态模型,完整列表以官方文档的 Supported Models 页面为准。
Q:本地没有 GPU,能不能用 vLLM?
可以在 CPU 上跑(x86/ARM/PowerPC 均有支持),但吞吐会明显低于 GPU,适合小模型测试或功能验证,生产环境的高并发场景仍建议使用符合算力要求的 GPU。如果不想自建 GPU 环境和运维推理服务,也可以直接调用云端已部署好的大模型推理接口,例如七牛云 AI 提供的模型推理服务,按需调用无需自己管理显卡和框架版本。
Q:vLLM 和直接用 Hugging Face Transformers 推理有什么区别?
区别主要在吞吐和显存效率上:有实测数据显示,同样在 A100 80G 上跑 Qwen2-7B(batch size 8),Transformers 原生推理吞吐约 42 tokens/s,vLLM 能达到约 186 tokens/s,P95 延迟从 1120ms 降到 310ms 左右,这正是 PagedAttention 和连续批处理带来的效率提升,但具体数字会随模型、硬件和版本变化。
Q:一定要用 vLLM 吗,有没有更简单的部署方式?
如果只是想快速调用主流大模型做开发测试,不涉及自建推理服务,直接用云端 API 通常比自己部署 vLLM 更省事——不需要选硬件、装 CUDA、调显存参数,按需调用即可,适合还在验证想法阶段、或者不想承担自建运维成本的团队。
结语
vLLM 从 0 到 1 的门槛其实不算高:一条安装命令、一段离线推理代码或一条 vllm serve 命令就能跑起来,真正的难点在后续的显存调优和硬件选型上。本文内容以 vLLM 官方文档(docs.vllm.ai)、GitHub 仓库(vllm-project/vllm)2026 年 9 月的公开信息为准,具体参数、版本号和支持范围请以实际安装版本的官方文档展示为准。