Transformers documentation

FBGEMM

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

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