Xe-Forge: Multi-Stage LLM-Powered Kernel Optimization for Intel GPU
تُعد Xe-Forge عبارة عن خط إنتاج متعدد المراحل مدعوم بنماذج لغوية كبيرة (LLM)، يعمل على أتمتة عمليات نقل وتحسين نوى Triton لوحدات معالجة الرسوميات من Intel عبر الجمع بين قاعدة معرفية منسقة للقيود العتادية ووكيل "سلسلة التحقق والتحسين" (Chain-of-Verification-and-Refinement) لتوليد الكود والتحقق منه وصقله بشكل تكراري، مما يحقق تسريعاً كبيراً مقارنة بـ PyTorch eager دون الحاجة إلى التجربة والخطأ اليدوي.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أن لديك طباخاً موهوباً للغاية، من الطراز العالمي (الذكاء الاصطناعي)، يعرف كيف يطهو أي طبق تقريباً بشكل مثالي. لكن هناك عقبة: هذا الطباخ لم يطبخ أبداً في مطبخك الخاص من قبل. مطبخك يحتوي على أفران فريدة، وارتفاعات غريبة لأسطح العمل، وطريقة خاصة جداً في تنظيم التوابل لا يعرفها الطباخ.
إذا طلبت من الطباخ طهي وجبة لمطبخك، فقد ينتج طبقاً لذيذاً، لكنه لن يكون النسخة الأسرع أو الأكثر كفاءة الممكنة لأنه يستخدم تقنياته "القياسية" بدلاً من الاختصارات الخاصة بمطبخك.
Xe-Forge هو نظام جديد صُمم لحل هذه المشكلة، وتحديداً لمعالجات Intel GPUs (المطبخ) و Triton kernels (الوصفات المستخدمة في الذكاء الاصطناعي).
إليك كيف يعمل، مقسماً إلى مفاهيم بسيطة:
1. المشكلة: عنق زجاجة "النسخ واللصق"
في عالم الذكاء الاصطناعي، يكتب المطورون باستمرار أكواداً (kernels) لجعل الحواسيب تعمل بشكل أسرع. وعندما ينقلون هذا الكود إلى نوع جديد من شرائح الكمبيوتر (مثل معالجات Intel الجديدة)، يتعين عليهم تعديل الكود يدوياً مراراً وتكراراً. عليهم ضبط الوصول إلى الذاكرة، وتغيير كيفية تجميع البيانات، وإصلاح العيوب الصغيرة في الأجهزة.
الأمر يشبه طباخاً يضطر لإعادة تعلم كيفية تقطيع البصل في كل مرة ينتقل فيها إلى مطعم جديد، رغم أن البصل هو نفسه. هذا العمل اليدوي بطيء، وممل، ويخلق عنق زجاجة يمنع استخدام ميزات الذكاء الاصطناعي الجديدة.
2. الحل: Xe-Forge (فريق تجديد المطابخ الذكي)
Xe-Forge هو مسار مؤتمت يأخذ وصفة تعمل بالفعل (كود صحيح ولكنه بطيء) ويعيد كتابتها تلقائياً لتكون فائقة السرعة على شرائح Intel. هو لا يكتب الوصفة من الصفر؛ بل يأخذ واحدة موجودة بالفعل ويقوم بصقلها.
تخيل Xe-Forge كأنه فريق تجديد متعدد المراحل يزور المطبخ ويقوم بتسع ترقيات محددة بترتيب ذكي:
- تحسين الخوارزميات: "لماذا نقوم بتقطيع البصل إلى قطع صغيرة بينما يمكن لآلة معالجة الطعام القيام بذلك بضربة واحدة؟" (إنه يجد اختصارات رياضية).
- الاكتشاف: "مهلاً، نحن لسنا بحاجة لطهي هذه الخطوة على الإطلاق؛ يمكننا تخطيها تماماً." (إنه يجد طرقاً مفتوحة لإزالة العمل غير الضروري).
- إصلاح نوع البيانات (Dtype): "نحن نستخدم قدراً ضخماً وثقيلاً لكمية صغيرة من الحساء. لننتقل إلى مقلاة صغيرة وخفيفة الوزن." (إنه يغير دقة البيانات لتوفير الطاقة).
- الدمج (Fusion): "بدلاً من غسل الوعاء، ثم تجفيفه، ثم وضعه في مكانه، دعنا نغسله ونجففه في حركة واحدة." (إنه يجمع الخطوات المنفصلة في خطوة واحدة).
- الوصة إلى الذاكرة: "توقف عن الركض ذهاباً وإياباً إلى خزانة المؤن. دعنا ننظم التوابل بحيث يمكنك التقاطها جميعاً دفعة واحدة." (إنه يحسن كيفية جلب البيانات).
- مؤشرات الكتل (Block Pointers): "توقف عن قياس المسافات بشريط قياس؛ استخدم شريط القياس المسبق العلامات." (إنه يستخدم أدوات برمجية حديثة وفعالة).
- النواة المستمرة (Persistent Kernel): "بدلاً من إرسال عامل جديد لكل بلاطة، دعنا نجعل فريقاً واحداً يبقى ويقوم بالمهمة بأكملها." (إنه يقلل وقت الإعداد).
- ضبط خاص بالـ GPU: "هذا الفرن يعمل بشكل أفضل عند درجة 350 مع تشغيل المروحة على أقصى سرعة. لنضبط ذلك." (إنه يطبق قواعد خاصة بـ Intel).
- الضبط التلقائي (Autotuning): "دعنا نشغل بعض الدفعات التجريبية للعثور على درجة الحرارة المثالية." (إنه يضبط الإعدادات بدقة).
3. "العقل" و "كتاب القواعد"
يستخدم النظام نموذج لغة كبير (LLM) كعقل له، لكن النماذج اللغوية الكبيرة غالباً ما تُدرب على بيانات من شركات أخرى (مثل NVIDIA) ولا تعرف قواعد Intel المحددة.
لحل هذه المشكلة، يستخدم Xe-Forge قاعدة معرفية منسقة. فكر في هذا كأنه كتاب قواعد يجب على الطباخ اتباعه. يحتوي على قواعد محددة لـ Intel مثل:
- "يجب أن تستخدم مجموعات من 32 عاملاً، وليس 24."
- "كتل الذاكرة يجب أن تكون من مضاعفات الرقم اثنين."
- "لا تنسَ وضع سجل (register) محدد هذا."
بدون كتاب القواعد هذا، سيقوم الذكاء الاصطناعي بالتخمين ومن المرجح أن يفشل. ومع وجوده، يظل الذكاء الاصطناعي ضمن "المنطقة الآمنة" لما يمكن للأجهزة القيام به فعلياً.
4. "مفتش السلامة" (وكيل CoVeR)
النظام لا يخمن ويتمنى فقط. بل يستخدم وكيل سلسلة التحقق والتحسين (CoVeR) الذي يعمل كـ مفتش سلامة يتحقق من العمل في كل خطوة:
- هل الكود قابل للتجميع (Compile)؟ (هل يمكن للفرن أن يعمل أصلاً؟)
- هل الهيكل صحيح؟ (هل المكونات في الترتيب الصحيح؟)
- هل النتيجة صحيحة؟ (هل طعم الحساء هو نفسه للحساء الأصلي، ولكن بشكل أسرع؟)
- هل هو أسرع حقاً؟ (هل وفرنا الوقت؟)
إذا ارتكب الذكاء الاصطناعي خطأً، يكتشفه المفتش، ويخبر الذكاء الاصطناعي بالضبط ما الذي سار بشكل خاطئ، ويحاول الذكاء الاصطناعي مجدداً. تستمر هذه الحلقة حتى يجد نسخة تكون صحيحة وأسرع في آن واحد.
5. النتائج: مطبخ تحول جذرياً
اختبر الباحثون هذا النظام على 97 وصفة مختلفة (kernels) ومهمة معقدة للذكاء الاصطناعي تسمى Flash Attention (تُستخدم في النماذج اللغوية الكبيرة) على وحدة معالجة رسومات Intel Arc Pro B70.
- متوسط الفوز: كان الكود المحسن أسرع بمعدل 1.17 مرة من الكود القياسي غير المحسن.
- الانتصارات الكبرى: بالنسبة لـ 67% من الوصفات، أصبح الكود أسرع. ولـ 9 وصفات محددة، كان أسرع من 5 إلى 82 مرة.
- تشبيه: تخيل وصفة كانت تستغرق 82 دقيقة للطهي. وجد Xe-Forge طريقة لطهيها في دقيقة واحدة فقط.
- Flash Attention: بالنسبة لمهمة "Flash Attention" المعقدة، جعل النظام الأداء أسرع بمعدل 2 إلى 13 مرة عبر جميع الاختبارات، دون كسر أي شيء.
- لا تراجع في الأداء: الأهم من ذلك، أن النظام لم يجعل الكود أبطأ بطريقة تؤدي إلى إفساد النتائج. إذا لم يكن التغيير مفيداً، فقد احتفظ بالكود الأصلي.
الخلاصة
يثبت Xe-Forge أنك لست بحاجة إلى ذكاء اصطناٍ فائق لحل كل مشكلة. بدلاً من ذلك، أنت بحاجة إلى عملية ذكية ومنظمة تجمع بين:
- ذكاء اصطناعي قادر.
- كتاب قواعد صارم لجهاز محدد.
- مفتش سلامة صارم للتحقق من كل تغيير.
هذا النهج يزيل العمل اليدوي الممل لنقل كود الذكاء الاصطناعي إلى أجهزة جديدة، مما يسمح للمطورين بنشر تقنيات الذكاء الاصطناوية القوية على شرائح Intel بشكل أسرع بكثير من ذي قبل.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.