# vLLM

[vLLM](https://github.com/vllm-project/vllm) هو محرك استدلال عالي الإنتاجية لتوفير نماذج اللغة الكبيرة على نطاق واسع. يقوم بدمج الطلبات بشكل مستمر ويحافظ على ذاكرة كاش KV مضغوطة باستخدام PagedAttention.

اضبط `model_impl="transformers"` لتحميل نموذج باستخدام واجهة Transformers modeling.

```py
from vllm import LLM

llm = LLM(model="meta-llama/Llama-3.2-1B", model_impl="transformers")
print(llm.generate(["The capital of France is"]))
```

مرّر `--model-impl transformers` إلى أمر `vllm serve` للخدمة عبر الإنترنت.

```bash
vllm serve meta-llama/Llama-3.2-1B \
    --task generate \
    --model-impl transformers
```

## تكامل Transformers

1. تحمّل [AutoConfig.from_pretrained()](/docs/transformers/main/ar/model_doc/auto#transformers.AutoConfig.from_pretrained) ملف `config.json` الخاص بالنموذج من Hub أو من ذاكرة التخزين المؤقت الخاصة بك على Hugging Face. ثم يتحقق vLLM من حقل `architectures` مقابل سجل النماذج الداخلي الخاص به لتحديد فئة نموذج vLLM التي يجب استخدامها.
2. إذا لم يكن النموذج مسجلاً في السجل، يستدعي vLLM [AutoModel.from_config()](/docs/transformers/main/ar/model_doc/auto#transformers.AutoModel.from_config) لتحميل تنفيذ النموذج الخاص بـ Transformers بدلاً من ذلك.
3. تحمّل [AutoTokenizer.from_pretrained()](/docs/transformers/main/ar/model_doc/auto#transformers.AutoTokenizer.from_pretrained) ملفات المُجزِّئ. ويخزّن vLLM بعض التفاصيل الداخلية للمُجزِّئ لتقليل الحمل أثناء الاستدلال.
4. تنزيل أوزان النموذج من Hub بتنسيق safetensors.

يؤدي تعيين `model_impl="transformers"` إلى تجاوز سجل نماذج vLLM وتحميل النموذج مباشرةً من Transformers. يستبدل vLLM معظم وحدات النموذج (MoE، الانتباه، الطبقات الخطية) بإصدارات محسّنة خاصة به مع الحفاظ على بنية النموذج في Transformers.

## الموارد

- راجع [وثائق vLLM](https://docs.vllm.ai/en/latest/models/supported_models.html#transformers) لمزيد من أمثلة الاستخدام والنصائح.
- يشرح [التكامل مع Hugging Face](https://docs.vllm.ai/en/latest/design/huggingface_integration/) كيفية تكامل vLLM مع Transformers.

