Transformers documentation

اختر طريقة

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

اختر طريقة

إذا كان نقطة التفتيش الخاصة بك مُكمّمة بالفعل، فإن نقطة التفتيش هي التي تحدد الطريقة. حمّلها كما هو موضح في تحميل نقطة تفتيش مُكمّمة مسبقًا. وإلا، فاختر طريقة بناءً على عتادك وما تحتاج إلى القيام به بالنموذج بعد تحميله.

ابدأ من هدفك

توصي كل صف بطريقة أولى يجب تجربتها. راجع جدول المقارنة الكامل قبل أن تلتزم بطريقة واحدة.

الهدفابدأ بلماذا
درّب نموذجًا باستخدام ذاكرة أقل بأقل قدر من الإعدادbitsandbytesيُكمّط إلى 4 أو 8 بت أثناء التحميل دون معايرة، ويعمل على CUDA وXPU وHPU وCPU، ويدعم الحفظ والتدريب الدقيق.
الضبط الدقيق باستخدام QLoRAbitsandbytesيدعم 4-bit NF4 مع PEFT. كما تدعم HQQ وEETQ وGPTQ وSINQ وQuanto الضبط الدقيق.
تسريع الاستدلال باستخدام torch.compiletorchaoيقوم generate بتجميع نماذج torchao تلقائيًا باستخدام ذاكرة تخزين مؤقت ثابتة، وتوفر torchao مخططات int4 وint8 وFP8 لمنصات CUDA وXPU وCPU.
احصل على أفضل دقة بدقة 4 بتGPTQيُعاير على مجموعة بيانات أثناء التحميل. لاستخدام AWQ أو AutoRound بدلاً من ذلك، قم بتكميم النموذج باستخدام مكتباتهما ثم حمّل نقطة التفتيش.
تشغيل FP8 على Ada أو Hopper أو Intel XPUFP8 الدقيقيتطلب هذا الأمر قدرة حسابية CUDA 8.9 أو أعلى، أو معالج XPU. أما FBGEMM FP8 فيتطلب قدرة حسابية 9.0 أو أعلى، أو معالج XPU.
تشغيل FP4 على BlackwellNVFP4يُكمّم إلى تنسيق NVIDIA الخاص بالأرقام العشرية الفاصلة 4-بت أثناء التحميل. MXFP4 يعمل على قدرات الحوسبة 7.5 أو أعلى، وXPU، ووحدة المعالجة المركزية (CPU).
التشغيل على شرائح Apple siliconميتاليُجري التكميم إلى 2 أو 4 أو 8 بتات على MPS أثناء التحميل. كما يتم تحميل ملفات GGUF على MPS.
تحميل نقاط التفتيش المُنشأة باستخدام llm-compressorcompressed-tensorsيحمّل نقاط التفتيش (checkpoints) بصيغ FP8 وint4 وint8 بتنسيق compressed-tensors.
ضغط أقل من 4 بتHQQ أو SINQقم بتكميم النموذج إلى 2 أو 3 بتات أثناء التحميل دون معايرة. تحقق نقاط AQLM وVPTQ وSpQR من قيم أدنى، لكنها يجب أن تُكمَّم باستخدام مكتباتها الخاصة.
Show the full comparison table
الطريقةquant_methodسير العملبتالأجهزةحفظضبطالتجميع التلقائي
AQLMaqlmمُسبَق التكميم فقط1–2CUDA، CPU✅✅ مع aqlm>=1.0.2❌
AutoRoundauto-roundمُسبَق التكميم فقط2–8CUDA، XPU، CPU✅❌❌
AWQawqمُسبَق التكميم فقط4CUDA، ROCm، XPU، CPU✅ باستثناء خلفيات ExLlama✅ مع gptqmodel>=5.0.0❌
BitNetbitnetمُسبَق التكميم فقط1.58CUDA✅فقط autobitlinear في وضع online❌
bitsandbytesbitsandbytesأثناء التحميل4, 8CUDA، XPU، HPU، CPU✅✅❌
compressed-tensorscompressed-tensorsمُسبَق التكميم فقطتعيين بواسطة نقطة التفتيشCUDA، XPU، MPS، CPU✅✅ باستثناء نواة FP8✅
EETQeetqأثناء التحميل8CUDA✅✅❌
FBGEMM FP8fbgemm_fp8أثناء التحميل8CUDA (قدرة الحوسبة 9.0 أو أحدث)، XPU✅❌❌
FP8 الدقيقfp8, mxfp8أثناء التحميل8CUDA (قدرة الحوسبة 8.9+), XPU✅❌✅
أربعة من ستةfouroversixأثناء التحميل4CUDA (الأسرع على Blackwell)، CPU✅فقط عند استخدام keep_master_weights=True❌
FP-Quantfp_quantأثناء التحميل4CUDA، XPU✅فقط عند استخدام store_master_weights=True❌
GGUFggufمُسبَق التكميم فقط1–8CUDA، MPS، XPU، CPU❌❌✅
GPTQgptqأثناء التحميل، مع المعايرة2, 3, 4, 8CUDA، ROCm، XPU، CPU✅✅❌
HIGGShiggsأثناء التحميل2, 3, 4CUDA✅❌❌
HQQhqqأثناء التحميل1, 2, 3, 4, 8CUDA، XPU✅✅❌
ميتالmetalأثناء التحميل2, 4, 8MPS✅❌❌
MXFP4mxfp4أثناء التحميل4CUDA (قدرة الحوسبة 7.5 أو أحدث)، XPU، CPU✅❌❌
NVFP4nvfp4أثناء التحميل4وحدة معالجة رسومات واحدة من Blackwell❌❌✅
Quantoquantoأثناء التحميل2, 4, 8CUDA، MPS، XPU، CPU❌✅❌
Quarkquarkمُسبَق التكميم فقطتعيين بواسطة نقطة التفتيشCUDA، ROCm، المعالج❌❌❌
SINQsinqأثناء التحميل2, 3, 4, 6, 8وحدة معالجة رسومية واحدة من نوع CUDA، وحدة معالجة مركزية✅✅❌
SpQRspqrمُسبَق التكميم فقط3CUDA✅❌❌
torchaotorchaoأثناء التحميل4, 8CUDA، XPU، CPU✅مخططات 8 بت فقط✅
VPTQvptqمُسبَق التكميم فقط1–8CUDA✅❌❌

