Transformers 文档

AQLM

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

AQLM

语言模型的加性量化(AQLM)将多个权重一起量化,并利用它们之间的相互依赖性。AQLM 将 8-16 个权重组表示为多个向量码的总和。

AQLM 还支持使用 LoRAPEFT 库进行微调,并且完全兼容 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 上更新