开源模型本地部署选型指南

先核对模型许可证、任务格式、模型制品、GPU 显存与量化兼容性,形成可复核的选型顺序,再选择 vLLM 部署路径并完成安装、启动和接口验证;vLLM 前置环境要求 Linux 与 Python 3.10 至 3.13。

做本地部署大模型,选型顺序应是:先核对许可证、任务格式、操作系统、GPU、显存和量化兼容性,再选择服务框架并调整运行参数。模型能够下载,不代表它符合你的使用授权,也不代表现有框架和硬件能够运行。以下把可核验的落地路径收敛到 vLLM,再说明安装、启动、验证和排错方法。

开源模型:先核对许可证和任务格式

下载权重前,先把影响部署的选项写进选型表:

核对项 需要记录的内容 对选型的影响
许可证 模型仓库 LICENSE 中关于使用、修改、商用和再分发的条款 条款不满足目标用途时,应停止部署
任务接口 chat 或 completion、最长输入输出、并发目标 决定接口形式、上下文长度和批处理参数
模型制品 权重格式、精度、量化格式、tokenizer 和配置文件 只选择服务框架明确支持的制品
部署环境 操作系统、GPU 型号、显存、driver、供电与空间 决定框架、运行环境和并行设置

许可证判断与技术兼容性必须分开:能够加载权重,不代表可以任意商用或再分发;反之,满足用途也不能保证机器装得下。

如果候选框架是 Ollama,其平台支持、安装命令、运行语法、默认 endpoint 和 GPU backend 都应以其当前官方文档为准。在这些信息未核对前,不要把 vLLM 命令改名后直接套用。

硬件条件:先确认基础支持,再看量化格式

选择 GPU 时,要把“框架能否运行”和“某个量化方法能否运行”分开核对。按 vLLM 的 NVIDIA GPU 安装页,NVIDIA GPU 需要 compute capability 7.5 或更高;预编译包包含 C++ 和 CUDA 12.9 二进制文件,B200、GB200 至少需要 CUDA 12.8,源码编译则要求 GCC/G++ 11.3 或更高版本。

本地机器还应记录卡长、槽位、供电和散热空间。租用 GPU 时,则记录实例实际提供的 GPU 型号、显存、driver 和系统镜像;这些信息比设备名称本身更直接。

安装与启动:按官方流程执行

按 vLLM Quickstart 的流程,前置环境是 Linux 和 Python 3.10 至 3.13;推荐用 uv 创建 Python 3.12 虚拟环境,--torch-backend=auto 会根据已安装的 CUDA driver 选择 PyTorch index;服务默认监听 http://localhost:8000,地址由 --host 和 --port 调整,当前一个服务进程承载一个模型,并可用 GET /v1/models 列出模型。vLLM 不原生支持 Windows;Windows 与 WSL 安装说明 给出的路径是在兼容的 Linux 发行版中使用 WSL。

按文档换行展示安装命令:

uv venv --python 3.12 --seed
source .venv/bin/activate
uv pip install vllm --torch-backend=auto

安装完成后启动示例模型:

vllm serve Qwen/Qwen2.5-1.5B-Instruct

参数选择:先做显存预算

先检查可用显存是否能覆盖权重、KV cache 和运行时开销,再调整上下文与并发。通用关系是:

可用显存 >= 权重占用 + KV cache + 运行时开销

vllm serve 命令参考 对关键参数给出了明确范围:

  • --gpu-memory-utilization 表示当前实例使用的 GPU 显存比例,范围为 0 到 1,默认值为 0.92;同一 GPU 上的两个实例可以分别设置为 0.5。
  • --kv-cache-memory-bytes 直接设置每张 GPU 的 KV cache 字节数;设置后,它不再使用 --gpu-memory-utilization。
  • --max-model-len 覆盖 prompt 与 output 的总长度;未设置时从模型配置推导,设为 auto 时选择当前 GPU 显存能够容纳的最大长度。
  • --max-num-seqs 限制单次迭代处理的 sequences 数量,--max-num-batched-tokens 限制单次迭代处理的 tokens 数量。

下面的命令只演示参数组合,不代表你的机器应采用这些值:

vllm serve Qwen/Qwen2.5-1.5B-Instruct \
  --gpu-memory-utilization 0.5 \
  --max-model-len auto

已知业务最长输入输出时,应设置明确的长度;需要调整并发时,再结合 sequences 和 batched tokens 上限评估,而不是只看模型名称。

量化格式:必须和硬件一起选

量化是用模型精度换取更小显存占用的取舍。vLLM 量化说明 将 LLM Compressor 作为起点,支持 FP8、INT8、INT4 等格式,但具体格式仍有硬件限制:

  • AWQ 不支持 Volta 和 AMD GPU;Turing、Ampere、Ada、Hopper、Intel GPU 与 x86 CPU 在文档表中列为支持。
  • GGUF 在文档表中支持 NVIDIA Volta 至 Hopper 以及 AMD GPU,不支持 Intel GPU 或 CPU。
  • bitsandbytes 在文档表中仅支持 NVIDIA Volta 至 Hopper。

因此,GPU 满足 vLLM 的基础要求,并不代表任意量化权重都能运行。该兼容表会随支持范围变化,部署前应重新查看当前文档和模型仓库说明。

接口验证:先确认服务能够响应

服务启动后,在同一台机器执行文档中的模型列表检查:

curl http://localhost:8000/v1/models

能够返回模型列表,说明基础接口已经响应;这不等于业务输出已经通过验收。随后应使用实际应用请求检查返回内容、错误处理和任务适配情况。

如果请求没有响应,先检查服务进程是否仍在运行,再核对 --host、--port 和监听地址。localhost 只指向当前机器,远程客户端不能把服务器本机的 localhost 当作访问地址。

常见出错点与处理顺序

  • 安装环境冲突:NVIDIA CUDA 安装补充说明 建议使用全新环境;如果 CUDA 版本不同或需要沿用已有 PyTorch,应转为源码构建。
  • nightly 安装失败:文档不支持用 pip 安装 nightly wheels,因为 pip 会合并 extra index 与默认索引并按版本选择;这条路径要求使用 uv。
  • 显存不足:先核对量化格式与硬件是否兼容,再检查 --max-model-len、KV cache 设置和显存比例,不要把 auto 当作固定容量保证。
  • 框架命令混用:vLLM、Ollama 的安装与运行参数不能凭名称相似直接替换,应分别按当前官方文档核对。

本文步骤依据正文所链接的官方文档整理,未运行或测量;使用前请按当前版本复核。许可证部分仅作技术选型提醒,不构成法律意见。

资料来源