第二章:环境准备与依赖安装

好,咱们正式开始动手了。这一章说白了就是搭地基——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
⚠️ 注意: 别用nvidia-smi显示的「Driver Version」去猜。那个是驱动版本号,不是CUDA版本。我见过有人把535当成CUDA版本,折腾了一下午。

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
💡 我的经验: 装完后一定要验证一下。跑个简单的Python脚本:
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版本≥9.0。我遇到过GCC 7.5编译到一半报错,换了GCC 9.3就过了。用这个命令查:
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版本的问题。回头检查一下前面的步骤。

⚠️ 避坑指南: 我曾经在验证时用了llama-7b,结果显存不够直接OOM。所以建议先用OPT-125M这种小模型测试,确认环境没问题再上大模型。

2.5 本章知识体系

下面这张图帮你理清整个环境准备的流程和依赖关系:

环境准备与依赖安装流程 NVIDIA GPU NVIDIA驱动 CUDA Toolkit PyTorch vLLM 关键检查点 1. nvidia-smi 确认驱动 2. CUDA版本 ≤ 驱动支持 3. PyTorch CUDA版本匹配 4. torch.cuda.is_available() 5. vLLM安装成功 6. 小模型验证通过 常见问题 • 驱动版本太旧 • CUDA与PyTorch不匹配 • GCC版本过低 • 显存不足 • pip源速度慢

这张图把整个依赖链串起来了。你想想看,从GPU硬件到驱动,再到CUDA、PyTorch,最后才是vLLM。每一层都依赖下面那层,哪一层出问题都跑不起来。

💡 我的习惯: 每次装完环境,我都会把nvidia-smi、python -c "import torch; print(torch.cuda.is_available())"、以及vLLM的验证结果截图保存。这样以后出问题了,能快速定位是哪个环节出了问题。

好了,环境准备就到这儿。记住一句话:基础不牢,地动山摇。这一步花点时间,后面能省你十倍的时间。

专注资料整理