Transformers documentation

HIGGS

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

HIGGS

HIGGS — это алгоритм квантования в режиме zero-shot, который сочетает предобработку с использованием преобразования Хадамар с сетками квантования, оптимизированными по критерию MSE, для достижения меньшей ошибки квантования и передовых показателей производительности.

Поддержка HIGGS во время выполнения реализована с помощью библиотеки FLUTE. В настоящее время поддерживаются только варианты Llama 3 и Llama 3.0 на 70B и 405B, а также варианты Gemma 2 на 8B и 27B. Кроме того, HIGGS пока не поддерживает квантованное обучение и обратные проходы в целом.

Выполните команду ниже, чтобы установить FLUTE.

CUDA 12.1
CUDA 11.8
pip install flute-kernel

Создайте HiggsConfig с указанием количества бит для квантования модели.

from transformers import AutoModelForCausalLM, AutoTokenizer, HiggsConfig

model = AutoModelForCausalLM.from_pretrained(
    "google/gemma-2-9b-it",
    quantization_config=HiggsConfig(bits=4),
    device_map="auto",
)

Найдите модели, предварительно квантованные с помощью HIGGS, в официальной коллекции ISTA-DASLab.

torch.compile

HIGGS полностью совместим с 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)

См. таблицу ниже с бенчмарком количества прямых проходов/сек для Llama-3.1-8B-Instruct на RTX4090.

Размер батчаBF16 (с torch.compile)HIGGS 4bit (без torch.compile)HIGGS 4bit (с torch.compile)
15941124
45742123
165641120
Update on GitHub