在 Ubuntu 上安装 vLLM:从 GPU 到 CPU 的三种方案

关键词:vLLM、Ubuntu、CUDA、Docker、LLM 推理

vLLM 是目前社区里最快、最省显存的大模型推理框架之一。本文把官方文档、踩坑经验整理成一篇可落地的技术博客,给出 三种安装路径——

  • 零配置的 pip 一行命令
  • 开箱即用的 Docker 镜像
  • 极端场景的 CPU/源码构建

无论你手里是 A100、4090 还是纯 CPU 服务器,总有一款适合你。


1. 准备工作(所有方案通用)

组件最低要求检查命令
操作系统Ubuntu 20.04/22.04/24.04 x86_64lsb_release -a
NVIDIA 驱动≥ 515nvidia-smi
CUDA≥ 12.1(方案 1/2)nvcc --version
Python3.9–3.12python3 --version

⚠️ CPU 方案无需 CUDA


2. 方案一:pip 一行命令(最简)

适合:有 GPU、想 5 分钟跑起来。

2.1 安装驱动 & CUDA(如已装可跳过)

sudoapt update sudoaptinstall -y nvidia-driver-550 cuda-toolkit-12-4 sudoreboot# 重启生效

2.2 建立隔离环境

官方推荐用 uv(比 conda 更快):

curl -Ls https://astral.sh/uv/install.sh |bash uv venv vllm-env --python 3.12 --seed source vllm-env/bin/activate 

(老用户可以继续 conda create -n vllm python=3.12。)

2.3 安装 vLLM

pip install vllm -i https://pypi.tuna.tsinghua.edu.cn/simple # 国内镜像

2.4 验证

vllm --help # 出现子命令列表即成功

3. 方案二:Docker 一行命令(零 Python 依赖)

适合:不想污染宿主机 Python、CI/CD、K8s 场景。

3.1 安装 nvidia-docker

sudoaptinstall -y docker.io distribution=$(. /etc/os-release;echo $ID$VERSION_ID)curl -fsSL https://nvidia.github.io/nvidia-docker/gpgkey |sudo gpg --dearmor -o /usr/share/keyrings/nvidia-docker-keyring.gpg curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list |\sed's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-docker-keyring.gpg] https://#'|\sudotee /etc/apt/sources.list.d/nvidia-docker.list sudoapt update &&sudoaptinstall -y nvidia-docker2 sudo systemctl restart docker 

3.2 启动 vLLM 容器

Qwen/Qwen2.5-1.5B-Instruct 为例,映射 8000 端口并挂载 HuggingFace 缓存:

sudo docker run -d --name vllm \ --runtime nvidia --gpus all \ -p 8000:8000 --ipc=host \ -v ~/.cache/huggingface:/root/.cache/huggingface \ vllm/vllm-openai:latest \ --model Qwen/Qwen2.5-1.5B-Instruct 

打开浏览器访问 http://localhost:8000/docs 即可看到与 OpenAI 100% 兼容的 REST 接口。


4. 方案三:CPU / 源码编译(无 GPU 也能跑)

适合:只有 CPU、需要改源码、研究量化算子。

4.1 系统依赖

sudoapt update sudoaptinstall -y gcc-12 g++-12 libnuma-dev python3-dev cmake ninja-build sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 10\ --slave /usr/bin/g++ g++ /usr/bin/g++-12 

4.2 克隆 & 编译

git clone https://github.com/vllm-project/vllm.git cd vllm pip install --upgrade pip wheel packaging ninja numpy pip install -v -r requirements/cpu.txt \ --extra-index-url https://download.pytorch.org/whl/cpu VLLM_TARGET_DEVICE=cpu python setup.py install

4.3 验证

VLLM_TARGET_DEVICE=cpu vllm --help 

5. 进阶用法示例

5.1 本地模型离线推理

vllm serve /data/models/DeepSeek-R1-Distill-Qwen-7B \ --host 0.0.0.0 --port 8000\ --tensor-parallel-size 2\ --max-model-len 8192

5.2 国内镜像/ModelScope

exportVLLM_USE_MODELSCOPE=True # 用 ModelScope 自动下载

