Transformers 文档
AQLM
加入 Hugging Face 社区
并获得增强的文档体验
开始使用
AQLM
语言模型的加性量化(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",
torch_dtype="auto",
device_map="auto"
)
配置
AQLM 量化设置主要在使用的码本数量以及码本大小(以位为单位)方面有所不同。最流行的设置和支持的推理内核如下所示。
内核 | 码本数量 | 码本大小,位 | 表示法 | 准确率 | 加速比 | 快速 GPU 推理 | 快速 CPU 推理 |
---|---|---|---|---|---|---|---|
Triton | K | N | KxN | - | 最高约 0.7x | ✅ | ❌ |
CUDA | 1 | 16 | 1x16 | 最佳 | 最高约 1.3x | ✅ | ❌ |
CUDA | 2 | 8 | 2x8 | 良好 | 最高约 3.0x | ✅ | ❌ |
Numba | K | 8 | Kx8 | 良好 | 最高约 4.0x | ❌ | ✅ |
资源
运行 AQLM 演示 笔记本,获取更多关于如何量化模型、将量化模型推送到 Hub 等示例。
更多示例演示笔记本,请访问 AQLM 仓库。
< > 在 GitHub 上更新