环境准备:硬件要求与软件配置
说实话,部署大模型最怕什么?不是模型太大,而是环境没配好就开始跑。我见过太多人卡在第一步——GPU驱动不对,CUDA版本不匹配,或者Python环境乱成一锅粥。今天咱们就把这事一次性理清楚。
核心原则:环境准备就像盖楼打地基,地基不稳,后面全是坑。我建议你花30分钟认真搞定这一步,能省下后面3小时的调试时间。
硬件要求:你的GPU够用吗?
先说说显存。vLLM对显存的要求,说白了取决于你跑多大的模型。我整理了一个表格,你对照着看:
| 模型规模 | 推荐显存 | 最低显存 | 实际案例 |
|---|---|---|---|
| 7B 参数 | 16GB | 12GB | Qwen2-7B、Llama3-8B |
| 13B 参数 | 24GB | 16GB | Llama2-13B、Baichuan2-13B |
| 70B 参数 | 80GB | 48GB | Llama3-70B、Qwen2-72B |
| 130B+ 参数 | 多卡80GB | 单卡80GB×2 | Mixtral 8x22B、Llama3-405B |
嗯,这里要注意:表格里的数字是推理时的显存需求。如果你还要做训练或微调,显存需求直接翻倍。我在项目中遇到过有人拿RTX 3060(12GB)跑7B模型,结果OOM了——后来发现是没开vLLM的显存优化,开了之后勉强能跑。
避坑指南:我曾经以为显存够用就行,结果忽略了CUDA版本。vLLM要求CUDA 11.8以上,最好是12.1。如果你还在用CUDA 11.3,赶紧升级。不然安装vLLM时会报一堆莫名其妙的错。
Python虚拟环境搭建
我个人习惯用conda管理环境。为什么?因为干净。你想想看,如果直接在系统Python里装vLLM,万一和别的项目冲突了,那叫一个头疼。
具体步骤很简单:
# 创建虚拟环境,Python版本建议3.10或3.11
conda create -n vllm_env python=3.11
# 激活环境
conda activate vllm_env
# 确认Python版本
python --version
为什么推荐Python 3.11?因为vLLM对3.11的支持最稳定。我试过3.12,有些依赖包还没跟上,容易报错。说白了,选3.11就是选省心。
小技巧:如果你用pipenv或poetry,也可以。但conda在管理CUDA相关依赖时更顺手。我个人在项目中一直用conda,没出过环境问题。
安装vLLM:一行命令搞定
环境激活后,安装vLLM就一行命令:
pip install vllm
等等,别急着敲回车。先确认你的pip版本够新:
pip install --upgrade pip
然后安装。这个过程大概需要5-10分钟,取决于你的网速。vLLM会下载一些依赖,比如torch、transformers、xformers等。如果你在国内,建议换清华源:
pip install vllm -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完成后,验证一下:
python -c "import vllm; print(vllm.__version__)"
如果输出版本号,比如 0.6.3,那就说明安装成功了。如果报错,别慌。我遇到过最常见的问题是:
- CUDA版本不匹配:检查
nvcc --version,确保是11.8或12.1 - torch版本冲突:vLLM会自动安装torch,但如果你之前装过别的版本,可能会冲突。建议在虚拟环境里重新装
- 磁盘空间不足:vLLM编译时会占用临时空间,确保有5GB以上空闲
验证安装的完整流程:
# 1. 检查CUDA
nvcc --version
# 2. 检查GPU
nvidia-smi
# 3. 导入vLLM
python -c "import vllm; print('vLLM版本:', vllm.__version__)"
# 4. 跑一个简单测试(可选)
python -m vllm.entrypoints.openai.api_server --model facebook/opt-125m
如果第4步能启动服务,说明环境完全就绪。OPT-125M是个很小的模型,只有125M参数,用来测试最合适。
本章知识体系
我把环境准备的核心逻辑画成了图,你一看就明白:
我的经验:环境准备这件事,急不得。我见过有人跳过验证步骤,直接跑大模型,结果跑了一小时才发现显存不够。嗯,那感觉就像你做好了饭才发现没煮米饭——白忙活。
好了,环境准备就这些。你按照上面的步骤走一遍,基本不会出问题。如果卡住了,检查一下是不是CUDA版本不对,或者Python版本没选对。这两点是最常见的坑。