5.3 常用参数速查

参数说明
--tensor-parallel-size张量并行 GPU 数
--max-model-len最大序列长度(显存杀手)
--quantization awq4-bit AWQ 量化
--gpu-memory-utilization 0.9显存占用比例,默认 0.9

6. 故障排查 Top3

现象原因解决
ImportError: libcudart.so.12 找不到CUDA 版本不匹配检查 nvidia-smi 与 pip 安装的 CUDA wheel 是否一致
容器启动报 failed to initialize NVMLnvidia-docker 没装好重新跑 3.1 节
CPU 方案内存爆炸未设置 --max-model-len显式指定一个较小值,如 2048

7. 小结

方案耗时适用场景
pip 一行命令5 min有 GPU,快速体验
Docker3 min生产、CI、K8s
CPU 源码20 min无 GPU、二次开发

把这篇博客收藏起来,下次无论是新机器还是旧服务器,都能 5 分钟让大模型跑起来!


作者:@yourname
转载请注明出处,欢迎留言交流。

Read more

Spatial Joy 2025 全球 AR&AI 赛事:开发者要的资源、玩法、避坑攻略都在这

Spatial Joy 2025 全球 AR&AI 赛事:开发者要的资源、玩法、避坑攻略都在这

Spatial Joy 2025 全球 AR&AI 赛事:开发者要的资源、玩法、避坑攻略都在这 * 引言: * 正文: * 一、赛事核心价值:资源、履历、落地全具备 * 1.1 硬核资源支持 * 1.2 行业背书与机遇 * 1.3 低门槛试错 * 二、赛道核心玩法:AI 和 AR 创作方向解析 * 2.1 AI 赛道:拼的是 "空间认知协作" 能力 * 2.1.1 应用示例 * 2.2 AR 赛道:

By Ne0inhk
openclaw 对接完飞书群机器人配置踩坑记:消息不回、Gateway 断开问题排查

openclaw 对接完飞书群机器人配置踩坑记:消息不回、Gateway 断开问题排查

前言 用 OpenClaw 配飞书机器人,踩了两个坑:群消息不回、Gateway 总是断开。排查了好一阵子,总算搞定了,记录一下希望能帮到遇到同样问题的朋友。 发现问题 飞书消息不回复 在飞书群里 @ 了机器人,完全没反应。一开始以为是网络不好或者机器人没上线,但状态显示明明是连接着的,这就奇怪了。 Gateway 频繁断开 每次改完配置跑 openclaw gateway restart,或者根本什么都没干,Gateway 说断就断。再想启动就报错,必须跑一遍 openclaw doctor --fix 重新安装才能用。太影响使用了。 查看原因 飞书机器人 ID 搞错了 翻日志看到这么一句: receive events or callbacks through persistent connection only available in

By Ne0inhk
Pix4Dmapper处理大疆无人机影像数据教程

Pix4Dmapper处理大疆无人机影像数据教程

初次接触无人机数据处理时,我完全找不到清晰的流程指引,甚至对大疆采集的数据如何使用都毫无头绪。查阅了不少资料,发现信息也相当有限。为避免日后遗忘,特此记录下摸索出的操作流程,权当备忘。 1. 想要使用Pix4D软件的朋友请注意:这款软件需要付费购买。我查阅了网上资源,发现大多数人都没有提供免费版本。我已经购买了“正版”软件,有需要的朋友可以私信我,我会分享下载链接给你。 2. 结束,到这里 下面是软件处理影像过程 (1)、首先打开Pix4DTool,点击start或者Auto start以后,立马会将软件的网进行断开,这样就可以进行使用pix4d软件了。 (2)、此时打开软件的界面如下所示 (3)、拷贝数据到电脑然后打开软件新建项目输入项目名称并选好路径点击下一步 (4)、添加无人机照片路径或选择添加照片完成并点击下一步 (5)、因为精灵RTK照片自带POS信息这里就直接默认坐标系,相机参数是写入在照片里可以自动读取,如果不确定就用记事本打开照片找到XMP把相机信息参数输入点击下一步 (6)、输出坐标系选择自己需要的坐标系,和像控点一致的

By Ne0inhk