Bitsandbytes 文件
安裝指南
並獲得增強的文件體驗
開始使用
安裝指南
歡迎閱讀 bitsandbytes 庫的安裝指南!本文件提供了在各種平臺和硬體配置上安裝 bitsandbytes 的分步說明。該庫主要支援基於 CUDA 的 GPU,但團隊正在積極致力於支援其他後端,如 CPU、AMD ROCm、Intel XPU 和 Gaudi HPU。
目錄
CUDA
bitsandbytes 目前支援具有計算能力 5.0+ 的 NVIDIA GPU。該庫可以在 Windows 上使用最低為 11.6 版本的 CUDA Toolkit 構建,在 Linux 上為 11.4 版本。
| 特性 | 所需計算能力 (CC) | 硬體要求示例 |
|---|---|---|
| LLM.int8() | 7.5+ | 圖靈架構 (RTX 20 系列, T4) 或更新的 GPU |
| 8位最佳化器/量化 | 5.0+ | 麥克斯韋架構 (GTX 900 系列, TITAN X, M40) 或更新的 GPU |
| NF4/FP4 量化 | 5.0+ | 麥克斯韋架構 (GTX 900 系列, TITAN X, M40) 或更新的 GPU |
對麥克斯韋架構 GPU 的支援已棄用,並將在未來版本中移除。為獲得最佳效果,建議使用圖靈架構或更新的裝置。
透過 PyPI 安裝
這是最直接且推薦的安裝選項。
當前分發的 bitsandbytes 包是使用以下配置構建的
| 作業系統 | CUDA Toolkit | 主機編譯器 | 目標 |
|---|---|---|---|
| Linux x86-64 | 11.8 - 12.6 | GCC 11.2 | sm50, sm60, sm75, sm80, sm86, sm89, sm90 |
| Linux x86-64 | 12.8 | GCC 11.2 | sm75, sm80, sm86, sm89, sm90, sm100, sm120 |
| Linux aarch64 | 11.8 - 12.6 | GCC 11.2 | sm75, sm80, sm90 |
| Linux aarch64 | 12.8 | GCC 11.2 | sm75, sm80, sm90, sm100 |
| Windows x86-64 | 11.8 - 12.6 | MSVC 19.43+ (VS2022) | sm50, sm60, sm75, sm80, sm86, sm89, sm90 |
| Windows x86-64 | 12.8 | MSVC 19.43+ (VS2022) | sm75, sm80, sm86, sm89, sm90, sm100, sm120 |
使用 pip 或 uv 安裝
pip install bitsandbytes
從原始碼編譯
不要猶豫,從原始碼編譯吧!這個過程非常直接且穩定。對於舊版本的 CUDA Toolkit、Linux 發行版或其他不常見的配置,這可能是必需的。
對於 Linux 和 Windows 系統,從原始碼編譯允許您自定義構建配置。有關詳細的平臺特定說明,請參見下文(如果您想檢視具體細節並探索一些額外選項,請參閱 CMakeLists.txt 檔案)。
要從原始碼編譯,您需要安裝 CMake >= 3.22.1 和 Python >= 3.9。請確保您已安裝 C++ 編譯器(gcc、make、標頭檔案等)。建議使用 GCC 9 或更高版本。
例如,在 Ubuntu 上安裝編譯器和 CMake:
apt-get install -y build-essential cmake
您還應按照 NVIDIA CUDA Linux 安裝指南 安裝 CUDA Toolkit。我們測試的當前最低支援的 CUDA Toolkit 版本是 11.8。
git clone https://github.com/bitsandbytes-foundation/bitsandbytes.git && cd bitsandbytes/
cmake -DCOMPUTE_BACKEND=cuda -S .
make
pip install -e . # `-e` for "editable" install, when developing BNB (otherwise leave that out)如果您安裝了多個版本的 CUDA Toolkit,或者它位於非標準位置,請參閱 CMake CUDA 文件瞭解如何配置 CUDA 編譯器。
來自 main 的預覽版 Wheels
如果您想在新功能正式釋出前就使用它們並幫助我們進行測試,請隨時從我們的 CI 直接安裝 wheel 包(wheel 連結將保持穩定!)
# Note: if you don't want to reinstall our dependencies, append the `--no-deps` flag!
# x86_64 (most users)
pip install --force-reinstall https://github.com/bitsandbytes-foundation/bitsandbytes/releases/download/continuous-release_main/bitsandbytes-1.33.7.preview-py3-none-manylinux_2_24_x86_64.whl
# ARM/aarch64
pip install --force-reinstall https://github.com/bitsandbytes-foundation/bitsandbytes/releases/download/continuous-release_main/bitsandbytes-1.33.7.preview-py3-none-manylinux_2_24_aarch64.whl多後端預覽
此功能曾作為早期技術預覽存在,不建議在生產環境中使用。我們正在將對 AMD 和 Intel 硬體的改進支援整合到主專案中。
我們提供了一個開發分支,作為對 AMD 和 Intel 硬體支援的早期預覽。
支援的後端
| 後端 | 支援的版本 | Python 版本 | 架構支援 | 狀態 |
|---|---|---|---|---|
| AMD ROCm | 6.1+ | 3.10+ | 最低 CDNA - gfx90a, RDNA - gfx1100 | Alpha |
| Intel CPU | v2.4.0+ (ipex) | 3.10+ | Intel CPU | Alpha |
| 英特爾 GPU | v2.4.0+ (ipex) | 3.10+ | 英特爾 GPU | 實驗性 |
| Ascend NPU | 2.1.0+ (torch_npu) | 3.10+ | Ascend NPU | 實驗性 |
對於每個支援的後端,請按照下面相應的說明進行操作
先決條件
要將此預覽版的 bitsandbytes 與 transformers 一起使用,請確保安裝
pip install "transformers>=4.45.1"預編譯的二進位制檔案僅為 ROCm 版本 6.1.2/6.2.4/6.3.2 以及 gfx90a、gfx942、gfx1100 GPU 架構構建。在這裡找到 pip 安裝說明。
其他不支援預編譯二進位制檔案的版本可以使用這些說明進行編譯。
ROCm 後端不支援 Windows
如果您想在裸機上安裝 ROCm 和 PyTorch,請跳過 Docker 步驟,並參考 ROCm 的官方指南:ROCm 安裝概述 和 為 ROCm 安裝 PyTorch (wheels 構建的第 3 步可快速安裝)。特別注意:請確保為已安裝的 ROCm 版本獲取相應的 ROCm 特定 PyTorch wheel,例如 https://download.pytorch.org/whl/nightly/rocm6.2/!
# Create a docker container with the ROCm image, which includes ROCm libraries
docker pull rocm/dev-ubuntu-22.04:6.3.4-complete
docker run -it --device=/dev/kfd --device=/dev/dri --group-add video rocm/dev-ubuntu-22.04:6.3.4-complete
apt-get update && apt-get install -y git && cd home
# Install pytorch compatible with above ROCm version
pip install torch --index-url https://download.pytorch.org/whl/rocm6.3/安裝
您可以為每個後端安裝預構建的 wheels,或者為自定義配置從原始碼編譯。
預構建 Wheel 安裝 (推薦)
此 wheel 為 ROCm 和 Intel XPU 平臺提供支援。
# Note, if you don't want to reinstall our dependencies, append the `--no-deps` flag!
pip install --force-reinstall 'https://github.com/bitsandbytes-foundation/bitsandbytes/releases/download/continuous-release_multi-backend-refactor/bitsandbytes-0.44.1.dev0-py3-none-manylinux_2_24_x86_64.whl'從原始碼編譯
AMD GPU
bitsandbytes 支援從 ROCm 6.1 到 ROCm 6.4。
# Install bitsandbytes from source
# Clone bitsandbytes repo, ROCm backend is currently enabled on multi-backend-refactor branch
git clone -b multi-backend-refactor https://github.com/bitsandbytes-foundation/bitsandbytes.git && cd bitsandbytes/
# Compile & install
apt-get install -y build-essential cmake # install build tools dependencies, unless present
cmake -DCOMPUTE_BACKEND=hip -S . # Use -DBNB_ROCM_ARCH="gfx90a;gfx942" to target specific gpu arch
make
pip install -e . # `-e` for "editable" install, when developing BNB (otherwise leave that out)