
为什么选 vLLM
自托管 LLM 的推理框架不止一个,但到了 2026 年,vLLM 已经成为生产环境的默认选择。本篇带你从零搭起一个支持 OpenAI 兼容 API、能跑 7B-70B 模型的生产级推理服务。
硬件与系统前置
- GPU:A100 40/80GB 单卡即可跑 7B/13B;70B 建议 H100 80GB 或同代 2-4 卡。
- 驱动:CUDA 12.x + NVIDIA Driver 555+。
- 系统:Ubuntu 22.04 LTS(社区资源最齐)。
- 硬盘:NVMe SSD,建议模型权重单盘 ≥ 模型大小 × 1.5。
第一步:装 Docker + NVIDIA Container Toolkit
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
sudo sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt update && sudo apt install -y nvidia-container-toolkit
sudo systemctl restart docker
第二步:拉 vLLM 官方镜像 + 跑一个最小服务
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-7B-Instruct \
--served-model-name qwen2.5-7b \
--max-model-len 8192 \
--gpu-memory-utilization 0.92
首次启动会拉权重(约 15GB),准备好后访问 http://localhost:8000/v1/models 应该能看到模型。
第三步:性能调优关键参数
--tensor-parallel-size N:多卡并行(70B 模型通常要 2 卡 H100)。--gpu-memory-utilization:0.85-0.95 之间,看其他进程怎么用显存。--max-num-seqs:并发请求上限,越高吞吐越大但单请求延迟略涨。--enable-prefix-caching:prompt cache 开起来,重复 prefix 直接复用 KV。--dtype bfloat16:默认即可,省显存。
第四步:把它当成 OpenAI 后端
vLLM 自带 OpenAI 兼容 API。任何使用 OpenAI SDK 的客户端只要把 base_url 改成 http://your-host:8000/v1,api_key 随便填,就能用。用 LangChain、LlamaIndex、CrewAI 的项目几行代码就能切到自托管。
第五步:生产化(监控 / 自动扩缩 / 灰度)
- 监控:接 Prometheus + Grafana,看
vllm:gpu_cache_usage_perc、vllm:request_success_total、vllm:e2e_request_latency_seconds_bucket三个关键指标。 - 灰度:vLLM 支持一份服务多个 model,把”生产模型”和”新版模型”挂在同端口不同 model name 上,客户端按比例分流。
- 扩缩:用 K8s 自定义指标
vllm:num_requests_waiting自动扩 pod;非 K8s 场景可以前置 LiteLLM 做路由。 - 日志:所有请求带 trace_id,方便问”为什么这条回复慢”。
第六步:避开常见坑
- 多租户混跑要小心:同一张卡跑 2 个 vLLM 实例会争 KV cache,建议用 MIG 或多卡拆分。
- 长上下文 ≠ 内存无限:128K 窗口模型在 80GB 卡上只能跑并发 1,要看清。
- 重启慢不是 bug:权重从磁盘加载需要 2-5 分钟,配合
--load-format dummy测试启动链路。
vLLM 不是最花哨的框架,但它是 2026 年平衡工程友好度和性能的最优解之一。搭一遍之后,你对”AI 系统部署”这门手艺的理解会上一个台阶。



