bitsandbytes-foundation/bitsandbytes
Accessible large language models via k-bit quantization for PyTorch.
解决的问题
降低运行和训练大语言模型(LLMs)的内存需求,使其在VRAM/RAM受限的硬件上也能运行,从而更具可访问性。
工作原理
该库使用k比特量化来压缩模型权重和优化器状态。它提供三种主要方法:
- 8位优化器:使用块级量化,在保持32位性能的同时降低优化器的内存开销。
- LLM.int8():一种用于推理的8位量化方法,对大多数特征使用向量级量化,对异常值使用16位矩阵乘法以防止性能损失。
- QLoRA:一种用于训练的4位量化方法,将模型压缩至4位,并添加小型可训练的低秩适配(LoRA)权重。
适用人群
需要在消费级硬件或计算资源有限的环境下运行或微调大型模型的开发者和研究人员。
主要亮点
- 支持4位和8位量化原语。
- 广泛支持Linux、Windows和macOS,包括NVIDIA、AMD和Intel GPU以及CPU。
- 与Hugging Face Transformers、Diffusers和PEFT等流行库集成。
相关
- 项目
pytorch/aoTorchAO 是一个 PyTorch 原生的量化库,让你只需极少的代码改动就能压缩和加速模型。它支持 float8 训练、int4/int8 推理以及量化感知训练以恢复精度,在常见工作负载上可实现高达 1.5-2 倍的加速。
- 项目
- 项目
- 项目
intel/neural-compressorIntel Neural Compressor 是一个用于压缩 PyTorch 和 JAX 模型的开源 Python 库。它支持静态/动态量化、FP8、仅权重、SmoothQuant、混合精度以及 AutoRound 驱动的调优,目标硬件包括 Intel CPU、Xeon GPU 和 Habana Gaudi 加速器(对 AMD/NVIDIA 支持有限)。通过 `pip install neural-compressor-pt`(或 `-jax`)安装,使用配置准备模型、校准,并转换为适合快速推理的低精度版本。
- 项目
vllm-project/llm-compressorLLM Compressor 是一个 Python 库,用于量化和压缩大型语言模型,以便通过 vLLM 实现快速、低内存推理。它支持多种低位格式(FP8、FP4、INT4)、多种算法(GPTQ、AWQ、AutoRound、REAP),并可通过磁盘卸载和 DDP 处理数万亿参数模型。该库直接与 Hugging Face 检查点集成,以 `compressed-tensors` 格式保存模型,并提供即用示例和预压缩检查点。