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) é uma biblioteca de multiplicação de matrizes de baixa precisão para tamanhos de lote pequenos, com suporte a técnicas que minimizam a perda de precisão, como quantização por linha e quantização com consciência de outliers. Com o FBGEMM, quantize os pesos de um modelo para 8 bits/canal e as ativações para 8 bits/tóquio (também conhecido como fp8 ou w8a8).

Você precisa de uma GPU com capacidade de computação 9+, como uma H100.

Instale o pacote FBGEMM_GPU com o comando abaixo para garantir que você tem a versão mais recente.

pip install --upgrade accelerate fbgemm-gpu torch

Se você estiver enfrentando problemas de instalação, tente instalar a versão noturna.

Crie um FbgemmFp8Config e passe-o para from_pretrained() para quantizar um modelo para 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() e from_pretrained() permitem salvar e carregar um modelo quantizado.

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

Recursos

Leia o post no blog Open-sourcing FBGEMM for state-of-the-art server-side inference para mais detalhes sobre o FBGEMM.

Update on GitHub