vLLM تنتقل إلى LibTorch Stable ABI: إصدارات PyTorch الجديدة لم تعد تتطلب إعادة البناء
تأتي vLLM مع نوى CUDA المُجمَّعة الخاصة بها، وكانت هذه النوى مرتبطة بشدة بإصدار محدد من PyTorch: يصدر إصدار جديد من torch فتضطر إلى إعادة بناء كل شيء. وقد نقل المشروع إضافاته إلى LibTorch Stable ABI، وهي مجموعة من الواجهات التي لا تنكسر بين الإصدارات. وبحسب الفريق، سيتمكن المستخدمون من الترقية بسرعة أكبر، بينما سيحتاج مُعدّو التوزيعات إلى إعادة بناء الحزم بوتيرة أقل.
معالج بواسطة الذكاء الاصطناعي من X: @vllm_project؛ بتحرير Hamidun News
إذا سبق لك أن ثبّتّ vLLM في بيئة يوجد فيها أصلًا إصدار «غير مناسب» من PyTorch، فأنت تعرف هذا الشعور: يشتكي pip، ولا تتطابق ملفات wheel، وتحدّق إليك رسالة خطأ في وقت التشغيل برمز غامض من libtorch. أعلن مشروع vLLM أن الوقت قد حان لإنهاء ذلك: بفضل LibTorch Stable ABI لم يعد من المفترض أن تجبرك إصدارات PyTorch الجديدة على إعادة بناء vLLM.
تنبيه مهم: المصدر إعلان قصير على منصة X مع رابط إلى تحليل مفصّل للترحيل. لا نعيد هنا سرد تفاصيل مثل قائمة المشغّلات التي جرى نقلها والقياسات، ومن الأفضل الاطلاع عليها في مدونة الفريق نفسها. لكن الجوهر والمعنى العملي واضحان منذ الآن.
أين كانت المشكلة
vLLM ليست مجرد Python. ففي داخلها الكثير من شيفرة C++/CUDA الخاصة: نوى انتباه مخصصة، والتعامل مع ذاكرة KV المؤقتة، والتكميم، وكل ما يعصر أقصى أداء من وحدة GPU. تُجمَّع هذه الشيفرة مقابل ترويسات PyTorch وتستخدم واجهاته الداخلية بلغة C++.
المشكلة أن الواجهة الثنائية (ABI) لهذه الأجزاء الداخلية غير مضمونة بين الإصدارات. فإذا جمّعت الشيفرة لإصدار واحد من torch فستواجه مفاجأة على إصدار آخر. ومن هنا تنشأ سلسلة من المتاعب:
- يريد المستخدم PyTorch جديدًا من أجل ميزة أو إصلاح حديث، لكن لا يوجد بعد إصدار جاهز من vLLM له؛
- يضطر مشرفو التوزيعات والصور إلى إعادة بناء الحزم لكل تركيبة؛
- ينتظر المطوّر الذي يتحقق مما إذا كان أحدث nightly من torch قد كسر شيئًا إعادة تجميع كاملة للإضافات.
وفي مشروع كبير ذي نوى CUDA ثقيلة تستغرق هذه العملية دقائق وساعات، بينما يزداد طابور CI طولًا.
ما الذي توفره Stable ABI
الفكرة بسيطة كعقد اتفاق. يحدد PyTorch مجموعة محدودة من واجهات C++ ويَعِد بألا تتغير ثنائيًا بين الإصدارات. فإذا لم تستخدم الإضافة سوى هذه الواجهات، عمل الناتج المُجمَّع نفسه مع إصدارات مختلفة من PyTorch. تخيّل مقبسًا كهربائيًا من نوع قياسي: لا يهم القابس ما هي ماركة العداد المركّب في المبنى.
بالنسبة إلى vLLM، ينقل هذا ترقية PyTorch من فئة «ننتظر إصدارًا وإعادة بناء» إلى فئة «حدّثنا الاعتمادية فحسب». ويحدد الفريق ثلاث مكاسب: يُحدّث المستخدمون مبكرًا، ويعيد الموزّعون البناء بوتيرة أقل، ويستطيع المطوّرون اختبار التغييرات في torch دون إعادة تجميع vLLM.
ماذا تفعل عمليًا
إذا كنت تشغّل vLLM في بيئة الإنتاج فحسب، فلا حاجة إلى تغيير أي شيء بصورة عاجلة. لكن من المفيد متابعة ملاحظات الإصدار: فعندما تصل Stable ABI إلى ملفات wheel المنشورة، ستتوافر لديك حرية أكبر في اختيار إصدار PyTorch. ويكون هذا مفيدًا بصفة خاصة إذا كانت التدريب والمعالجة اللاحقة والاستدلال تعيش في بيئة واحدة، ولكل منها متطلباته الخاصة لإصدار torch.
وإذا كنت تدعم صورًا أو حزمًا داخلية أو تفريعات (forks) خاصة بك من vLLM، فالأثر أوضح: مصفوفة بناء أصغر وعمليات إعادة بناء ليلية عاجلة أقل بعد إصدار PyTorch. وإذا كنت تكتب بنفسك إضافات C++/CUDA لـ PyTorch، فتجربة vLLM حالة جيدة للتقييم: هل يمكن وضع قاعدة شيفرتك ضمن سطح واجهة API المستقر؟
القيود
إن الـ ABI المستقرة تسوية دائمًا. فمجموعة الواجهات المضمونة أضيق من واجهة API الداخلية الكاملة، ولذلك سيتعين إما إعادة كتابة جزء من الشيفرة منخفضة المستوى أو إبقاؤه على المخطط القديم. ولا يتضح من الإعلان مدى اكتمال انتقال vLLM ولا إن بقيت استثناءات. كما أنه من غير الواضح كيف سينعكس ذلك على السرعة: عادةً لا ينبغي أن تؤثر هذه الطبقات في أداء النوى، لكن يستحق الأمر التحقق من الأرقام الواردة في التحليل.
الخلاصة: هذه ليست ميزة صاخبة، بل نظافة بنية تحتية تُزيل الاحتكاك بين مشروعين من أهم المشاريع في حزمة الاستدلال. نادرًا ما تتصدر مثل هذه الأمور العناوين، لكنها توفر على الفرق عشرات الساعات في السنة.
- 12 نوفمبر 2026جنسن هوانغ يتنحى عن منصب الرئيس التنفيذي لـNvidia: الشركة تفقد 1.4 تريليون دولار خلال أسبوعين
- 12 نوفمبر 2026مهندسان يربطان SGLang بمسرّع IBM Spyre في أقل من أسبوع ويرفعان الإنتاجية 3.6 مرة
- 12 نوفمبر 2026سبيس إكس تستبدل كوابل NVLink بلوحة واحدة من 84 طبقة في رف Kessel للذكاء الاصطناعي
- 12 نوفمبر 2026علي بابا تُعدّ لطرح أولي لوحدة الرقائق T-Head في هونغ كونغ — اختبار للذكاء الاصطناعي الصيني
أسئلة وأجوبة حول الخبر
ما أبرز التفاصيل حول أين كانت المشكلة؟
vLLM ليست مجرد Python. ففي داخلها الكثير من شيفرة C++/CUDA الخاصة: نوى انتباه مخصصة، والتعامل مع ذاكرة KV المؤقتة، والتكميم، وكل ما يعصر أقصى أداء من وحدة GPU. تُجمَّع هذه الشيفرة مقابل ترويسات PyTorch وتستخدم واجهاته الداخلية بلغة C++. المشكلة أن الواجهة الثنائية (ABI) لهذه الأجزاء الداخلية غير مضمونة بين الإصدارات. فإذا جمّعت الشيفرة لإصدار واحد من torch فستواجه مفاجأة على إصدار آخر.
ما أبرز التفاصيل حول ما الذي توفره Stable ABI؟
الفكرة بسيطة كعقد اتفاق. يحدد PyTorch مجموعة محدودة من واجهات C++ ويَعِد بألا تتغير ثنائيًا بين الإصدارات. فإذا لم تستخدم الإضافة سوى هذه الواجهات، عمل الناتج المُجمَّع نفسه مع إصدارات مختلفة من PyTorch. تخيّل مقبسًا كهربائيًا من نوع قياسي: لا يهم القابس ما هي ماركة العداد المركّب في المبنى. بالنسبة إلى vLLM، ينقل هذا ترقية PyTorch من فئة «ننتظر إصدارًا وإعادة بناء» إلى فئة «حدّثنا الاعتمادية فحسب».
ما أبرز التفاصيل حول ماذا تفعل عمليًا؟
إذا كنت تشغّل vLLM في بيئة الإنتاج فحسب، فلا حاجة إلى تغيير أي شيء بصورة عاجلة. لكن من المفيد متابعة ملاحظات الإصدار: فعندما تصل Stable ABI إلى ملفات wheel المنشورة، ستتوافر لديك حرية أكبر في اختيار إصدار PyTorch. ويكون هذا مفيدًا بصفة خاصة إذا كانت التدريب والمعالجة اللاحقة والاستدلال تعيش في بيئة واحدة، ولكل منها متطلباته الخاصة لإصدار torch. وإذا كنت تدعم صورًا أو حزمًا داخلية أو تفريعات (forks) خاصة بك من vLLM، فالأثر أوضح: مصفوفة بناء أصغر وعمليات إعادة بناء ليلية عاجلة أقل بعد إصدار PyTorch.
Test Frontier LLMs & Autonomous Agents in One Workspace
Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.
أهم ما في عالم الذكاء الاصطناعي — مرة كل أسبوع
سبع قصص مهمة فعلاً هذا الأسبوع، مختارة بعناية. بلا ضجيج ولا بيانات صحفية.
تم! تحقق من بريدك للتأكيد.