Transformers 文档
AQLM
加入 Hugging Face 社区
并获得增强的文档体验
开始使用
AQLM
Additive Quantization of Language Models (AQLM) 会将多个权重打包量化,并利用它们之间的相互依赖性。AQLM 将 8-16 个权重的组表示为多个向量码的和。
AQLM 还支持使用 LoRA 和 PEFT 库进行微调,并且完全兼容 torch.compile,以实现更快的推理和训练。
运行以下命令来安装 AQLM 库,该库支持 GPU 和 CPU 推理及训练的内核。AQLM 仅支持 Python 3.10+。
pip install aqlm[gpu,cpu]
使用 from_pretrained() 加载 AQLM 量化模型。
from transformers import AutoTokenizer, AutoModelForCausalLM
quantized_model = AutoModelForCausalLM.from_pretrained(
"ISTA-DASLab/Mixtral-8x7b-AQLM-2Bit-1x16-hf",
dtype="auto",
device_map="auto"
)配置
AQLM 的量化配置主要在于使用的码本数量以及码本的比特大小。最常用的配置和支持的推理内核如下所示。
| 内核 | 码本数量 | 码本大小(比特) | 表示法 | 准确率 | 加速比 | 快速 GPU 推理 | 快速 CPU 推理 |
|---|---|---|---|---|---|---|---|
| Triton | K | N | KxN | - | 高达约 0.7 倍 | ✅ | ❌ |
| CUDA | 1 | 16 | 1x16 | 最佳 | 高达约 1.3 倍 | ✅ | ❌ |
| CUDA | 2 | 8 | 2x8 | OK | 高达约 3.0 倍 | ✅ | ❌ |
| Numba | K | 8 | Kx8 | 很好 | 高达约 4.0 倍 | ❌ | ✅ |
资源
运行 AQLM 演示 Notebook,了解有关如何量化模型、将量化模型推送到 Hub 等更多示例。
有关更多示例 Notebook,请访问 AQLM 仓库。
在 GitHub 上更新