Transformers documentation
EETQ
ابدأ الآن
الفئات الأساسية
النماذج
المعالجات المسبقة
الاستدلال
واجهة برمجة التطبيقات Pipeline
توليد واجهة برمجة التطبيقات
التحسين
التحدث مع النماذج
التقديم
التدريب
الأجهزة
التكميم
نظرة عامةمفاهيم التكميماختر طريقة Optimumالمساهمة بطريقة تكميم
التكميم أثناء التحميل
bitsandbytesEETQFBGEMM FP8FP8 الدقيقأربعة من ستةFP-QuantGPTQHIGGSHQQMetalMXFP4NVFP4QuantoSINQtorchao
تحميل نقاط التفتيش المُكمّاة مسبقًا
التكاملات مع النظام البيئي
الموارد
واجهة برمجة التطبيقات
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).
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
git clone https://github.com/NetEase-FuXi/EETQ.git
cd EETQ/
git submodule update --init --recursive
pip install .قم بتكميم النموذج أثناء التشغيل عن طريق تحديد نوع بيانات التكميم في 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")