Transformers documentation
FBGEMM
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