Transformers documentation
HIGGS
HIGGS
HIGGS là một thuật toán lượng tử hóa zero-shot kết hợp tiền xử lý Hadamard với lưới lượng tử hóa MSE-Optimal để đạt được sai số lượng tử hóa thấp hơn và hiệu năng tiên tiến nhất.
Hỗ trợ runtime cho HIGGS được triển khai thông qua thư viện FLUTE. Hiện tại, chỉ các biến thể 70B và 405B của Llama 3 và Llama 3.0, cùng các biến thể 8B và 27B của Gemma 2 được hỗ trợ. HIGGS cũng chưa hỗ trợ huấn luyện lượng tử hóa và các bước truyền ngược (backward passes) nói chung.
Chạy lệnh bên dưới để cài đặt FLUTE.
pip install flute-kernel
pip install flute-kernel -i https://flute-ai.github.io/whl/cu11.8
Tạo một HiggsConfig với số bit để lượng tử hóa mô hình.
from transformers import AutoModelForCausalLM, AutoTokenizer, HiggsConfig
model = AutoModelForCausalLM.from_pretrained(
"google/gemma-2-9b-it",
quantization_config=HiggsConfig(bits=4),
device_map="auto",
)Tìm các model đã được pre-quantized bằng HIGGS trong bộ sưu tập chính thức của ISTA-DASLab.
torch.compile
HIGGS tương thích hoàn toàn với 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)Tham khảo bảng bên dưới để xem kết quả benchmark số lần forward pass/giây của Llama-3.1-8B-Instruct trên RTX4090.
| Kích thước lô | BF16 (với torch.compile) | HIGGS 4bit (không có torch.compile) | HIGGS 4bit (với torch.compile) |
|---|---|---|---|
| 1 | 59 | 41 | 124 |
| 4 | 57 | 42 | 123 |
| 16 | 56 | 41 | 120 |