تحقق من الذاكرة باستخدام منتقي التكميم

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

المعايير

تقارن المعايير أدناه عدة طرق على Llama 3.1 8B و 70B. وهي تُبلّغ عن الدقة، ومعدل الإنتاجية بالرموز في الثانية، والذروة الذاكرة بالجيجابايت، ووقت التكميم.

تم تشغيل Llama 3.1 70B بدقة bf16 على وحدتي معالجة رسومية NVIDIA A100 80GB. تم تشغيل طرق FP8 على وحدة معالجة رسومية واحدة NVIDIA H100 80GB، بينما تم تشغيل جميع الطرق الأخرى على وحدة معالجة رسومية واحدة NVIDIA A100 80GB. تم قياس معدل الإنتاجية عند حجم دفعة 1، مع توليد 64 رمزًا. تتضمن النتائج torch.compile ونوى Marlin حيث تدعم الطريقة ذلك.

تتوزّع النتائج إلى ثلاث نطاقات بتات.

بتالطرق التي تم تقييمهاالذاكرة مقابل bf16الدقة
8bitsandbytes int8، HQQ، Quanto، torchao، FP8أصغر بحوالي مرتينقريب جدًا من bf16
4AWQ، GPTQ، HQQ، bitsandbytes NF4، SINQأصغر بحوالي 4 أضعافمرتفع. غالبًا ما تتصدّر AWQ وGPTQ، لكنها تتطلب معايرة.
أقل من 4VPTQ، AQLM، GPTQ بدقة 2 بتأصغر بأكثر من 4 أضعافانخفاض ملحوظ، لا سيما عند 2 بت. تستغرق خوارزميتا AQLM وVPTQ وقتاً طويلاً للكمّية.

قيِّس دقة الأداء وسرعته على مهمتك الخاصة وأجهزتك قبل اختيار طريقة للإنتاج.

Update on GitHub