安装#

vLLM 是一个 Python 库,它还包含预编译的 C++ 和 CUDA (12.1) 二进制文件。

要求#

  • 操作系统:Linux

  • Python: 3.8 – 3.12

  • GPU: 计算能力 7.0 或更高(例如,V100、T4、RTX20xx、A100、L4、H100 等)

使用 pip 安装#

你可以使用 pip 安装 vLLM:

$ # (Recommended) Create a new conda environment.
$ conda create -n myenv python=3.10 -y
$ conda activate myenv

$ # Install vLLM with CUDA 12.1.
$ pip install vllm

备注

虽然我们建议使用 conda 来创建和管理 Python 环境,但强烈建议使用 pip 来安装 vLLM。这是因为 pip 可以使用单独的库包(如 NCCL)安装 torch,而 conda 使用静态链接的 NCCL 安装 torch。这会导致 vLLM 尝试使用 NCCL 时出现问题。有关更多详细信息,请参阅 此问题

备注

截至目前,vLLM 的二进制文件默认使用 CUDA 12.1 和公共 PyTorch 发布版本编译。我们还提供使用 CUDA 11.8 和公共 PyTorch 发布版本编译的 vLLM 二进制文件:

$ # Install vLLM with CUDA 11.8.
$ export VLLM_VERSION=0.6.1.post1
$ export PYTHON_VERSION=310
$ pip install https://github.com/vllm-project/vllm/releases/download/v${VLLM_VERSION}/vllm-${VLLM_VERSION}+cu118-cp${PYTHON_VERSION}-cp${PYTHON_VERSION}-manylinux1_x86_64.whl --extra-index-url https://download.pytorch.org/whl/cu118

为了提高性能,vLLM 必须编译许多 CUDA 内核。不幸的是,编译会引入与其他 CUDA 版本和 PyTorch 版本的二进制不兼容性,即使对于具有不同构建配置的相同 PyTorch 版本也是如此。

因此,建议使用**全新的**conda环境安装vLLM。如果你使用的是不同版本的CUDA,或者想要使用现有的PyTorch安装,你需要从源代码构建vLLM。请参阅以下说明。

备注

vLLM还发布了部分轮子(Python 3.10、3.11,CUDA 12),用于自v0.5.3版本以来的每次提交。你可以使用以下命令下载它们:

$ export VLLM_VERSION=0.6.1.post1 # vLLM's main branch version is currently set to latest released tag
$ pip install https://vllm-wheels.s3.us-west-2.amazonaws.com/nightly/vllm-${VLLM_VERSION}-cp38-abi3-manylinux1_x86_64.whl
$ # You can also access a specific commit
$ # export VLLM_COMMIT=...
$ # pip install https://vllm-wheels.s3.us-west-2.amazonaws.com/${VLLM_COMMIT}/vllm-${VLLM_VERSION}-cp38-abi3-manylinux1_x86_64.whl

从源代码构建#

你也可以从源代码构建并安装vLLM:

$ git clone https://github.com/vllm-project/vllm.git
$ cd vllm
$ pip install -e .  # This may take 5-10 minutes.

备注

vLLM只能在Linux上完全运行,但你仍然可以在其他系统(例如macOS)上构建它。此构建仅用于开发目的,允许导入并提供更便捷的开发环境。二进制文件不会被编译,并且不会在非Linux系统上运行。你可以使用以下命令创建此类构建:

$ export VLLM_TARGET_DEVICE=empty
$ pip install -e .

小技巧

从源代码构建需要大量的编译。如果你多次从源代码构建,缓存编译结果将很有益。例如,你可以通过``conda install ccache``或``apt install ccache``安装`ccache <ccache/ccache>`_。只要``which ccache``命令可以找到``ccache``二进制文件,构建系统就会自动使用它。在第一次构建之后,后续构建将快得多。

小技巧

为了避免你的系统过载,你可以通过环境变量``MAX_JOBS``限制同时运行的编译作业数量。例如:

$ export MAX_JOBS=6
$ pip install -e .

小技巧

如果你在构建vLLM时遇到问题,我们建议使用NVIDIA PyTorch Docker镜像。

$ # Use `--ipc=host` to make sure the shared memory is large enough.
$ docker run --gpus all -it --rm --ipc=host nvcr.io/nvidia/pytorch:23.10-py3

如果你不想使用docker,建议完整安装CUDA Toolkit。你可以从`官方网站 <https://developer.nvidia.com/cuda-toolkit-archive>`_下载并安装它。安装完成后,将环境变量``CUDA_HOME``设置为CUDA Toolkit的安装路径,并确保``nvcc``编译器在你的``PATH``中,例如:

$ export CUDA_HOME=/usr/local/cuda
$ export PATH="${CUDA_HOME}/bin:$PATH"

以下是一个健全性检查,用于验证CUDA Toolkit是否已正确安装:

$ nvcc --version # verify that nvcc is in your PATH
$ ${CUDA_HOME}/bin/nvcc --version # verify that nvcc is in your CUDA_HOME