Transformers documentation
AQLM
AQLM
A Quantização Aditiva de Modelos de Linguagem (AQLM) quantiza vários pesos em conjunto e aproveita as interdependências entre eles. O AQLM representa grupos de 8 a 16 pesos como uma soma de vários códigos vetoriais.
O AQLM também oferece suporte ao fine-tuning com LoRA usando a biblioteca PEFT e é totalmente compatível com torch.compile para inferência e treinamento ainda mais rápidos.
Execute o comando abaixo para instalar a biblioteca AQLM com suporte a kernels para inferência e treinamento em GPU e CPU.
pip install aqlm[gpu,cpu]
Carregue um modelo quantizado com AQLM usando from_pretrained().
from transformers import AutoTokenizer, AutoModelForCausalLM
quantized_model = AutoModelForCausalLM.from_pretrained(
"ISTA-DASLab/Mixtral-8x7b-AQLM-2Bit-1x16-hf",
dtype="auto",
device_map="auto"
)Configurações
As configurações de quantização AQLM variam principalmente no número de codebooks utilizados, bem como no tamanho dos codebooks em bits. As configurações mais populares e os kernels de inferência suportados estão mostrados abaixo.
| Kernel | Número de codebooks | Tamanho do codebook, bits | Notação | Precisão | Aceleração | Inferência rápida em GPU | Inferência rápida em CPU |
|---|---|---|---|---|---|---|---|
| Triton | K | N | KxN | - | Até ~0,7x | ✅ | ❌ |
| CUDA | 1 | 16 | 1x16 | Melhor | Até ~1,3x | ✅ | ❌ |
| CUDA | 2 | 8 | 2x8 | OK | Até ~3.0x | ✅ | ❌ |
| Numba | K | 8 | Kx8 | Bom | Até ~4.0x | ❌ | ✅ |
Recursos
Execute o notebook de demonstração do AQLM para mais exemplos de como quantizar um modelo, enviar um modelo quantizado para o Hub e muito mais.
Para mais notebooks de demonstração, visite o repositório do AQLM.
Update on GitHub