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.2).
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) es una biblioteca de multiplicación de matrices de baja precisión para tamaños de lote pequeños y con soporte para técnicas que minimizan la pérdida de precisión, como la cuantización por fila y la cuantización consciente de valores atípicos. Con FBGEMM, se cuantizan los pesos de un modelo a 8 bits por canal y las activaciones a 8 bits por token (también conocido como fp8 o w8a8).

Necesitas una GPU con capacidad de cómputo 9+, como una H100.

Instale el paquete FBGEMM_GPU con el siguiente comando para asegurarse de tener la versión más reciente.

pip install --upgrade accelerate fbgemm-gpu torch

Si tienes problemas de instalación, intenta instalar la versión nocturna.

Crea una FbgemmFp8Config y pásala a from_pretrained() para cuantizar un modelo a 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() y from_pretrained() permiten guardar y cargar un modelo cuantizado.

quant_path = "/path/to/save/quantized/model"
quantized_model.save_pretrained(quant_path)
model = AutoModelForCausalLM.from_pretrained(quant_path, device_map="auto")

Recursos

Lea el artículo de blog Open-sourcing FBGEMM for state-of-the-art server-side inference para obtener más detalles sobre FBGEMM.

Update on GitHub