vLLM 部署教程:本地 GPU 与云主机配置
说明在本地 GPU 与云主机上安装 vLLM、配置显存和监听参数、准备容器 GPU 环境并请求 `/v1/models`,同时给出兼容性检查与排错顺序。
在本地 GPU 和云主机上部署 vLLM,主线是先按 vLLM 官方快速开始 核对运行环境、创建隔离环境、启动服务并检查模型列表;容器方式还要先确认 GPU 对容器可见。安装后的命令行入口写作小写 vllm,下面按准备、启动、参数和排错顺序给出步骤。
本地 GPU:开始前先核对兼容性
按 vLLM 的 GPU 安装文档,NVIDIA GPU 的 compute capability 需要达到 7.5 或更高;vLLM 不原生支持 Windows,文档给出的路径是在 WSL 中使用兼容的 Linux 发行版。预编译包包含 C++ 和 CUDA 12.9 二进制文件,B200、GB200 则至少需要 CUDA 12.8。
同一文档建议使用全新环境;如果 CUDA 版本不同,或者需要沿用已有的 PyTorch,就要从源码构建,并使用 GCC/G++ 11.3 或更高版本。本地购买 GPU 时还要核对供电和机箱条件,例如 NVIDIA RTX 4090 产品页 列出 24 GB GDDR6X、450 W 显卡功率和 850 W 系统功率要求。这些规格只能说明硬件条件之一,不能单凭显存判断某个模型是否一定能运行。
安装后用 vllm serve 启动并检查服务
vLLM 官方快速开始 将 Linux 和 Python 3.10 至 3.13 列为运行前提,并给出 Python 3.12 虚拟环境安装流程:
uv venv --python 3.12 --seed
source .venv/bin/activate
uv pip install vllm --torch-backend=auto
其中,--torch-backend=auto 会检查已安装的 CUDA driver,并自动选择相应的 PyTorch index。安装完成后,使用模型名启动服务:
vllm serve Qwen/Qwen2.5-1.5B-Instruct
服务默认监听 http://localhost:8000,可用 --host 和 --port 设置地址。一个服务进程当前承载一个模型。--api-key 或 VLLM_API_KEY 可启用请求头中的 API key 检查;--api-key 后传入多个 key 时,服务接受其中任意一个,便于轮换。
检查服务是否可用
另开终端请求模型列表:
curl http://localhost:8000/v1/models
查看响应中是否列出了启动时指定的模型。远程调用时,应把命令中的 localhost 换成实际配置的可达地址。
显存、上下文与并行参数
这些参数可在 vLLM Serve 参数表 中核对:
--gpu-memory-utilization的默认值为0.92,属于当前实例的限制;同一块 GPU 上的两个实例可以分别设置为0.5。- 设置
--kv-cache-memory-bytes后,它会覆盖gpu_memory_utilization对显存占用的计算。 --max-model-len覆盖 prompt 与 output 的总长度;未设置时从模型配置取得,设为-1或auto时选择 GPU 显存能够容纳的最大长度。--max-num-seqs限制单次迭代处理的 sequence 数量,--max-num-batched-tokens限制单次处理的 token 数量;--tensor-parallel-size(-tp)和--pipeline-parallel-size(-pp)默认均为1。
云主机配置:先确认供应商边界
云主机能否运行,要查看供应商当前文档中的 GPU 型号与 compute capability、NVIDIA driver 版本、是否预装或允许配置 NVIDIA Container Toolkit、监听地址和端口的访问规则,以及模型目录所在磁盘是否持久化。本文引用的官方文档没有给出具名云服务商、地区延迟、计费或服务等级协议结论,这些项目必须回到供应商页面和报价中核对。
如果要固定权重下载和加载位置,可按 vLLM Serve 参数表 设置 --download-dir;未设置时使用 Hugging Face 的默认缓存目录。裸金属实例可直接采用前述安装流程,容器实例则应先完成下一节的 GPU 可见性检查。
Docker 容器:先验证 GPU,再运行模型
容器主机应先安装 NVIDIA GPU driver,再安装 NVIDIA Container Toolkit;NVIDIA 安装指南建议优先使用对应 Linux 发行版的包管理器。只有具备主机配置权限时才执行以下命令:
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
其中,nvidia-ctk 会修改 /etc/docker/daemon.json,随后需要重启 Docker daemon。按照 Docker GPU access 文档,可以用下面的官方示例检查容器是否能看到 GPU:
docker run -it --rm --gpus all ubuntu nvidia-smi
该命令能列出 GPU,才说明容器访问层配置完成;随后再使用当前镜像的启动入口运行前述 vllm serve 服务。
常见出错点
排查时按四层推进:先确认系统是否走 WSL 或源码构建路径,再核对 CUDA 与 GPU 兼容性;容器层先让上述检查命令成功,最后才检查模型缓存和显存参数。云端请求失败时,对照 --host、--port 与供应商访问规则;不要在 GPU 尚不可见时反复调整上下文长度或显存比例。
本文步骤依据正文所链接的官方文档整理,未运行或测量;使用前请按当前版本复核。