开源模型本地部署选型指南
先核对模型许可证、任务格式、模型制品、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 的安装与运行参数不能凭名称相似直接替换,应分别按当前官方文档核对。
本文步骤依据正文所链接的官方文档整理,未运行或测量;使用前请按当前版本复核。许可证部分仅作技术选型提醒,不构成法律意见。