Transformers 文档

AQLM

Hugging Face's logo
加入 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.7 倍
CUDA 1 16 1x16 最佳 高达约 1.3 倍
CUDA 2 8 2x8 尚可 高达约 3.0 倍
Numba K 8 Kx8 良好 高达约 4.0 倍

资源

运行 AQLM 演示 notebook,了解有关如何量化模型、将量化模型推送到 Hub 等的更多示例。

有关更多示例演示 notebook,请访问 AQLM repository

< > 更新 在 GitHub 上