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) 整合。
- 在維持模型效能的同時節省記憶體的技術。