Transformers documentation
HIGGS
HIGGS
HIGGS es un algoritmo de cuantización zero-shot que combina el preprocesamiento Hadamard con cuadrículas de cuantización óptimas en MSE para lograr un menor error de cuantización y un rendimiento líder en su categoría.
El soporte en tiempo de ejecución para HIGGS se implementa a través de la biblioteca FLUTE. Actualmente, solo se admiten las variantes de 70B y 405B de Llama 3 y Llama 3.0, así como las variantes de 8B y 27B de Gemma 2. HIGGS tampoco admite, por el momento, el entrenamiento cuantizado ni las pasadas hacia atrás en general.
Ejecuta el siguiente comando para instalar FLUTE.
pip install flute-kernel
pip install flute-kernel -i https://flute-ai.github.io/whl/cu11.8
Cree una HiggsConfig con el número de bits para cuantizar un modelo.
from transformers import AutoModelForCausalLM, AutoTokenizer, HiggsConfig
model = AutoModelForCausalLM.from_pretrained(
"google/gemma-2-9b-it",
quantization_config=HiggsConfig(bits=4),
device_map="auto",
)Encuentra modelos pre-cuantizados con HIGGS en la colección oficial de ISTA-DASLab.
torch.compile
HIGGS es totalmente compatible con torch.compile.
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, HiggsConfig
model = AutoModelForCausalLM.from_pretrained(
"google/gemma-2-9b-it",
quantization_config=HiggsConfig(bits=4),
device_map="auto",
)
model = torch.compile(model)Consulte la tabla siguiente para ver un benchmark de pases hacia adelante/segundo para Llama-3.1-8B-Instruct en una RTX4090.
| Tamaño del lote | BF16 (con torch.compile) | HIGGS 4bit (sin torch.compile) | HIGGS 4bit (con torch.compile) |
|---|---|---|---|
| 1 | 59 | 41 | 124 |
| 4 | 57 | 42 | 123 |
| 16 | 56 | 41 | 120 |