Transformers documentation

EETQ

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

EETQ

يدعم مكتبة Easy & Efficient Quantization for Transformers (EETQ) تكميم الأوزان فقط بدقة int8 لكل قناة لبطاقات NVIDIA الرسومية. تستخدم المكتبة نواة GEMM وGEMV عالية الأداء من FasterTransformer وTensorRT-LLM. كما تم تحسين طبقة الانتباه باستخدام FlashAttention2. لا يتطلب الأمر مجموعة بيانات معايرة، ولا يحتاج النموذج إلى تكميم مسبق. وتكون تدهور الدقة ضئيلاً نظراً للتكميم لكل قناة.

تدعم EETQ أيضًا الضبط الدقيق باستخدام PEFT.

قم بتثبيت EETQ من صفحة الإصدار أو الكود المصدري. يتطلب EETQ وجود CUDA 11.4 أو أحدث.

صفحة الإصدار
مصدر الكود
pip install --no-cache-dir https://github.com/NetEase-FuXi/EETQ/releases/download/v1.0.0/EETQ-1.0.0+cu121+torch2.1.2-cp310-cp310-linux_x86_64.whl

قم بتكميم النموذج أثناء التشغيل عن طريق تحديد نوع بيانات التكميم في EetqConfig.

from transformers import AutoModelForCausalLM, EetqConfig

quantization_config = EetqConfig("int8")
model = AutoModelForCausalLM.from_pretrained(
    "meta-llama/Llama-3.1-8B",
    dtype="auto",
    device_map="auto",
    quantization_config=quantization_config
)

احفظ النموذج المُكمَّم باستخدام save_pretrained() حتى يمكن إعادة استخدامه مرة أخرى عبر from_pretrained().

quant_path = "/path/to/save/quantized/model"
model.save_pretrained(quant_path)
model = AutoModelForCausalLM.from_pretrained(quant_path, device_map="auto")
Update on GitHub