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

تحسينات الخادم

يتضمن transformers serve تحسينات لزيادة الإنتاجية وتقليل استهلاك الذاكرة.

الدفعية المستمرة

يقوم Continuous batching بجمع الطلبات ديناميكيًا وتداخلها لمشاركة عمليات المرور الأمامية على وحدة معالجة الرسوميات. تنضم الطلبات الجديدة إلى الدفعة بينما تتقدم الطلبات الأخرى في مرحلة التعبئة المسبقة. وتخرج الطلبات المكتملة بعد مرحلة فك الترميز. وهذا يزيد من استغلال وحدة معالجة الرسوميات ومعدل الإنتاجية دون المساس بزمن الاستجابة.

أضف --continuous-batching لتفعيله.

transformers serve \
  --continuous-batching \
  --attn-implementation "sdpa"

التكميم

تقلل التكميم من استهلاك الذاكرة عن طريق تعيين الأوزان إلى دقة أدنى. يتوافق transformers serve مع جميع طرق التكميم في Transformers. وهو يدعم النماذج المُكمَّمة مسبقًا والتكميم وقت التشغيل.

لا تتطلب النماذج المُكمّاة مسبقًا أي تغييرات. فهي توفر أفضل توازن بين الأداء والدقة. ثبّت مكتبة التكميم المناسبة. ثم مرّر النموذج المُكمّى مسبقًا من Hub إلى معامل model.

curl http://localhost:8000/v1/responses \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen/Qwen3-8B-GGUF",
    "stream": true,
    "input": "Tell me a three sentence bedtime story about a unicorn."
  }'

استخدم --quantization لتكميم النموذج وقت التشغيل. وهذا مفيد للنقاط الفحصية الجديدة أو عمليات الضبط الدقيق التي لا تملك أوزاناً مُكمَّمة مسبقاً. يتم دعم تكميم bitsandbytes بدقة 4 بت و8 بت فقط.

transformers serve \
  --quantization bnb-4bit

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

تحسّن واجهة الانتباه المحسّنة كفاءة استخدام الذاكرة وتسرّع عملية الاستدلال.

transformers serve \
  --continuous-batching \
  --attn-implementation "flash_attention_2"

Apple Silicon (انتباه وميض Metal)

عند تفعيل --continuous-batching على MPS، ثبّت kernels للانتقال إلى kernels-community/metal-flash-sdpa. يعمل هذا الخيار أسرع بنسبة 1.66 مرة من SDPA عند استخدام generate_batch (gsm8k، Qwen2.5-0.5B-Instruct، fp16)، ويتطابق معه رمزًا برمز تحت فك الترميز الجشع.

pip install kernels
transformers serve --continuous-batching

بدون الدفع المستمر (Continuous Batching)، تحتفظ النماذج بآلية الانتباه الافتراضية (SDPA). مرّر --attn-implementation لتجربة آلية أخرى، مثل kernels-community/metal-flash-sdpa.

تجميع

يتتبع torch.compile حلقة فك الترميز ويجمّعهما للحصول على استدلال أسرع.

لا يتوافق Compile مع الدفع المستمر.

transformers serve \
  --compile

نوع البيانات

توفّر أنواع البيانات "bfloat16" أو "float16" أنواع البيانات في الذاكرة وتزيد من معدل الإنتاجية.

transformers serve \
  --continuous-batching \
  --dtype "bfloat16"
Update on GitHub