Every Expert Counts: ExactMoE for Memory-Efficient W4A16 Inference
يُعد ExactMoE إطار عمل استنتاجي فعال من حيث استهلاك الذاكرة لنماذج خليط الخبراء (Mixture-of-Experts) بتنسيق W4A16، حيث يقوم بتكميم الخبراء الموجهين فقط ويستخدم ذاكرة تخزين مؤقت للمنافذ (slot cache) مستقرة في وحدة معالجة الرسومات لتحقيق تقليل في ذاكرة وحدة معالجة الرسومات يصل إلى 87% مع الحفاظ على أكثر من 99% من دقة النموذج الأساسي وتحسين الإنتاجية بشكل كبير مقارنة بالتنفيذ المتسلسل.
تعتمد الذكاء الاصطناعي الحديث غالبًا على أدمغة رقمية ضخمة تحتوي على مليارات المعلمات (parameters)، وهي بمثابة مقابض قابلة للضبط تحدد كيفية تفكير النظام. ولجعل هذه الأنظمة أسرع وأكثر كفاءة، طور المهندسون تصميمًا يُسمى "خليط الخبراء المتفرق" (sparse mixture of experts). تخيل مكتبة حيث، بدلًا من ترك كل الكتب مفتوحة على الطاولة لكل قارئ، يتم سحب عدد قليل من المجلدات المحددة فقط للإجابة على سؤال معين. في هذه النماذج، تكون "الكتب" عبارة عن شبكات فرعية متخصصة تُسمى "الخبراء". فلكل قطعة نص يعالجها النموذج، يقرر "الموجه" (router) أي مجموعة صغيرة من الخبراء سيتم تفعيلها، تاركًا البقية في حالة خمول. هذا النهج المشروط يوفر قدرًا هائلًا من قوة الحوسبة أثناء عملية التفكير. ومع ذلك، لا تزال هناك عقبة كبيرة تواجه أي شخص يحاول تشغيل هذه النماذج على أجهزة قياسية: فبالرغم من أن معظم الخبراء لا يُستخدمون لمهمة معينة، إلا أنه يجب تخزين "مكتبة الخبراء" بأكملها في ذاكرة الكمبيوتر. وغالبًا ما يجبر هذا المتطلب النظام على استخدام بطاقات رسوميات باهظة الثمن وذات سعة عالية، أو يؤدي إلى إبطائه بشكل كبير أثناء نقل البيانات بين أنواع مختلفة من الذاكرة.
اقترح أحد الباحثين طريقة جديدة تسمى "ExactMoE" تعالج مشكلة التخزين والسرعة هذه دون التضحو بقدرة النموذج على الوصول إلى قاعدة معرفته الكاملة. يركز نهجهم على نوع محدد من ضغط الذاكرة الفعال المعروف باسم "التكميم رباعي البت" (four-bit quantization). وببساط، تعمل هذه التقنية على تقليل دقة الأرقام المستخدمة لتمثيل أوزان الخبراء، مما يقلص حجمها بشكل كبير مع الحفاظ على قابليتها للاستخدام. ويكمن الابتكار في كيفية إدارة هذه البيانات المضغوطة؛ فبدلاً من محاولة حشر المكتبة الضخمة بأكملها في الذاكرة السريعة والمحدودة لبطاقة الرسوميات، يقوم الباحث بتخزين الخبراء المضغوطين في الذاكرة الرئيسية للكمبيوتر. ثم يستخدم نظامًا ذكيًا ومرنًا لنقل الخبراء المطلوبين للحظة الحالية فقط إلى ذاكرة بطاقة الرسوميات، وتنفيذهم في مجموعات (batches) متراصة. ومن الأهمية بمكان أن يضمن هذا النظام بقاء كل خبير متاحًا وتفيذه تمامًا كما يوجهه موجه النموذج، دون التخلص من أي جزء من المكتبة الأصلية أو استبداله.
اختبر الباحث هذا النظام على نموذج لغوي ضخم مفتوح المصدر يُعرف باسم "OLMoE"، وقام بتشغيله على بطاقة رسوميات واحدة من فئة المستهلكين. وقارن طريقته الجديدة بالنسخة القياسية غير المضغوطة من النموذج. وأظهرت النتائج انخفاضًا هائلاً في الذاكرة المطلوبة لتشغيل النظام. فعند استخدام تكوين يبقي عددًا معتدلًا من الخبراء جاهزين في ذاكرة بطاقة الرسوميات في أي وقت، انخفض ذروة استخدام الذاكرة بنسبة تقارب 87 بالمائة. سمح هذا التوفير الهائل للنموذج بالعمل على أجهزة كانت ستكون أصغر من أن تتحمله لولا ذلك. ومن حيث السرعة، كان النموذج المضغوط أبطأ قليلاً من النسخة القياسية في بعض الإعدادات، لكنه استطاع اللحاق بها بل وتجاوزها في حالات أخرى عندما تم استغلال الذاكرة بالكامل. وتحديدًا، عندما تم ضبط النظام لإبقاء جميع الخبراء مستقرين في ذاكرة بطاقة الرسوميات، عالج النص بسرعة أكبر بنسبة 47 بالمائة تقريبًا من النسخة القياسية، مع استهلاك ذاكرة إجمالية أقل بكثير.
وبعيدًا عن السرعة والذاكرة، حرص الباحث على قياس ما إذا كان هذا الضغط سيؤثر على جودة الإجابات التي ينتجها النموذج. فقد مرر النموذج عبر آلاف الأسئلة متعددة الخيارات التي تغطي مواضيع متنوعة، مقارنًا نتائج النسخة المضغوطة بالنسخة الأصلية. وكانت النتائج متقاربة بشكل مذهل؛ حيث احتفظ النموذج المضغوط بأكثر من 99 بالمائة من دقة النموذج الأصلي. ورغم وجود فرق ضئيل يمكن قياسه إحصائيًا في الأداء، إلا أن هذا الانخفاض كان صغيرًا جدًا لدرجة تشير إلى أن الطريقة قابلة للتطبيق في العالم الحقيقي. كما أظهرت الدراسة أن النظام، من خلال تجميع تنفيذ هؤلاء الخبراء معًا، يمكنه معالجة البيانات بكفاءة أكبر بكثير مما لو تعامل معهم واحدًا تلو الآخر، حيث ضاعف السرعة تقريبًا مقارنة بالنهج التسلسلي.
يسلط هذا العمل الضوء على حدود عملية حيث تتقاطع الذاكرة ونقل البيانات وسرعة المعالجة. ويؤكد الباحث أن طريقته لا تغير المنطق الأساسي لكيفية توجيه النموذج لأفكاره أو أي الخبراء يختار؛ بل تغير فقط كيفية تخزين هؤلاء الخباء ونقلهم. لا يزال الموجه يتخذ نفس القرارات، ويظل كل خبير مختار يؤدي حساباته. الفرق الوحيد هو أن الخبراء يتم تخزينهم بتنسيق مضغوط للغاية ويتم نقلهم في مجموعات فعالة بدلاً من إبقائهم في شكلهم الضخم الكامل. هذا التمييز حيوي لأنه يعني أن النظام يظل أمينًا لتصميم النموذج الأصلي، متجنبًا عيوب الطرق الأخرى التي قد تقوم بتقليم أو تعطيل بعض الخبراء بشكل دائم لتوفير المساحة.
في النهاية، يقدم هذا البحث مسارًا واضحًا لنشر النماذج اللغوية المتطورة على أجهزة أكثر سهولة في الوصول إليها. ومن خلال إثبات إمكانية جعل النموذج يحتفظ بمكتبة خبراء كاملة متاحة مع استخدام جزء ضئيل من الذاكرة، أظهر الباحث أن الذكاء الاصطناعي عالي الأداء لا يتطلب بالضرورة بنية تحتية ضخمة ومتخصصة. تعمل الطريقة من خلال التعامل مع الخبراء المضغوطين كمورد واحد موحد يمكن استدعاؤه واستخدامه عند الطلب، مما يضمن بقاء النموذج قادرًا وفعالًا. وبينما أُجريت الدراسة على نموذج محدد وإعدادات أجهزة معينة، فإن المبادئ تشير إلى إمكانات أوسع لجعل الذكاء الاصطناعي المتقدم متاحًا على نطاق أوسع، بشرًا ما تمت إدارة التوازن بين توفير الذاكرة ونقل البيانات بعناية. وتشير النتائج إلى أنه مع الهندسة الصحيحة، يمكن خفض الحاجز أمام تشغيل هذه الأنظمة المعقدة بشكل كبير دون المساس بالذكاء الذي تقدمه.
ملخص تقني: ExactMoE لاستنتاج فعال في الذاكرة بنظام W4A16
بيان المشكلة
تعمل نماذج اللغة ذات الخليط من الخبراء (MoE) المعتمدة على التخلخل (Sparse) على تحسين كفاءة التدريب والحساب عبر تفعيل مجموعة فرعية صغيرة فقط من الخبراء لكل رمز (token). ومع ذلك، لا يزال النشر مكلفاً لأن وقت التشغيل يجب أن يخزن ويدير "بنك الخبراء" بالكامل، حتى بالنسبة للخبراء غير النشطين. تواجه الحلول الحالية معضلة ثلاثية الأبعاد:
سعة وحدة معالجة الرسومات (GPU Capacity): الاحتفاظ ببنك الخبراء الكامل على المسرع يستهلك ذاكرة فيديو (VRAM) مفرطة.
حركة البيانات من المضيف إلى الجهاز (Host-to-Device Traffic): يؤدي نقل الخبراء إلى ذاكرة وحدة المعالجة المركزية (CPU) إلى حدوث تأخير بسبب نقل البيانات.
خطأ التكميم (Quantization Error): تقليل الدقة لتوفير المساحة يمكن أن يؤدي إلى تدهور جودة النموذج.
غالباً ما تعالج النهج الحالية هذه المشكلات بشكل منعزل (مثل تكميم الخبراء فقط، أو التخصيص مختلط الدقة، أو الإزاحة مع التخزين المؤقت)، لكنها تكافح للجمع بينها مع الحفاظ على مجموعة الخبراء الكاملة وتجنب التنفيذ البطيء لكل خبير على حدة أو تجسيد (materialization) عابر بصيغة FP16.
المنهجية: ExactMoE
ExactMoE هو تصميم استنتاج يطبق تكميم أوزان متماثل من المجموعة-128 بأربعة بتات (W4A16) حصرياً للخبراء الموجهين (routed experts)، مع الحفاظ على الموجه (router)، والانتباه (attention)، والتمثيلات (embeddings)، والتطبيع (normalization)، ورأس نموذج اللغة بصيغة BF16. يعتمد النظام على ثلاث ركائز أساسية:
1. التمثيل المعتمد على النواة والتكميم (Kernel-Native Representation and Quantization)
مخطط التكميم: يتم تكميم أوزان الخبراء مسبقاً إلى تنسيق INT4 متماثل مع مقاييس FP16، مقسمة إلى مجموعات من 128 وزناً.
التنسيق: يتم حزم الأوزان المكممة والمقاييس في تنسيق MARLIN الأصلي، وهو تمثيل معتمد على النواة ومحسن لعمليات ضرب المصفوفات W4A16.
التخزين: يتم تخزين هذا التمثيل المعبأ في ذاكرة المضيف المثبتة (pinned host memory) وفي مخزن مؤقت للفتحات (slot cache) مقيم في الـ GPU وقابل للضبط. والأهم من ذلك، أن مجمع المضيف يخزن التمثيل النهائي للنواة، مما يعني أن حالات الخطأ في التخزين المؤقت (cache misses) تتضمن عملية نسخ غير متزامنة مباشرة للأوزان المعبأة دون الحاجة لإعادة التكميم أو إعادة الحزم.
2. الإقامة المتدرجة والتنفيذ القائم على الموجات (Tiered Residency and Wave-Based Execution)
مخزن الفتحات المؤقت (Slot Cache): تدير كل طبقة متفرقة مخزناً مؤقتاً لعدد C من فتحات الخبراء (k≤C≤E، حيث k هو أعلى-k في التوجيه و E هو إجمالي الخبراء).
تقسيم الموجات (Wave Partitioning): إذا تجاوزت مجموعة الخبراء النشطة للدفعة (batch) سعة المخزن المؤقت، يتم تقسيم المجموعة إلى "موجات" تحتوي كل منها على C من الخبراء كحد أقصى.
التنفيذ المدمج (Fused Execution): لكل موجة، يقوم النظام بحل معرفات الخبراء العالمية إلى معرفات الفتحات المقيمة وينفذ نواة MARLIN متعددة الخبراء مدمجة. تقوم هذه النواة بمعالجة مصفوفة الرموز بالكامل للموجة عبر عمليات GEMM مجمعة (إسقاطات Gate/Up و Down) بدلاً من استدعاء النواة بالتتابع لكل خبير.
أمان التوجيه (Routing Faithfulness): يظل الموجه بصيغة BF16 ويعمل على الحالة المخفية المكممة الحالية. جميع الخبراء الذين يختارهم الموجه مضمون تنفيذهم؛ لا يتم حذف أي خبير، أو استبداله، أو إجباره على العمل على وحدة المعالجة المركزية (CPU).
3. ثوابت النظام (System Invariants)
يميز النظام بين:
توافر الخبراء الكامل (Complete Expert Availability): كل خبير موجود وقابل للتنفيذ.
أمان التوجيه (Routing Faithfulness): يختار الموجه الخبراء بناءً على الحالة المكممة، ويتم تنفيذ جميع الخبراء المختارين.
الهوية العددية (Numerical Identity): لا يضمن النظام الهوية العددية مع نموذج BF16، حيث أن التكميم يغير الحالات المخفية وقرارات التوجيه اللاحقة.
المساهمات الرئيسية
مساهمات الورقة بحثية ومنظمة من منظور الأنظمة، حيث تركز على دمج المكونات الموجودة في بيئة تشغيل كاملة للخبراء:
عقد التنفيذ: يحدد عقداً لـ W4A16 حيث يتم تكميم إسقاطات الخبراء الموجهة فقط، مع الحفاظ على الموجه والمكونات الكثيفة بصيغة BF16.
تكامل النظام: تنفيذ الحزم المسبق المعتمد على النواة، وتخزين المضيف المثبت، والإقامة القابلة للضبط للفتحات، والتنفيذ المدمج القائم على الموجات دون الحاجة لتجسيد (materialization) الخبراء بصيغة FP16.
التقييم المنضبط: يوفر مقارنة صارمة بين BF16 و ExactMoE على نفس نقطة التحقق (OLMoE-1B-7B-0924-Instruct) وعلى نفس الأجهزة (NVIDIA L4)، مع قياس الجودة، والكمون، والإنتاجية، والذاكرة، وحجم النقل.
التوضيح المفاهيمي: يفصل بوضوح بين "توافر الخبراء الكامل" و"أمان التوجيه" عن "التكافؤ العددي"، موضحاً أن ExactMoE يضمن الاثنين الأولين ولا يضمن الثالث.
النتائج التجريبية
تم التقييم على OLMoE-1B-7B-0924-Instruct (64 خبيراً لكل طبقة، توجيه أعلى-8، 6.44 مليار معلمة موجهة) على وحدة معالجة رسومات واحدة من نوع NVIDIA L4:
حدود الذاكرة والإنتاجية
تكوين 16-فتحة (16-Slot Configuration): يقلل ذروة ذاكرة الـ GPU المحجوزة من 14.17 GiB إلى 1.84 GiB (انخفاض بنسبة 87.04%). تصل إنتاجية فك التشفير إلى 17.73 رمز/ثانية، محتفظة بـ 81.85% من خط الأساس لـ BF16 (21.66 رمز/ثانية).
تكوين 64-فتحة (64-Slot Configuration - كامل الإقامة): مع تحميل جميع الخبراء مسبقاً، تصل الإنتاجية إلى 31.92 رمز/ثانية (أسرع بنسبة 47.4% من BF16) مع استخدام 4.06 GiB فقط من الذاكرة المحجوزة (أقل بنسبة 71.3% من BF16).
عبء النقل (Transfer Overhead): يسجل تكوين 16-فتحة متوسط حركة بيانات من المضيف إلى الجهاز قدره 21.44 GiB لكل طلب مكون من 128 رمزاً، مع وسيط زمن الوصول لأول رمز (TTFT) يبلغ 290 مللي ثانية.
الاحتفاظ بالجودة
الدقة: في 12,450 سؤال اختيار من متعدد صفري (ARC-Easy, PIQA, HellaSwag)، يحقق ExactMoE دقة معيارية بنسبة 70.35% مقابل 70.90% لـ BF16.
الاحتفاظ: يمثل هذا 99.23% من نسبة الاحتفاظ النسبية للدقة.
الأهمية الإحصائية: الانخفاض الإجمالي بمقدار -0.55 نقطة مئوية هو انخفاض يمكن اكتشافه إحصائياً (McNemar p=0.0112)، مدفوعاً بشكل أساسي بانخفاض طفيف في أداء HellaSwag، بينما أظهرت ARC-Easy و PIQA تغييرات ضئيلة.
الارتباك (Perplexity): زاد ارتباك WikiText-2 بنسبة 3.85%، بينما انخفض ارتباك Dolly-15k بنسبة 1.46% (يُفسر على أنه لا يوجد تدهور ملحوظ في العينة الصغيرة).
دراسات الاستئصال (Ablation Studies)
المدمج مقابل المتتابع (Fused vs. Sequential): في ظل ظروف متطابقة، يكون التنفيذ المدمج المجموع أسرع بـ 1.97 مرة من المرجع المتتابع W4 (18.43 مقابل 9.36 رمز/ثانية).
صحة النواة: تظهر اختبارات النواة أن الحد الأقصى لمتوسط الخطأ النسبي هو 0.0056 مقابل المراجع المجسدة (dequantized references)، مما يؤكد صحة منطق الحزم والتنفيذ.
الأهمية والادعاءات
تضع الورقة البحثية ExactMoE كأداة تحدد حدوداً عملية للذاكرة والنقل والإنتاجية لاستنتاج نماذج MoE كاملة الخبراء.
الواقعية: تثبت أنه من الممكن تشغيل نماذج MoE كبيرة على وحدات معالجة رسومات استهلاكية (مثل NVIDIA L4) مع متطلبات ذاكرة فيديو أقل بكثير (تصل إلى ~1.8 GiB في أوضاع الإزاحة) دون التضحية بمجموعة الخبراء الكاملة.
وضوح المقايضة: يوضح العمل أنه يمكن تحقيق احتفاظ عالٍ بالدقة (99.23%) حتى بدون التكافؤ العددي، بشرما يظل منطق التوجيه سليماً ويتم تنفيذ جميع الخبراء المختارين.
تصميم النظام: تكمن القيمة الأساسية في دمج التخزين المعتمد على النواة والتنفيذ المجموع، مما يلغي عبء إطلاق النواة لكل خبير على حد Tor وعمليات إعادة التكميم أثناء أخطاء التخزين المؤقت.
يدعي المؤلف بتواضع أن نتائجه تحدد المقايضات المقاسة لهذا التنفيذ المحدد بدلاً من التأكيد على التفوق العام على جميع أنظمة الإزاحة أو التكميم الموجودة، مشيراً إلى أن المقارنات المباشرة لم تُعاد تحت بروتوكولات أجهزة وأعباء عمل متطابقة.