Transformers documentation

AQLM

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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.

KernelNúmero de codebooksTamanho do codebook, bitsNotaçãoPrecisãoAceleraçãoInferência rápida em GPUInferência rápida em CPU
TritonKNKxN-Até ~0,7x✅❌
CUDA1161x16MelhorAté ~1,3x✅❌
CUDA282x8OKAté ~3.0x✅❌
NumbaK8Kx8BomAté ~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