Bitsandbytes 文件

安裝指南

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

安裝指南

歡迎閱讀 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

使用 pipuv 安裝

pip install bitsandbytes

從原始碼編譯

不要猶豫,從原始碼編譯吧!這個過程非常直接且穩定。對於舊版本的 CUDA Toolkit、Linux 發行版或其他不常見的配置,這可能是必需的。

對於 Linux 和 Windows 系統,從原始碼編譯允許您自定義構建配置。有關詳細的平臺特定說明,請參見下文(如果您想檢視具體細節並探索一些額外選項,請參閱 CMakeLists.txt 檔案)。

Linux
Windows

要從原始碼編譯,您需要安裝 CMake >= 3.22.1 和 Python >= 3.9。請確保您已安裝 C++ 編譯器(gccmake、標頭檔案等)。建議使用 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 連結將保持穩定!

Linux
Windows
# 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 實驗性

對於每個支援的後端,請按照下面相應的說明進行操作

先決條件

要將此預覽版的 bitsandbytestransformers 一起使用,請確保安裝

pip install "transformers>=4.45.1"
AMD ROCm
Intel XPU

預編譯的二進位制檔案僅為 ROCm 版本 6.1.2/6.2.4/6.3.2 以及 gfx90agfx942gfx1100 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 安裝 (推薦)

Linux
Windows

此 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 ROCm
Intel CPU + GPU
Ascend NPU

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)
< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.