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

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

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

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

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

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

## التكميم

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

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

```sh
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](../quantization/bitsandbytes) بدقة 4 بت و8 بت فقط.

```sh
transformers serve \
  --quantization bnb-4bit
```

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

تحسّن [واجهة الانتباه المحسّنة](../attention_interface) كفاءة استخدام الذاكرة وتسرّع عملية الاستدلال.

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

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

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

```sh
pip install kernels
transformers serve --continuous-batching
```

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

## تجميع

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

> [!NOTE]
> لا يتوافق Compile مع الدفع المستمر.

```sh
transformers serve \
  --compile
```

## نوع البيانات

توفّر أنواع البيانات `"bfloat16"` أو `"float16"` [أنواع البيانات](../models#model-data-type) في الذاكرة وتزيد من معدل الإنتاجية.

```sh
transformers serve \
  --continuous-batching \
  --dtype "bfloat16"
```

