Transformers documentation

HIGGS

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

HIGGS

HIGGS é um algoritmo de quantização zero-shot que combina o pré-processamento Hadamard com grades de quantização MSE-Optimal para alcançar menor erro de quantização e desempenho de estado da arte.

O suporte em tempo de execução para HIGGS é implementado por meio da biblioteca FLUTE. Atualmente, apenas as variantes de 70B e 405B do Llama 3 e Llama 3.0, bem como as variantes de 8B e 27B do Gemma 2, são suportadas. O HIGGS também não suporta, no momento, treinamento quantizado e passes de retropropagação em geral.

Execute o comando abaixo para instalar o FLUTE.

CUDA 12.1
CUDA 11.8
pip install flute-kernel

Crie um HiggsConfig com o número de bits para quantizar um modelo.

from transformers import AutoModelForCausalLM, AutoTokenizer, HiggsConfig

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

Encontre modelos pré-quantizados com HIGGS na coleção oficial do ISTA-DASLab.

torch.compile

HIGGS é totalmente compatível com 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 a tabela abaixo para um benchmark de passes de forward/seg para o Llama-3.1-8B-Instruct em uma RTX4090.

Tamanho do LoteBF16 (com torch.compile)HIGGS 4bit (sem torch.compile)HIGGS 4bit (com torch.compile)
15941124
45742123
165641120
Update on GitHub