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.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

HIGGS

HIGGS 是一种零样本量化算法,它将 Hadamard 预处理与 MSE-Optimal 量化网格相结合,以实现更低的量化误差和业界领先的性能。

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",
)

在 ISTA-DASLab 的官方集合中查找使用 HIGGS 预量化的模型。

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