安装#
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