在 5090 显卡上成功安装 TabbyAPI+Exllamav2 和 vLLM 并非易事,经过一番摸索,我总结了以下详细步骤,希望能帮助大家少走弯路。
重要提示: 用户提供的 PyTorch 安装使用了 cu128
,这并非标准 CUDA 版本。请根据你的系统实际 CUDA 版本(通常为 12.1 或 12.2)进行调整。
1. 安装 TabbyAPI+Exllamav2
步骤 1:克隆 TabbyAPI 仓库
git clone https://github.com/theroyallab/tabbyAPI
cd tabbyAPI
步骤 2:创建并激活 Python 虚拟环境
python3 -m venv venv
source venv/bin/activate # 如果使用 fish shell,则使用:source venv/bin/activate.fish
步骤 3:安装带有 CUDA 支持的 PyTorch
python -m pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu12.1 # 根据实际 CUDA 版本调整
步骤 4:安装 TabbyAPI 与 Exllamav2(禁用编译)
EXLLAMA_NOCOMPILE=1 pip install .
步骤 5:安装所需的系统依赖(如果需要)
sudo apt-get update
sudo apt-get install -y build-essential g++ gcc libstdc++-10-dev ninja-build
步骤 6:安装 Flash Attention(可选但推荐)
git clone https://github.com/Dao-AILab/flash-attention
cd flash-attention
python -m pip install wheel
python setup.py install
步骤 7:TabbyAPI 安装完成
请参考 TabbyAPI 的官方文档了解如何使用。
2. 安装 vLLM
步骤 1:克隆 vLLM 仓库
git clone https://github.com/vllm-project/vllm
cd vllm
步骤 2:创建并激活 Python 虚拟环境
python3.12 -m venv venv
source venv/bin/activate # 如果使用 fish shell,则使用:source venv/bin/activate.fish
步骤 3:安装带有 CUDA 支持的 PyTorch
python -m pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu12.1 # 根据实际 CUDA 版本调整
步骤 4:使用已存在的 PyTorch 安装(推荐)
python use_existing_torch.py
步骤 5:安装构建依赖
python -m pip install -r requirements/build.txt
步骤 6:安装通用依赖
python -m pip install -r requirements/common.txt
步骤 7:从源代码安装 vLLM(可编辑模式)
python -m pip install -e . --no-build-isolation
步骤 8:vLLM 安装完成
请参考 vLLM 的官方文档了解如何使用。
重要注意事项:
- CUDA 版本: 确保你使用的 CUDA 版本与 5090 显卡和 PyTorch 安装相匹配。请验证你的 NVIDIA 驱动程序支持的 CUDA 版本。
- Python 版本: vLLM 可能对 Python 版本有特定要求。用户指定了 Python 3.12。请查阅 vLLM 的官方文档以获取最新信息。
- 依赖项: 仔细检查 TabbyAPI 和 vLLM 的
requirements.txt
文件,确保安装了所有必要的依赖项。 - 虚拟环境: 使用虚拟环境对于隔离项目依赖项和避免冲突至关重要。
- Flash Attention: Flash Attention 可以显著提高性能,尤其是对于大型模型。如果可能,建议安装。
- 驱动版本: 确保您的 Nvidia 驱动程序是最新的,并且支持您的 5090 GPU。
- 调整 CUDA 版本: 将
cu12.1
替换为您已安装的正确 CUDA 版本。