EasyBalance: Cross-Layer Load Balancing in Distributed MoE Inference
تُعد EasyBalance استراتيجية موازنة أحمال عبر الطبقات للاستدلال الموزع لنموذج خليط الخبراء (MoE)، والتي تعمل على تخفيف حدة خمول وحدة معالجة الرسومات الناتج عن توزيعات التوجيه غير المتماثلة من خلال جدولة وتأجيل أعباء العمل عبر الطبقات بشكل جشع دون الحاجة إلى تكرار الخبراء أو ترحيلهم أو إجراء تعديلات على تعيين الخبير للجهاز.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك تدير مكتبة ضخمة وعالية السرعة حيث يحتاج آلاف الطلاب (الرموز/Tokens) إلى العثور على إجابات من موسوعة عملاقة. هذه الموسوعة ليست من تأليف شخص واحد؛ بل هي "خليط من الخبراء" (Mixture of Experts - MoE)، مما يعني وجود مئات الكتاب المتخصصين المختلفين (الخبراء) بداخلها. عندما يطرح طالب سؤالاً، يقرر أمين مكتبة ذكي (الموجه/Router) بسرعة أي عدد قليل من الكتاب هم الأنسب للإجابة. ولجعل هذه العملية فائقة السرعة، يتم تقسيم هؤلاء الكتاب عبر العديد من أجهزة الكمبيوتر (الأجهزة) التي تعمل بالتوازي.
ولكن هناك عقبة: ليست كل الأسئلة متشابهة. أحياناً، تتوجه حشود ضخمة من الطلاب لطرح أسئلة يعرف الإجابة عليها كاتب واحد محدد فقط. فيصبح جهاز الكمبيوتر الخاص بهذا الكاتب مثقلاً ومزدحماً، مما يؤدي إلى إبطائه، بينما تجلس أجهزة الكمبيوتر الأخرى، التي يكون كتابها أقل انشغالاً، مكتوفة الأيدي تنتظر انتهاء هذا الكاتب البطيء. هذه "لعبة الانتظار" تهدر الكثير من الطاقة والوقت. لسنوات، كان الحل هو توظيف المزيد من الكتاب أو نقلهم من مكان لآخر لموازنة الحمل، لكن ذلك يستهلك الكثير من الذاكرة ويصعب القيام به أثناء العمل.
هنا يأتي دور EasyBalance، وهي استراتيجية ذكية تحل مشكلة لعبة الانتظار هذه دون الحاجة لتوظيف أحد جديد أو تغيير ترتيب الأثاث. فبدلاً من محاولة إصلاح حال الكتاب، يقوم EasyBalance بتغيير توقيت طرح الطلاب لأسئلتهم. لقد أدرك أنه بينما تعالج المكتبة عادةً الأسئلة طبقة تلو الأخرى، يمكنها في الواقع السماح للطلاب من طبقات مختلفة بالعمل معاً في نفس الوقت. ومن خلال دمج وتوفيق هذه المجموعات، يحصل الكتاب المشغولون على استراحة لأن "الأسئلة الثقيلة" من مجموعة واحدة يتم موازنتها بـ "الأسئلة الخفيفة" من مجموعة أخرى. والنتيجة هي أن أجهزة الكمبيوتر تظل مشغولة، وتختفي وقت الانتظار، وتعمل المكتبة بأكملها بشكل أسرع بكثير.
المشكلة: قاعدة "انتظر الأبطأ"
في عالم الذكاء الاصطناعي، وتحديداً مع نماذج "خليط من الخبراء" هذه، تم تصميم النظام ليكون فعالاً للغاية. فهو لا يفعل سوى عدد صغير من "الخبراء" لكل قطعة من البيانات. ولكن في الإعداد الموزع — حيث ينتشر هؤلاء الخبراء عبر عدة بطاقات رسوميات (GPUs) — تصبح الأمور فوضوية.
تخيل سباق تتابع حيث لا يتم تسليم العصا للعداء التالي إلا بعد أن ينهي الجميع مرحلتهم. إذا كان أحد العدائين يحمل حقيبة ظهر ثقيلة (خبير "ساخن" لديه الكثير من الرموز)، فإنه سيبطئ الفريق بأكمله. العداءون الآخرون، الذين أنهوا أحمالهم الخفيفة، سيضطرون للوقوف بلا حراك. في مصطلحات الورقة البحثية، يسمى هذا عدم توازن الحمل (Load Imbalance). يتعطل النظام بسبب الجهاز الأبطأ، مما يترك الأجهزة الأخرى خاملة.
المحاولات السابقة لعلاج ذلك تضمنت تكرار الخبراء (Expert Replication) (توظيف نسخ إضافية من الكتاب المشغولين) أو هجرة الخبراء (Expert Migration) (نقل الكتاب إلى أجهزة كمبيوتر مختلفة). ورغم أن هذه الطرق تنجح، إلا أن لها عيوباً كبيرة؛ فهي تستهلك الكثير من الذاكرة، وتستغرق وقتاً إضافياً في التواصل، وهي جامدة. إذا تغير نوع الأسئلة التي تتلقاها المكتبة (المهمة)، فقد تفشل الخطة القديمة تمام التمام.
الحل: EasyBalance
يقترح المؤلفون، ييزي وو وزملاؤه، نهجاً جديداً يسمى EasyBalance. فكرتهم الكبرى هي التوقف عن محاولة إصلاح ربط الكتاب بأجهزة الكمبيوتر، وبدلاً من ذلك، إصلاح جدولة العمل.
يعتمدون على رؤيتين أساسيتين:
- الفائض عبر الطبقات (Cross-Layer Redundancy): على الرغم من أن طبقة معينة من النموذج لديها مجموعة محددة من الخبراء، إلا أن خبراء الطبقات الأخرى موجودون بالفعل في ذاكرة الكمبيوتر وجاهزون للعمل. إنهم "فائضون طبيعياً" للمهمة الحالية. لست بحاجة لتوظيف نسخ جديدة؛ أنت فقط بحاجة لاستخدام ما تملكه بالفعل.
- دمج عبء العمل (Workload Combination): تقترح الورقة أنه يمكنك تشغيل دفعات صغيرة (Micro-batches) من أسئلة من طبقات مختلفة من النموذج في وقت واحد. ورغم أن النموذج يعالج الأشياء عادةً طبقة تلو الأخرى، إلا أن الرياضيات تثبت أن دمج هذه المجموعات آمن، بل وفي كثير من الأحيان يكون أفضل. فإذا كانت المجموعة (أ) لديها حمل ثقيل على الكمبيوتر رقم 1، ولكن المجموعة (ب) لديها حمل ثقيل على الكمبيوتر رقم 2، فإن تشغيلهما معاً يوازن الوزن الإجمالي. سيناريو "الحالة الأسوأ" (حيث تصطدم المجموعتان بنفس الكمبيوتر) نادر إحصائياً، خاصة مع إضافة المزيد من أجهزة الكمبيوتر.
كيف يعمل: "المجدول الذكي"
يعمل EasyBalance كمراقب مرور ذكي. فبدلاً من إرسال جميع الطلاب من الطبقة 1، ثم جميع الطلاب من الطبقة 2، فإنه ينظر إلى الحشد الحالي. يختار مزيجاً من الطلاب من طبقات مختلفة للعمل معاً.
- يختار مجموعة فرعية من هذه الدفعات الصغيرة لتنفيذها فوراً.
- يؤجل (ينتظر) المجموعات الأخرى إذا كانت ستتسبب في حدوث اختناق.
- يفعل ذلك دون تغيير مكان إقامة كل خبير على أي جهاز كمبيوتر.
هذا يعني أن النظام يمكنه التكيف فوراً مع أي نوع جديد من المهام دون الحاجة لإعادة تكوين الأجهزة أو الذاكرة. الأمر يشبه مطبخ مطعم يقرر طهي البرجر والسلطة في نفس الوقت لأن الشواية مشغولة ومحطة السلطة فارغة، بدلاً من انتظار انتهاء الشواية من كل شيء قبل البدء في السلطة.
النتائج: أسرع وأقل هدراً
اختبر الباحثون EasyBalance على عدة نماذج ضخمة، بما في ذلك Qwen3-30B و Moonlight-16B، باستخدام 8 وحدات معالجة رسومية (GPUs). واستخدموا اختباراً يسمى LongBench، والذي يغطي أنواعاً مختلفة من المهام مثل فهم القراءة وتوليد الأكواد.
كانت النتائج متسقة ومبهرة:
- تقليل الخمول: قلل EasyBalance من "عدم استغلال وحدة المعالجة الرسومية" (الوقت الذي تقضيه الحواسيب في عدم فعل شيء) بنسبة تتجاوز الـ 40% في معظم الحالات. وفي حالات كثيرة، انخفض وقت الخمول من حوالي 0.35 (35% هدر) إلى حوالي 0.2 (20% هدر).
- استدلال أسرع (Faster Inference): نظرًا لأن أجهزة الكمبيوتر لم تكن تنتظر بعضها البعض، انخفض الوقت الإجمالي للحصول على الإجابة (زمن الاستجابة النهائي) بشكل كبير.
- المرونة: على عكس الطرق السابقة التي كانت تتطلب معرفة المهمة المحددة مسبقاً لإعداد الخبراء، عمل EasyBalance بنفس الكفاءة عبر جميع المهام الـ 13 المختلفة التي تم اختبارها، من المعلومات العامة إلى البرمجة.
كما استكشفت الورقة استراتيجيات "جدولة" مختلفة (كيف يقرر النظام دمج المجموعات). ووجدوا أن استراتيجية تسمى MaxUtil (التي تحاول تعظيم استخدام كل وحدة معالجة رسومية) هي الأفضل، ولكن حتى الاستراتيجيات الأبسط والأسرع مثل CumUtil (إضافة الدفعات واحدة تلو الأخرى إذا كانت مفيدة) كانت أفضل بكثير من عدم فعل أي شيء.
لماذا يهم هذا؟
الجزء الأكثر إثارة في EasyBalance هو أنه لا يتطلب أي ذاكرة إضافية أو إعادة تكوين معقدة. إنه يعمل مع الإعداد الحالي. ومع ازدياد حجم نماذج الذكاء الاصطعي وتعقيدها، ستزداد مشكلة انتظار بعض الأجهزة بينما تعمل الأخرى سوءاً. تشير هذه الورقة إلى أنه بمجرد أن نكون أكثر ذكاءً في تحديد متى نقوم بتشغيل العمل، بدلاً من أين نضع الخبراء، يمكننا جعل أنظمة الذكاء الاصطناعي الضخمة هذه أكثر كفاءة بشكل كبير.
ويشير المؤلفون إلى أنه على الرغم من فعالية طريقتهم العالية، إلا أنها تعتمد على الاحتمالية الإحصائية بأن الأحمال الثقيلة لن تصيب نفس الكمبيوتر في نفس الوقت. وفي اختباراتهم عبر نماذج ومهام مختلفة، سرعت هذه الاستراتيجية عملية الاستدلال باستمرار، مما يثبت أنه في بعض الأحيان، أفضل طريقة لحل الاختناق هي السماح للعمال بمساعدة بعضهم البعض للوصول إلى خط النهاية، بدلاً من محاولة نقل العمال أنفسهم.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.