cu118 安装vllm 极简教程 & 踩坑笔记

        近期安装cuda 11.8对应的vllm,折腾了好几天,踩坑不少,终于成功了,特此记录分享,希望大家可以顺利使用vllm。文章前大半为踩坑笔记,不需要的同学可直达文章底部看安装部分。

本机环境

        系统: Linux version 3.10.0-1160.114.2.el7.x86_64

        GPU: RTX A4000, CUDA Version: 12.0

        系统CUDA:11.3

踩坑

坑位说明:

        1 python 版本

        2 cuda 版本

        3 torch 版本

        4 vllm-nccl

        5 pip 命令

python 版本问题

        vllm 官方说  3.8 <= python <= 3.12, 我试过 3.8,3.9 和 3.10,只有3.10成功了,不排除3.8 和3.9 也能成功,容易踩坑不推荐。遇到的典型错误如下:

      Cargo, the Rust package manager, is not installed or is not on PATH.
      This package requires Rust and Cargo to compile extensions. Install it through
      the system's package manager or via https://rustup.rs/

        查了一些资料,有人说将他的32-bit 版本python 换成64-bit版本就解决,我是将py3.8换成py3.10.0解决的,统一称为python版本问题吧。

cuda 版本问题

        vllm 官方主要支持 cuda 11.8 和 cuda 12.1两个版本,分别代表代表两个版本所能支持的最高cuda。这个cuda 版本不能超过自己GPU对应的cuda version,如我的gpu 12.0,已安装系统cuda 11.3,理论上我可以升级至cuda 12.0 再使用vllm - cuda-12.1,未尝试。目前已经证实,11.3 的系统cuda 可以使用vllm -cu118。

torch 版本问题

        很多教程都会强调vllm 对 python 和 cuda的要求,但是不强调torch 版本,这是不行的,因为: 1)具体的vllm 包是在明确的torch 版本下编译的 ;2)torch 也受cuda 制约,太低或太高的torch 不一定能使用cuda 11.8。经过我的测试,大致对应关系如下(不完全准确哈):

        目前torch 2.0.x~2.3.x 支持 cuda 11.8,对应的vllm 0.4.x。

        vllm >= 0.5.x,torch>=2.3.x

        vllm >=0.6,torch>=2.5.x

vllm-nccl 问题

        很多人安装过程中会遇到 vllm-nccl 包卡主的情况。

        eg:https://files.pythonhosted.org/packages/04/36/0c44b91575274bfe401e5605551d8644281b2c95e6572a2697dc2bee5bd3/vllm_nccl_cu11-2.18.1.0.4.0.tar.gz

一开始我想自己下载这个包安装,去pypi 官网下载了这个包,主要内容如下:

运行 python setup.py build,卡主了。这里会在github 下载一个包:cu11-libnccl.so.2.18.1。

这个包也会卡,我直接上梯子进github 手动下载,200多M。毕竟下载任务卡主了,有了这个包也不知道怎么装,后续瞎折腾一通还是不行,放弃。一开始猜测是从github 下载导致卡,可是加梯子也没用,我单独可以在github 上下载cu11-libnccl.so.2.18.1,说明网络不是问题,可能是安装程序有问题。

还好有人把这个包做成了 whl 文件,我们可以直接安装。此外,也可以在这里找到cu12的包。

链接:piwheels - vllm-nccl-cu11

           piwheels - vllm-nccl-cu12

有些人说通过网络设置可以解决卡主问题,我试了,在我这没用。直接装whl 多香。

[Bug]: vllm运行卡住 · Issue #7576 · vllm-project/vllmhttps://github.com/vllm-project/vllm/issues/7576

这里也提供了一个思路:如果安装遇到某个包卡主了,尽管这个包可能不是第一个或者前几个包,我们也可以提前安装这个包,反正它是依赖的一部分,先装了,就不会成为阻碍。

pip 命令问题

        pip 有个特点,自动给你安装能用的最新的包。可是最新的包往往会有隐患,毕竟它依赖的包以及依赖它的包未必也够新。所以安装时,如果有明确目标,可以指定版本。

        1 默认安装的vllm 是cuda 12.1编译的,不一定能用

        2 默认安装的torch 也是依赖cuda 12 的,不一定能用

        3 安装vllm 会依赖安装torch,安装torch 会依赖安装cuda,于本文而言,我们需安装名字中带有cu118 的vllm 和 torch。

安装

1 创建新conda 环境 ,python 3.10.13

eg: conda create -n vllm_310 python=3.10.13

2 安装torch cu118 版,可以在阿里云的镜像网站加载,速度给力

