参考:【大模型·八】VLLM 适配 RTX5090显卡-2025.05.14_vllm 5090-CSDN博客
https://github.com/vllm-project/vllm/issues/18814

关于RTX50系列显卡(5080/5090/5090D)CUDA12.8版本部署vllm服务相关步骤整理_5090 vllm-CSDN博客

1.背景

50系显卡的Blackwell框架尚未得到VLLM官方预编译版本的原生支持,需要搭配cuda12.8+pytorch2.7.1手动编译。由于pytorch2.7.1默认安装的nccl为2.6.2并未支持cuda12.8,故多卡通信失败、无法多卡并联,解决方案是编译完VLLM后手动升级nccl至最新版本。

2.环境配置

# 查看系统版本: “Ubuntu 22.04.1 LTS”
>> cat /etc/os-release 

nvidia-smi # nvidia显卡驱动版本: 570.144

nvcc --version # cuda版本:12.8

g++ --version # 版本:11.4.0
gcc --version # 版本:11.4.0;“conda list |grep gcc” 显示 libgcc-ng=11.2.0
cmake --version # 版本:4.0.2;“conda list |grep cmake” 显示 4.0.2
ninja --version # 1.11.1 

3.安装过程

# 第一步:安装cuda12.8,注意最后不要勾选“nvidia-fs”安装
>> ./cuda_12.8.0_570.86.10_linux.run --override

# 第二步:安装conda,并设置环境变量
>> ./Miniconda3-py311_25.3.1-1-Linux-x86_64.sh -b -p ~/miniconda3  # 指定conda安装目录
>> sudo nano ~/.bashrc  # 追加 export PATH=/root/autodl-tmp/miniconda3/bin:$PATH
>> source ~/.bashrc

# 第三步:创建conda环境,下载最新版pytorch
>> conda create --name vllm python=3.11 -y
>> conda activate vllm
>> pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128 # 下载最新稳定版pytorch(目前是2.7.1),可能需要魔法

# 第四步:下载vllm源文件
>> git clone https://github.com/vllm-project/vllm.git  # 在主目录下载vllm源文件,可能需要魔法
>> cd vllm
>> git fetch --all

# 第五步:编译vllm
>> python use_existing_torch.py  # 使用已安装的torch,即不重新安装torch
>> pip install -r requirements/build.txt
>> pip install -r requirements/common.txt
>> pip install --upgrade pip setuptools setuptools-scm  # 旧版本的 setuptools 可能导致 editable 模式兼容性问题

# 默认MAX_JOBS=128,自己系统没那么多CPU也会安装不成功,MAX_JOBS=32时约使用180G内存
# 装成功后,vllm 项目不能删除,否则报“ModuleNotFoundError: No module named 'vllm'”
>> MAX_JOBS=8 pip install -e . --no-build-isolation -v # 开始编译

# 第六步:升级nccl,激活多卡并联
>> pip install -U nvidia-nccl-cu12 # 先编译vllm后再升级nccl,升级完nccl不需要重新编译

# 第七步:启动大模型
# VLLM_TEST_FORCE_FP8_MARLIN=1;FP8精度的模型可能需要开启该参数
# VLLM_FLASH_ATTN_VERSION=2;设置加速引擎FlashAttention为第2版本,vllm v0版本默认是第二版本,vllm v1版本默认是第三版本,第三版本好像暂不支持50系显卡的推理
# 这里使用魔搭社区的千问3 32B为例,若未安装则先使用下行代码安装
# pip install modelscope # (安装魔搭社区)
>> VLLM_FLASH_ATTN_VERSION=2 CUDA_VISIBLE_DEVICES=0,1,2,3 VLLM_USE_MODELSCOPE=true vllm serve Qwen/Qwen3-32B --enable-reasoning --reasoning-parser deepseek_r1 --port 8000 --max-model-len 32768 --gpu-memory-utilization 0.85 --max-num-seqs=32 --tensor-parallel-size 4 # 注意--gpu-memory-utilization 0.85需要调试,其值再加约0.1才是真实的显存占用比例

Logo

免费领 200 小时云算力,进群参与显卡、AI PC 幸运抽奖

更多推荐