Transformers 文档

AQLM

Hugging Face's logo
加入 Hugging Face 社区

并获得增强型文档体验

开始使用

AQLM

Google Colab 上尝试 AQLM!

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

AQLM 的推理支持在 aqlm 库中实现。请确保安装它以运行模型(注意,aqlm 仅适用于 python>=3.10)

pip install aqlm[gpu,cpu]

该库为 GPU 和 CPU 推理和训练提供高效的内核。

有关如何自己量化模型的说明以及所有相关代码可以在相应的 GitHub 存储库 中找到。要运行 AQLM 模型,只需加载一个使用 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"
)
tokenizer = AutoTokenizer.from_pretrained("ISTA-DASLab/Mixtral-8x7b-AQLM-2Bit-1x16-hf")

PEFT

aqlm 1.0.2 版本开始,AQLM 支持以 LoRA 的形式进行参数高效微调,该形式已集成到 PEFT 库中。

AQLM 配置

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 倍
< > 在 GitHub 上更新