Skip to main content

bitsandbytes

License Downloads Nightly Unit Tests GitHub Release PyPI - Python Version

bitsandbytes enables accessible large language models via k-bit quantization for PyTorch. We provide three main features for dramatically reducing memory consumption for inference and training:

  • 8-bit optimizers uses block-wise quantization to maintain 32-bit performance at a small fraction of the memory cost.
  • LLM.int8() or 8-bit quantization enables large language model inference with only half the required memory and without any performance degradation. This method is based on vector-wise quantization to quantize most features to 8-bits and separately treating outliers with 16-bit matrix multiplication.
  • QLoRA or 4-bit quantization enables large language model training with several memory-saving techniques that don't compromise performance. This method quantizes a model to 4-bits and inserts a small set of trainable low-rank adaptation (LoRA) weights to allow training.

The library includes quantization primitives for 8-bit & 4-bit operations, through bitsandbytes.nn.Linear8bitLt and bitsandbytes.nn.Linear4bit and 8-bit optimizers through bitsandbytes.optim module.

System Requirements

bitsandbytes has the following minimum requirements for all platforms:

  • Python 3.10+
  • PyTorch 2.4+
    • Note: While we aim to provide wide backwards compatibility, we recommend using the latest version of PyTorch for the best experience.

Accelerator support:

Note: this table reflects the status of the current development branch. For the latest stable release, see the document in the 0.50.0 tag.

Legend:

🚧 = Planned | 〰️ = Partially Supported | ✅ = Supported | ❌ = Not Supported

Platform Accelerator Hardware Requirements LLM.int8() QLoRA 4-bit 8-bit Optimizers
🐧 Linux, glibc >= 2.24
x86-64 ◻️ CPU Minimum: AVX2
Optimized: AVX512F, AVX512BF16
🟩 NVIDIA GPU
cuda
SM60+ minimum
SM75+ recommended
🟥 AMD GPU
cuda
CDNA: gfx908, gfx90a, gfx942, gfx950, gfx1250
RDNA: gfx103X, gfx110X, gfx115X, gfx120X
🟦 Intel GPU
xpu
Data Center GPU Max Series
Arc A-Series (Alchemist)
Arc B-Series (Battlemage)
🟪 Intel Gaudi
hpu
Gaudi2, Gaudi3 〰️
aarch64 ◻️ CPU ✅ *
🟩 NVIDIA GPU
cuda
SM75+
🪟 Windows 11 / Windows Server 2022+
x86-64 ◻️ CPU AVX2
🟩 NVIDIA GPU
cuda
SM60+ minimum
SM75+ recommended
🟥 AMD GPU
cuda
RDNA: gfx103X, gfx110X, gfx115X, gfx120X
🟦 Intel GPU
xpu
Arc A-Series (Alchemist)
Arc B-Series (Battlemage)
arm64 ◻️ CPU
🟩 NVIDIA GPU
cuda
SM121
🍎 macOS 14+
arm64 ◻️ CPU Apple M1+ ✅ *
⬜ Metal
mps
Apple M1+ ✅ * 🚧
* While supported, these marked features may lack in performance optimizations.

:book: Documentation

:heart: Sponsors

The continued maintenance and development of bitsandbytes is made possible thanks to the generous support of our sponsors. Their contributions help ensure that we can keep improving the project and delivering valuable updates to the community.

Hugging Face

License

bitsandbytes is MIT licensed.

How to cite us

If you found this library useful, please consider citing our work:

QLoRA

@article{dettmers2023qlora,
  title={Qlora: Efficient finetuning of quantized llms},
  author={Dettmers, Tim and Pagnoni, Artidoro and Holtzman, Ari and Zettlemoyer, Luke},
  journal={arXiv preprint arXiv:2305.14314},
  year={2023}
}

LLM.int8()

@article{dettmers2022llmint8,
  title={LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale},
  author={Dettmers, Tim and Lewis, Mike and Belkada, Younes and Zettlemoyer, Luke},
  journal={arXiv preprint arXiv:2208.07339},
  year={2022}
}

8-bit Optimizers

@article{dettmers2022optimizers,
  title={8-bit Optimizers via Block-wise Quantization},
  author={Dettmers, Tim and Lewis, Mike and Shleifer, Sam and Zettlemoyer, Luke},
  journal={9th International Conference on Learning Representations, ICLR},
  year={2022}
}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

