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)