Transformers documentation
AQLM
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.
| Kernel | Nombre de codebooks | Taille du codebook, bits | Notation | Précision | Accélération | Inférence GPU rapide | Inférence CPU rapide |
|---|---|---|---|---|---|---|---|
| Triton | K | N | KxN | - | Jusqu'à ~0,7x | ✅ | ❌ |
| CUDA | 1 | 16 | 1x16 | Meilleur | Jusqu'à ~1,3x | ✅ | ❌ |
| CUDA | 2 | 8 | 2x8 | OK | Jusqu'à ~3,0x | ✅ | ❌ |
| Numba | K | 8 | Kx8 | Bien | Jusqu'à ~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