bitsandbytes-0.50.1-py3-none-win_arm64.whl (1.1 MB view details)

Uploaded Python 3Windows ARM64

bitsandbytes-0.50.1-py3-none-win_amd64.whl (38.0 MB view details)

Uploaded Python 3Windows x86-64

bitsandbytes-0.50.1-py3-none-manylinux_2_24_x86_64.whl (41.0 MB view details)

Uploaded Python 3manylinux: glibc 2.24+ x86-64

bitsandbytes-0.50.1-py3-none-manylinux_2_24_aarch64.whl (23.8 MB view details)

Uploaded Python 3manylinux: glibc 2.24+ ARM64

bitsandbytes-0.50.1-py3-none-macosx_14_0_arm64.whl (123.5 kB view details)

Uploaded Python 3macOS 14.0+ ARM64

File details

Details for the file bitsandbytes-0.50.1-py3-none-win_arm64.whl.

File metadata

File hashes

Hashes for bitsandbytes-0.50.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 b79489c5067e187b37a044faa567d9affa8ad75f690f6cd4b8712005789c5365
MD5 8d59c2d7dd8667e27e293f1421410f07
BLAKE2b-256 3cd80900bd9d8826851e1bca731c9f48f10709471e457877e0479502a5f0cd75

See more details on using hashes here.

Provenance

The following attestation bundles were made for bitsandbytes-0.50.1-py3-none-win_arm64.whl:

Publisher: python-package.yml on bitsandbytes-foundation/bitsandbytes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bitsandbytes-0.50.1-py3-none-win_amd64.whl.

File metadata

  • Download URL: bitsandbytes-0.50.1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 38.0 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for bitsandbytes-0.50.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 86f76e8a3278fbbfc3fa0d79d1c4e706ebc214babd57f0ea30e2da509bbdaad5
MD5 06cd01993be7c0d54d95f632dd2df2fb
BLAKE2b-256 1e47bec1bc02e782ed11d50e04b2bd3f32c57694a414a72ddf311ecc953c3b6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for bitsandbytes-0.50.1-py3-none-win_amd64.whl:

Publisher: python-package.yml on bitsandbytes-foundation/bitsandbytes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bitsandbytes-0.50.1-py3-none-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for bitsandbytes-0.50.1-py3-none-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 649b4348c24c05c406a3b8fa9ed6ea00ffecb9dc93dcf838af1a2783844bf3e3
MD5 1ef017f83b8ef72c325778646642625f
BLAKE2b-256 1f6baa0c77ad6eb11c364502ee67620226b4bb42a58ce94654485eacab1b97c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for bitsandbytes-0.50.1-py3-none-manylinux_2_24_x86_64.whl:

Publisher: python-package.yml on bitsandbytes-foundation/bitsandbytes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bitsandbytes-0.50.1-py3-none-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for bitsandbytes-0.50.1-py3-none-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 55ec205fa7073bbe680f905b16d66666be4b4cf7e85ab3d28b5d39d73f153db6
MD5 27bd4d6869d30a3c7828c8f5448397ca
BLAKE2b-256 9e1d44b2e6e33acf81c656b0e44cf42431b0e2ef2562be0880034632763dd520

See more details on using hashes here.

Provenance

The following attestation bundles were made for bitsandbytes-0.50.1-py3-none-manylinux_2_24_aarch64.whl:

Publisher: python-package.yml on bitsandbytes-foundation/bitsandbytes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bitsandbytes-0.50.1-py3-none-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for bitsandbytes-0.50.1-py3-none-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 5bac232206d9568fb560db566b522e230af95ba3fb833a1023744625c66f1d6b
MD5 1f38f39f026d6f1421b164f377e9550b
BLAKE2b-256 85b0d2eb57f5ff40bea2aa4037fcd07b8a8c8e012bbdd36b6f4954c9cb55041d

See more details on using hashes here.

Provenance

The following attestation bundles were made for bitsandbytes-0.50.1-py3-none-macosx_14_0_arm64.whl:

Publisher: python-package.yml on bitsandbytes-foundation/bitsandbytes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page