Transformers documentation

HQQ

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

HQQ

يدعم التكميم نصف التربيعي (HQQ) التكميم السريع أثناء التشغيل لمعدلات 8 و4 و3 و2 وحتى 1 بت. ولا يتطلب بيانات معايرة، وهو متوافق مع أي نمط للنماذج (نماذج اللغة الكبيرة، الرؤية، إلخ).

يدعم HQQ أيضاً الضبط الدقيق باستخدام PEFT، وهو متوافق بالكامل مع torch.compile للحصول على استدلال وتدريب أسرع.

قم بتثبيت HQQ باستخدام الأمر التالي للحصول على أحدث إصدار، ولبناء نوى CUDA المقابلة إذا كنت تستخدم جهاز cuda. كما يدعم Intel XPU من خلال تنفيذ يعتمد بالكامل على PyTorch.

pip install hqq

يمكنك اختيار استبدال جميع طبقات الخطية في النموذج بإعدادات تكميم واحدة، أو تخصيص إعدادات تكميم محددة لطبقات خطية معينة.

استبدال جميع الطبقات
الطبقات المحددة فقط

قم بتكميم نموذج من خلال إنشاء HqqConfig وتحديد قيم nbits وgroup_size لاستبدال جميع الطبقات الخطية (torch.nn.Linear) في النموذج.

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, HqqConfig

quant_config = HqqConfig(nbits=8, group_size=64)
model = AutoModelForCausalLM.from_pretrained(
    "meta-llama/Llama-3.1-8B", 
    dtype=torch.float16, 
    device_map="auto", 
    quantization_config=quant_config
)

واجهات الخلفية

يدعم HQQ واجهات خلفية متنوعة، بما في ذلك PyTorch النقي ونوى CUDA المخصصة لفك التكميم. ومناسبة هذه الواجهات للخوادم الرسومية الأقدم ولتدريب PEFT/QLoRA.

from hqq.core.quantize import *

HQQLinear.set_backend(HQQBackend.PYTORCH)

لتسريع الاستدلال، يدعم HQQ نوى مدمجة بدقة 4 بت (torchao وMarlin) بعد تكميم النموذج. ويمكن لهذه النوى أن تصل إلى 200 رمز/ثانية على بطاقة 4090 واحدة. يوضح المثال أدناه كيفية تفعيل الخلفية torchao_int4.

from hqq.utils.patching import prepare_for_inference

prepare_for_inference("model", backend="torchao_int4")

راجع دليل Backend لمزيد من التفاصيل.

الموارد

اقرأ منشور المدونة Half-Quadratic Quantization of Large Machine Learning Models لمزيد من التفاصيل حول HQQ.

Update on GitHub