链接:

        pytorch-wheels-cu118安装包下载_开源镜像站-阿里云https://mirrors.aliyun.com/pytorch-wheels/cu118/

版本:torch-2.2.1+cu118-cp310-cp310-linux_x86_64.whlhttps://mirrors.aliyun.com/pytorch-wheels/cu118/torch-2.2.1+cu118-cp310-cp310-linux_x86_64.whl?spm=a2c6h.25603864.0.0.442f7bd7fKRbaL

将 xx.whl 上传至服务器,通过 pip 安装。 此外,需单独安装一个numpy,指定版本:1.26.0。如果默认安装,numpy是2.x.x,版本过高,会出问题。

3 安装vllm_nccl,这个容易卡,直接下载 xx.whl

连接:piwheels - vllm-nccl-cu11https://www.piwheels.org/project/vllm-nccl-cu11/

4 安装vllm,直接下载 xx.whl

连接:vllm-0.4.1+cu118-cp310-cp310-manylinux1_x86_64.whlhttps://github.com/vllm-project/vllm/releases/download/v0.4.1/vllm-0.4.1+cu118-cp310-cp310-manylinux1_x86_64.whl

torch=2.2.1 --> vllm=0.4.1

torch=2.3.0 --> vllm=0.4.2

5 安装 Xformers,直接下载 xx.whl
xformers-0.0.25+cu118-cp310-cp310-manylinux2014_x86_64.whlhttps://mirrors.aliyun.com/pytorch-wheels/cu118/xformers-0.0.25+cu118-cp310-cp310-manylinux2014_x86_64.whl?spm=a2c6h.25603864.0.0.442f7bd7fKRbaL

6 调整环境

        1)将transformers 版本调整为 4.45.0,版本过高容易报错,主要这个vllm 有点老

        2)设置 nccl.so 的环境变量,运行模型时会默认使用vllm_nccl_cu11,这个lib 不好用。安装torch 时已经安装了nvidia-nccl-cu11.

eg:

export VLLM_NCCL_SO_PATH=/root/miniconda3/envs/llm_3-10-13/lib/python3.10/site-packages/nvidia/nccl/lib/libnccl.so.2
 

&lt;think&gt;好的,用户想通过conda安装vLLM库。首先,我需要确认vLLM是否在conda的默认仓库中存在。检查之后,发现vLLM可能不在默认的conda通道里,这时候需要找其他安装方法。 通常,conda安装包如果不在默认源,可以通过conda-forge或者其他第三方通道。但vLLM可能主要推荐用pip安装,因为很多Python库尤其是较新的项目,可能更倾向于使用PyPI分发。这时候可能需要建议用户先创建一个conda环境,然后在环境中使用pip安装vLLM,这样可以避免系统Python环境被污染。 另外,需要确保用户已经正确安装conda,可能还需要引用之前关于安装Miniconda的文章[^1]和[^2]。此外,安装vLLM可能需要一些系统依赖项,比如CUDA,因为vLLM是用于大规模语言模型推理的,依赖GPU加速。用户需要确认他们的系统是否有NVIDIA显卡,并且安装了合适的驱动和CUDA工具包。 在安装步骤中,可能需要先创建并激活conda环境,然后使用pip安装vLLM。同时,安装完成后,建议用户验证安装是否成功,比如导入库并检查版本。如果遇到问题,可能需要安装特定版本的Python或依赖项,比如pytorch的cuda版本。 最后,用户可能还会遇到常见问题,比如依赖冲突或兼容性问题,这时候可以建议他们查看官方文档或社区支持。同时,生成相关问题可以帮助用户进一步了解相关主题,比如如何管理conda环境,或者如何安装其他深度学习库。&lt;/think&gt;### 通过conda安装vLLM库的步骤 1. **确认conda环境已安装** 若未安装conda,可参考以下步骤: ```bash # 下载Miniconda安装脚本(Linux示例) wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh # 运行安装脚本 bash Miniconda3-latest-Linux-x86_64.sh ``` 安装完成后重启终端,验证是否成功: ```bash conda --version ``` 2. **创建独立的conda环境(推荐)** 为避免依赖冲突,建议新建环境: ```bash conda create -n vllm_env python=3.9 # vLLM需Python 3.8或更高版本 conda activate vllm_env ``` 3. **通过pip安装vLLM** vLLM目前未直接提供conda包,需使用`pip`安装: ```bash pip install vllm ``` 若需GPU支持(需NVIDIA显卡),确保已安装CUDA 11.8及以上版本[^3]。 4. **验证安装** 运行Python并测试导入: ```python from vllm import LLM print(LLM.__version__) # 应输出版本号如0.3.3 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值