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.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AQLM

La quantification additive de modèles de langage (AQLM) quantifie plusieurs poids ensemble et exploite les interdépendances entre eux. AQLM représente des groupes de 8 à 16 poids sous forme de somme de plusieurs codes vectoriels.

AQLM prend également en charge l’ajustement fin avec LoRA via la bibliothèque PEFT, et est entièrement compatible avec torch.compile pour une inférence et un entraînement encore plus rapides.

Exécutez la commande ci-dessous pour installer la bibliothèque AQLM avec prise en charge des noyaux pour l'inférence et l'entraînement sur GPU et CPU.

pip install aqlm[gpu,cpu]

Charger un modèle quantisé AQLM avec 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"
)

Configurations

Les configurations de quantification AQLM varient principalement en fonction du nombre de codebooks utilisés ainsi que de la taille des codebooks en bits. Les configurations les plus populaires et les noyaux d'inférence pris en charge sont présentés ci-dessous.

KernelNombre de codebooksTaille du codebook, bitsNotationPrécisionAccélérationInférence GPU rapideInférence CPU rapide
TritonKNKxN-Jusqu'à ~0,7x✅❌
CUDA1161x16MeilleurJusqu'à ~1,3x✅❌
CUDA282x8OKJusqu'à ~3,0x✅❌
NumbaK8Kx8BienJusqu'à ~4,0x❌✅

Ressources

Exécutez le notebook de démonstration AQLM pour plus d'exemples sur la quantification d'un modèle, la publication d'un modèle quantifié sur le Hub, et bien plus encore.

Pour plus de notebooks de démonstration, consultez le dépôt AQLM.

Update on GitHub