ليرة تركية؛ د: أصبحت الواجهة الخلفية vLLM للمحولات الآن سريعة (أو أسرع) من تطبيقات vLLM المخصصة للعديد من بنيات LLM. يمكن لمؤلفي النماذج الاستفادة تلقائيًا من تطبيقات المحولات الخاصة بهم للحصول على استنتاج vLLM فائق السرعة مجانًا.
uv pip install --upgrade vllm --torch-backend auto
أصبحت مكتبة المحولات مكتبة النمذجة المرجعية للتعلم الآلي. وهو يدعم أكثر من 450 بنية من خلال واجهات برمجة التطبيقات المتسقة، وقد تم تصميمه لتحقيق الهدف الرئيسي المتمثل في تنفيذ النماذج مكتفية ذاتيا و من السهل أن نفهم. إن المرور عبر كود المحولات يجعل من السهل على المساهمين معرفة كيفية عمل البنية، ثم نقلها إلى أطر عمل أخرى مثل vLLM، وSGLang، وMLX، وllama.cpp، وغيرها الكثير.
لقد اعتنقنا هذا الدور بشكل كامل في النظام البيئي ونستثمر الكثير من الجهد لتسهيل الأمر. كانت الخطوة الكبيرة في هذا الاتجاه هي دمج المحولات في العام الماضي كواجهة خلفية للنمذجة في vLLM. وقد سمح هذا لمؤلفي النماذج بتشغيل نماذج المحولات (LLMs وVLMs على حد سواء) داخل vLLM، دون الحاجة إلى نقل أي شيء. توفر Transformers رمز النمذجة، ويوفر vLLM تقنيات الاستدلال المحسنة للغاية مثل التجميع المستمر ونواة الاهتمام المخصصة.
أصبح هذا التكامل أفضل الآن 🚀!
عرض
لقد وضعنا الواجهة الخلفية لنمذجة المحولات لـ vLLM وجهاً لوجه مع تطبيقات vLLM الأصلية المكتوبة بخط اليد عبر ثلاثة نماذج Qwen3 مختلفة جدًا:
- نموذج كثيف 4B على وحدة معالجة رسومات واحدة
- 32B نموذج كثيف على التوازي الموتر
- 235B-parameter FP8 خليط من الخبراء في البيانات + توازي الخبراء على نفس العقدة 8×H100
![]() |
|---|
| النتيجة: نمذجة المحولات الخلفية الآن يلتقي أو يدق الإنتاجية الأصلية على كل واحد منهم. |
يعد تشغيل أي نموذج * Hugging Face من خلال الواجهة الخلفية لنمذجة المحولات علامة واحدة – --model-impl transformers. يتم تكوينه باستخدام خيارات التوازي المعتادة، لذلك لا يتغير أي شيء يتعلق بإعداد العرض الخاص بك:
vllm serve Qwen/Qwen3-4B --model-impl transformers
vllm serve Qwen/Qwen3-32B --model-impl transformers --tensor-parallel-size 2
vllm serve Qwen/Qwen3-235B-A22B-FP8 --model-impl transformers --data-parallel-size 8 --enable-expert-parallel
*النماذج التي تستخدم الانتباه الخطي غير مدعومة حاليًا، ولكن سيتم دعمها قريبًا! من غير المرجح أن تعمل النماذج المخصصة حيث يوجد الكود في Hub repo لأنها لن تكون مكتوبة بشكل متوافق.
كيف قمنا بقياس
تتم مقارنة كل نموذج ضمن ثلاثة شروط متطابقة في كل شيء باستثناء مسار التعليمات البرمجية:
- محلي —
--model-impl vllm، نموذج vLLM المكتوب بخط اليد (الشريط المناسب للمطابقة) - بعد —
--model-impl transformersمع العلاقات العامة - قبل —
--model-impl transformersبدون العلاقات العامة
يتوفر العداء الكامل القابل للتكرار كجوهر: benchmark.sh
إذن، ما الجديد؟
تم استخدام الواجهة الخلفية لنمذجة المحولات لـ vLLM للتركيز عليها انتباه باعتبارها عنق الزجاجة للاستدلال. من خلال توصيل تنفيذ انتباه vLLM في وقت التشغيل، يمكننا جعل نموذج المحولات يعمل بكفاءة داخل محرك vLLM. ولكن هناك العديد من الأبعاد لعمليات النشر التي لا يمكن إلا للمنفذ المخصص استهدافها لاستخراج الحد الأقصى من أداء الاستدلال. يساهم التوازي عبر وحدات معالجة الرسومات، والتجميع، والنوى المدمجة، وغير ذلك الكثير، في الاستفادة من أجهزتك لتحقيق استنتاج فائق السرعة.
![]() |
|---|
| تم استخدام نموذج جديد ليتم دمجه مرة واحدة للمحولات، ومرة واحدة لـ vLLM مع تحسينات مخصصة |
عندما أراد مؤلفو النماذج الحصول على أفضل أداء على الإطلاق، كانوا لا يزالون يكتبون تطبيقات vLLM مخصصة.
![]() |
|---|
| يمكن الآن استخدام النموذج الجديد بمجرد دمجه في المحولات على الفور في vLLM مع سرعة تنفيذ vLLM الأصلية |
يطبق أحدث تكرار للواجهة الخلفية لنمذجة المحولات لـ vLLM بشكل ديناميكي عمليات دمج طبقة محددة للاستدلال في وقت التشغيل لتتناسب مع سرعة تطبيقات التعليمات البرمجية المخصصة، للبنيات المتوافقة.
كيف يعمل؟
تُستخدم الآن الواجهة الخلفية لنمذجة المحولات لـ vLLM torch.fx لإجراء تحليل ثابت على الرسم البياني للنموذج. تبحث هذه العملية عن الأنماط المعروفة التي يمكن تحسينها. بعد تحديد أي أنماط، فإنه يستخدم ast (شجرة بناء الجملة المجردة) لمعالجة الكود المصدري وإعادة كتابة بعض العمليات في مكانها.
ماذا يمكننا أن نحقق مع هذا؟
- العمليات المدمجة التي يتم تعيينها من عدة إلى واحدة على نواة vLLM المحسنة (فائقة)، مثل تلك المستخدمة في موازاة الخبراء (EP) في نماذج خليط الخبراء (MoE).
- العمليات الرئيسية الأخرى المدمجة هي vLLM
MergedColumnParallelLinearوQKVParallelLinear. تسمح لنا هذه الكتل باستنتاج خطط متوازية لـ TP (الموتر الموازي). يمكن أيضًا استنتاج خطط PP (خطوط الأنابيب الموازية) إذا كان من السهل التعرف على قائمة حظر وحدة فك التشفير. - لا تزال النماذج التي تم التلاعب بها قابلة للتجميع بالكامل (الشعلة)، ويتم تمريرها من خلالها
torch.compileورسوم بيانية CUDA، تمامًا مثل تطبيق نموذج vLLM المخصص. - على عكس تطبيقات نموذج vLLM، يمكن استخدام تطبيقات نموذج Transformers في تمرين. لذا يمكنك استخدام نفس رمز النموذج للتدريب/التقييمات/طرح RL.
كما هو موضح أعلاه، يؤدي هذا إلى سرعة استدلال vLLM الأصلية للنماذج المتوافقة، دون الحاجة إلى كتابة سطر واحد من التعليمات البرمجية لتحسين النموذج للاستدلال.
نحن بصدد كتابة منشور مدونة تفصيلي للتعمق في طرق الاستدلال المحسنة هذه وشرح بالتفصيل كيفية التعامل مع النموذج للتكيف معها.
موارد


