Transformers documentation
HIGGS
HIGGS
HIGGS, Hadamard ön işleme ile MSE-Optimal kuantizasyon ızgaralarını birleştirerek daha düşük kuantizasyon hatası ve en iyi performansı elde eden sıfır atışlı bir kuantizasyon algoritmasıdır.
HIGGS için çalışma zamanı desteği, FLUTE kütüphanesi aracılığıyla sağlanır. Şu anda yalnızca Llama 3 ve Llama 3.0'ın 70B ve 405B varyantları ile Gemma 2'nin 8B ve 27B varyantları desteklenmektedir. HIGGS, şu an için kuantize eğitim ve genel olarak geriye yayılım (backward) işlemlerini desteklememektedir.
FLUTE'i yüklemek için aşağıdaki komutu çalıştırın.
pip install flute-kernel
pip install flute-kernel -i https://flute-ai.github.io/whl/cu11.8
Bir modeli hangi bit sayısına göre nicelleştireceğinizi belirten bir HiggsConfig oluşturun.
from transformers import AutoModelForCausalLM, AutoTokenizer, HiggsConfig
model = AutoModelForCausalLM.from_pretrained(
"google/gemma-2-9b-it",
quantization_config=HiggsConfig(bits=4),
device_map="auto",
)HIGGS ile önceden kuantize edilmiş modelleri, resmi ISTA-DASLab koleksiyonunda bulabilirsiniz.
torch.compile
HIGGS, torch.compile ile tam olarak uyumludur.
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)RTX4090 üzerinde Llama-3.1-8B-Instruct için ileri geçişler/sn (forward passes/sec) benchmark'ı için aşağıdaki tabloya bakın.
| Toplu İşlem Boyutu | BF16 (torch.compile ile) | HIGGS 4bit (torch.compile olmadan) | HIGGS 4bit (torch.compile ile) |
|---|---|---|---|
| 1 | 59 | 41 | 124 |
| 4 | 57 | 42 | 123 |
| 16 | 56 | 41 | 120 |