bitsandbytes: 一个用于 PyTorch 的 k-bit 量化库,可降低 LLM 推理和训练的内存消耗
bitsandbytes: 一个用于 PyTorch 的 k-bit 量化库,可降低 LLM 推理和训练的内存消耗
它解决了什么问题
它降低了运行和训练大语言模型 (LLMs) 的内存需求,通过允许它们在显存/内存有限的硬件上运行,使其更易于使用。
工作原理
该库为 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)集成。
- 在保持模型性能的同时节省内存的技术。