bitsandbytes-foundation/bitsandbytes

Accessible large language models via k-bit quantization for PyTorch.

解决的问题

它减少了运行和训练大规模语言模型 (LLM) 的内存需求,通过允许在显存/内存 (VRAM/RAM) 有限的硬件上运行,提高了其易用性。

工作原理

该库为 PyTorch 提供 k-bit 量化原语,主要使用三种方法:

  • 8-bit Optimizers: 使用分块量化来保持性能,同时显著降低优化器的内存成本。
  • LLM.int8(): 实现推理的 8-bit 量化,对大多数特征使用向量级量化,对离群值使用 16-bit 矩阵乘法以防止性能损失。
  • QLoRA: 实现训练的 4-bit 量化,将量化与低秩自适应 (LoRA) 权重相结合,实现高效的微调。

适用对象

需要在消费级或资源受限的硬件上部署或微调大型模型的 PyTorch 开发者和研究人员。

亮点

  • 支持 4-bit 和 8-bit 量化原语。
  • 广泛的硬件加速器支持,包括 Linux、Windows 和 macOS 上的 NVIDIA、AMD、Intel GPU 和 CPU。
  • 与 Hugging Face 生子系统 (Transformers, Diffusers, PEFT) 集成。
  • 在保持模型性能的同时节省内存的技术。