Transformers 文档

AQLM

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

AQLM

Additive Quantization of Language Models (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",
    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 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.