Transformers 文档

AQLM

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 OK 最高约3.0倍
Numba K 8 Kx8 良好 最高约4.0倍
< > Update on GitHub