第二章:环境准备与依赖安装
好,咱们正式开始动手了。这一章说白了就是搭地基——CUDA、PyTorch、vLLM,一个都不能少。我见过太多人在这步翻车,后面怎么调都救不回来。所以咱们慢慢来,把每一步踩实了。
2.1 CUDA与NVIDIA驱动版本匹配
先讲个我自己的教训。有一次我在一台新服务器上装vLLM,随手装了最新的CUDA 12.4,结果跑起来各种报错。查了半天,发现是驱动版本太老,根本不支持这个CUDA版本。嗯,从那以后我学乖了——先看驱动,再选CUDA。
怎么查驱动版本?很简单:
nvidia-smi
看右上角那行「CUDA Version」,比如显示12.2,那你就只能装CUDA 12.2或更低的版本。别想着越级,驱动不认的。
我个人习惯用这张表来对照:
| NVIDIA驱动版本 | 最高支持CUDA版本 | 推荐vLLM版本 |
|---|---|---|
| ≥ 525.60.13 | 12.0 | ≥ 0.3.0 |
| ≥ 535.129.03 | 12.2 | ≥ 0.4.0 |
| ≥ 545.23.08 | 12.4 | ≥ 0.5.0 |
2.2 PyTorch安装
PyTorch版本选错了,后面全是坑。我建议你直接用官方推荐的命令,但要注意CUDA版本要对上。
举个例子,如果你的CUDA是12.1:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
如果是CUDA 11.8:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
import torch
print(torch.cuda.is_available()) # 应该返回True
print(torch.cuda.device_count()) # 看看有几张卡
如果返回False,别往下走了,先排查CUDA或驱动问题。
2.3 vLLM源码编译与pip安装
这里有两个选择:pip直接装,或者源码编译。我个人的建议是——能用pip就别折腾源码。除非你要改vLLM的底层代码,或者想尝鲜最新特性。
pip安装(推荐):
pip install vllm
就这么简单。但要注意,它会自动检测你的CUDA版本和PyTorch版本,如果不匹配会报错。我曾经遇到过pip装完了一跑就崩,原因是PyTorch是CPU版本的。嗯,这种低级错误我犯过一次就记住了。
源码编译(进阶):
如果你非要自己编译,步骤也不复杂:
git clone https://github.com/vllm-project/vllm.git
cd vllm
pip install -e .
编译时间取决于你的机器。我那块老旧的V100,编译一次要20分钟。所以如果你只是用,别折腾自己。
gcc --version
2.4 验证安装
装完了别急着跑大模型。先跑个简单的验证脚本,确保所有组件都正常。
from vllm import LLM, SamplingParams
# 初始化模型(用个小模型测试)
llm = LLM(model="facebook/opt-125m")
# 生成测试
prompts = ["Hello, my name is"]
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)
outputs = llm.generate(prompts, sampling_params)
# 打印结果
for output in outputs:
print(output.outputs[0].text)
如果能看到输出,恭喜你,环境搭好了。如果报错,别慌,八成是CUDA版本或PyTorch版本的问题。回头检查一下前面的步骤。
2.5 本章知识体系
下面这张图帮你理清整个环境准备的流程和依赖关系:
这张图把整个依赖链串起来了。你想想看,从GPU硬件到驱动,再到CUDA、PyTorch,最后才是vLLM。每一层都依赖下面那层,哪一层出问题都跑不起来。
好了,环境准备就到这儿。记住一句话:基础不牢,地动山摇。这一步花点时间,后面能省你十倍的时间。