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).
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
pip install flute-kernel -i https://flute-ai.github.io/whl/cu11.8
创建一个 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) |
|---|---|---|---|
| 1 | 59 | 41 | 124 |
| 4 | 57 | 42 | 123 |
| 16 | 56 | 41 | 120 |