Transformers documentation
FBGEMM
FBGEMM
FBGEMM (Facebook GEneral Matrix Multiplication) est une bibliothèque de multiplication de matrices à basse précision, conçue pour les petites tailles de lot et dotée du support de techniques visant à minimiser la perte de précision, telles que la quantification par ligne et la quantification tenant compte des valeurs aberrantes. Grâce à FBGEMM, vous pouvez quantiser les poids d'un modèle en 8 bits/canal et les activations en 8 bits/token (également connu sous le nom de fp8 ou w8a8).
Vous avez besoin d'un GPU avec une capacité de calcul 9+, comme un H100.
Installez le package FBGEMM_GPU avec la commande ci-dessous pour vous assurer de disposer de la dernière version.
pip install --upgrade accelerate fbgemm-gpu torch
Si vous rencontrez des problèmes d’installation, essayez d’installer la version de nuit.
Créez un FbgemmFp8Config et passez-le à from_pretrained() pour quantiser un modèle en fp8.
from transformers import FbgemmFp8Config, AutoModelForCausalLM
quantization_config = FbgemmFp8Config()
quantized_model = AutoModelForCausalLM.from_pretrained(
"meta-llama/Meta-Llama-3-8B",
dtype="auto",
device_map="auto",
quantization_config=quantization_config
)save_pretrained() et from_pretrained() permettent d'enregistrer et de charger un modèle quantifié.
quant_path = "/path/to/save/quantized/model"
quantized_model.save_pretrained(quant_path)
model = AutoModelForCausalLM.from_pretrained(quant_path, device_map="auto")Ressources
Lisez le billet de blog Open-sourcing FBGEMM for state-of-the-art server-side inference pour plus de détails sur FBGEMM.
Update on GitHub