Transformers documentation
HIGGS
HIGGS
HIGGS هو خوارزمية تكميم بلا تدريب مسبق (zero-shot) تجمع بين المعالجة المسبقة باستخدام تحويل هادامارد وشبكات تكميم مثالية من حيث متوسط مربع الخطأ (MSE-Optimal) لتحقيق خطأ تكميم أقل وأداءً متقدماً على مستوى الحالة الفنية.
يُنفَّذ دعم وقت التشغيل لـ HIGGS من خلال مكتبة FLUTE. حاليًا، يتم دعم متغيرات 70B و 405B من Llama 3 و Llama 3.0، ومتغيرات 8B و 27B من Gemma 2 فقط. كما لا يدعم HIGGS حاليًا التدريب الكمّي (quantized training) وعمليات الرجوع الخلفي (backward passes) بشكل عام.
شغّل الأمر أدناه لتثبيت FLUTE.
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",
)ابحث عن نماذج مُكمّاة مسبقًا باستخدام HIGGS في المجموعة الرسمية لـ ISTA-DASLab.
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 |