الأوراق البحثية · arXiv 2609.18063
النصف الآخر من جدار الذاكرة: تشغيل نماذج MoE بحجم 35B من أقراص SSD عبر التنبؤ بالتوجيه المُدرَّب
The Other Half of the Memory Wall: Serving 35B MoEs from SSD with Trained Routing Prediction
اقرأ مع الترجمة والذكاء الاصطناعي
الملخص في ثلاثة أسطر
- 🎯 تتطلب نماذج MoE من فئة 35B حوالي 19.5 غيغابايت حتى مع تكميم int4، مما يتجاوز سعة RAM في الأجهزة الاستهلاكية، بينما يتعطل التفريغ المباشر إلى SSD بسبب زمن انتقال القرص نظرًا لاعتماد توجيه كل طبقة على مخرجات سابقتها.
- 🔧 يعتمد Edge0 دفق خبراء MoE من قرص SSD عبر prerouter لكل طبقة يتنبأ بالمسار متقدمًا برمز واحد، متخذًا 'التنبؤ كتوجيه' مع LoRA استعادة متوازية غير مدمجة مُقطّرة على مسار الطالب.
- 📈 يشغّل نموذج MoE بحجم 35B بسرعة تقارب 20.4 رمزًا/ثانية بذاكرة نشطة قصوى 2.9 GiB على Mac mini M4 Pro بسعة 24 غيغابايت، وبفارق 3.9 نقطة في المتوسط عن معلم fp16 عبر الاختبارات القياسية.
الملخص
يصطدم الاستدلال لنماذج خليط الخبراء (MoE) على الأجهزة الاستهلاكية بحدود ذاكرة الأوزان: إذ يبلغ حجم نموذج من فئة 35B نحو 19.5 غيغابايت بدقة 4 بت، كما أن التناثر يقلل من الحوسبة لكل رمز لا من البايتات المحفوظة. ولا يُجدي التفريغ السطحي للأوزان إلى أقراص SSD نفعًا بمفرده، لأن اختيار خبراء الطبقة N+1 يتطلب توفر مخرجات الطبقة N، مما يمنع بدء القراءة مبكرًا بما يكفي لإخفائها خلف الحوسبة. نُقدّم Edge0، وهو محرك استدلال تدفقي لنماذج MoE يسد هذه الفجوة باستخدام prerouter: رأس مخصص لكل طبقة يتنبأ بتوجيه الطبقة التالية بتقديم رمز واحد مسبقًا، ويُعتمد هذا التنبؤ مسارًا للتوجيه الفعلي، فيتطابق طاقم الخبراء المجهز تمامًا مع الموجه إليه دون أي إسقاط. وتعمل تقنية LoRA للاستعادة غير المدمجة (unmerged recovery LoRA)، والمُدرّبة على مسار الطالب، على تعويض الجودة المفقودة الناتجة عن تكميم int4 واستبدال مسارات التوجيه. يعمل Edge0 على جهاز فردي بذاكرة 24 غيغابايت ليُشغّل نموذج MoE بحجم 35B بمعدل 20 رمزًا/ثانية ضمن 3 غيغابايت فقط من ذروة الذاكرة النشطة، وبفارق نقاط ضئيل مقارنة بنموذج المعلم الأصلي fp16 عبر خمسة اختبارات قياسية عامة. كما تعمل فئة 8B على نفس المنظومة، وتتوفر المنظومة ونقاط الفحص والمحولات كمصادر مفتوحة.
الملخص الأصلي (بالإنجليزية)
Mixture-of-experts (MoE) inference on consumer hardware is bounded by weight memory: a 35B-class model is 19.5GB at 4-bit, and sparsity shrinks the compute per token, not the bytes that must be held. Naive offloading to SSD does not help on its own, because layer N+1's experts must be chosen before layer N's output exists, so the reads cannot start early enough to hide behind compute. We present Edge0, a streaming MoE inference engine that closes the gap with a prerouter: a per-layer head predicts the next layer's routing one token ahead, and the prediction is consumed as the routing itself, so the staged expert set equals the routed set and nothing is dropped. An unmerged recovery LoRA, trained on the student path, pays back the quality lost to int4 quantization and routing replacement. On a single 24GB machine, Edge0 serves a 35B MoE at 20tok/s inside 3GiB of peak active memory, within a few points of its fp16 teacher on average across five public benchmarks. An 8B tier runs on the same framework, and the framework, checkpoints, and adapters are open source.
دليل القراءة
المشكلة والدوافع
تُحقق نماذج خليط الخبراء (MoE) توسعًا هائلًا في إجمالي المعلمات مع إبقاء المعلمات النشطة لكل رمز منخفضة (على سبيل المثال، تنشيط حوالي 3 مليارات معلمة لكل رمز في نموذج بحجم 35 مليارًا). ومع ذلك، يظل الاستدلال على الأجهزة الاستهلاكية مقيدًا بالذاكرة الاستاتيكية للأوزان: إذ يتطلب نموذج MoE بحجم 35B ما يقارب 19.5 غيغابايت حتى عند تكميمه إلى int4. في الأجهزة المزودة بذاكرة 24 غيغابايت، يزاحم هذا الحجم نظام التشغيل وذاكرة KV cache كليًا، مما يؤدي إلى تبديل شديد للذاكرة (memory paging) وانهيار إنتاجية فك الترميز (مثل 3.9 رموز/ثانية للنموذج المقيم كليًا بالذاكرة على جهاز M4 Pro Mac mini).
يقلل تفريغ أوزان الخبراء إلى أقراص SSD من استهلاك الذاكرة، ولكن التحميل السطحي عند الطلب يفرض عنق زجاجة تسلسليًا حتميًا: يعتمد اختيار الخبراء للطبقة على مخرجات الطبقة . وعليه، لا يمكن لعمليات القراءة من SSD أن تبدأ مبكرًا بما يكفي لتتزامن وتختفي خلف العمليات الحسابية، مما يعطل التنفيذ في انتظار زمن استجابة القرص مرة في كل طبقة لكل رمز.
الأفكار الرئيسية
- SSD كطبقة للأوزان (Weight Tier): تبقى أوزان خبراء MoE على قرص SSD بصيغة int4 وتُربط بالذاكرة (
mmap) ضمن حوض تدفق مضغوط. وتتحدد ذروة الذاكرة عبر نطاق العمل النشط بدلاً من الحجم الإجمالي لمعلمات النموذج. - التنبؤ بمثابة توجيه (Prediction as Routing): بدلاً من انتظار اكتمال معالجة الطبقة ، يتنبأ prerouter خاص بكل طبقة بمسار توجيه الطبقة متقدمًا برمز كامل. والأهم من ذلك أن النموذج يعتمد هذا التنبؤ بصفته مسار التوجيه الفعلي ذاته في وقت فك الترميز. وهذا يلغي بالضرورة ظاهرة إسقاط الرموز أو أحمال الاسترداد الاحتياطية لأن مجموعة الخبراء المُجهزة مسبقًا تطابق مجموعة التوجيه الفعلية تمامًا.
- LoRA الاستعادة غير المدمجة (Unmerged Recovery LoRA): يؤدي التكميم بدقة 4 بت والتقريب في التوجيه إلى فقدان بعض الجودة. يدرب Edge0 محولًا منخفض الرتبة على مسار توجيه الطالب عبر التقطير. ونظرًا لأن دمج LoRA ضمن قاعدة int4 وإعادة التكميم يمحوان معظم الفارق المكتسب (إذ يتبقى 18% فقط من التحسين على مستوى logits)، يُشغل Edge0 المحول كفرع دلتا متوازٍ غير مدمج وبتكلفة حسابية لا تكاد تُذكر.
المنهجية
بنية رأس التوجيه المسبق (Prerouter Head)
يعمل كل رأس prerouter تابع للطبقة عند الرمز على مخرجات تسوية الطبقة لما بعد الانتباه (post-attention layer norm)، ليتنبأ بتوجيه الطبقة عند الرمز . تدمج ميزات الإدخال الحالة المخفية مع متجهين ثنائيين للترميز الأحادي لأفضل الخبراء top- (للرمز الحالي والرمز السابق):
بالنسبة لفئة 35B، فإن الأبعاد هي . ويحسب الرأس المعادلة:
حيث تمثل مسارًا خطيًا متبقيًا مُهيأً مسبقًا من أوزان موجّه الطبقة التالية.
تنفيذ المحول غير المدمج
تحافظ طبقة MoE قيد التشغيل على بايتات الأساس المكممة وتُشغّل فرع دلتا LoRA بالتوازي:
التدريب ثلاثي المراحل
- تقطير الرأس (Head Distillation): تُدرَّب رؤوس التوجيه المسبق لمحاكاة قرارات الموجه الحقيقي للطبقة التالية في نموذج المعلم مع تجميد بقية أجزاء الشبكة.
- الضبط الدقيق بالإشراف لمسار الطالب (Student-Path SFT): يتم تدريب محولات LoRA للاستعادة (الموصولة بتوقعات الانتباه، والانتباه الخطي، وتوقعات الخبراء المشتركين، دون الخبراء المتدفقين) باستخدام نصوص مولدة من المعلم مع إلزام التوجيه بالمرور عبر prerouter.
- التقطير على أساس السياسة المتبعة (On-Policy Distillation): يولد الطالب نصوصًا خاضعة لتنفيذ التوجيه المسبق، ويُقيّم معلم الأساس fp16 هذه التوليدات، ثم تُحسّن معلمات LoRA بواسطة تباعد كولباك-ليبلر العكسي مع هدف قائم على احتمالية أعلى top- يراعي الأطراف الذيلية.
النتائج
- الإنتاجية والذاكرة (Mac mini M4 Pro، سعة 24 غيغابايت):
- edge0-35b (): يُحقق سرعة فك ترميز تبلغ 20.4 رمزًا/ثانية باستخدام 2.9 GiB فقط من ذروة الذاكرة النشطة انطلاقًا من نقطة فحص int4 بحجم 19.5 غيغابايت (مقارنة بـ 3.9 رموز/ثانية و18.2 GiB في حالة التحميل الكامل بالذاكرة).
- edge0-8b (): يُحقق 28.0 رمزًا/ثانية لفك الترميز ضمن 1.5 GiB من ذروة الذاكرة.
- تسريع الجلب المسبق (MacBook M2، سعة 16 غيغابايت):
- مقارنة بالتدفق التفاعلي البحت عند الطلب، يرفع الجلب المسبق بواسطة prerouter المتقدم برمز واحد سرعة فك الترميز بنسبة تتراوح بين +80% إلى +84% عبر مختلف سعات التوجيه (: من 4.8 إلى 8.6 رموز/ثانية؛ : من 3.5 إلى 6.4 رموز/ثانية؛ : من 1.8 إلى 3.3 رموز/ثانية).
- ينخفض زمن التحميل المعطل للخيط الرئيسي بشكل ملحوظ (على سبيل المثال، من 244.0 مللي ثانية إلى 101.9 مللي ثانية لكل خطوة عند ).
- جودة النموذج (OpenCompass):
- عبر خمسة اختبارات قياسية (AIME 2026، وHumanEval، وGPQA-Diamond، وMMLU-Pro، وIFBench)، حقق edge0-35b متوسط 79.2 مقابل 83.2 لنموذج Qwen3.6 الأساسي بدقة fp16 (فارق 3.9 نقطة).
- حقق edge0-8b نتيجة 69.9 مقابل 72.7 لنموذج Ling 3.0 tiny الأساسي بدقة fp16 (فارق 2.8 نقطة).
القيود والأسئلة البحثية المفتوحة
- تزامن التشغيل وتعدد الطلبات: يعمل Edge0 بنظام تسلسلي قائم على FIFO للطلبات الفردية؛ وتؤدي معالجة الحزم المجمعة إلى تغيير مجموعة عمل الخبراء وديناميكيات التخزين المؤقت بطرق لم تعالجها اختبارات التدفق الفردي.
- العبء الإضافي لبناء مخطط التنفيذ على المعالج المركزي (CPU): تظل سرعة فك الترميز مقيدة بالأعباء الحسابية للمنظومة على مستوى المعالج المركزي (~44 مللي ثانية/خطوة لبناء مخطط MLX عبر 40 طبقة)، وهو ما لا يمكن لمعالجات تحسين أجهزة SSD تجاوزه.
- انخفاض الجودة في الاستدلال المعقد: يتركز انخفاض الأداء على معايير الاستدلال الحسابي المعقد (مثل تراجع قدره 6.1 نقاط في AIME لنموذج 35B، و10.0 نقاط لنموذج 8B).
- الاعتماد على العتاد: ترتبط مكاسب الإنتاجية النسبية للتوجيه المسبق بزمن انتقال قراءة القرص، وتتقلص الفائدة عندما تكون ذاكرة التخزين المؤقت للأوزان مهيأة (warm) أو عند استخدام وسائط تخزين فائقة السرعة.
المصطلحات الرئيسية
- Edge0
- محرك استدلال تدفقي لنماذج MoE يشغّل النماذج من أقراص SSD عبر مواءمة القراءة مع المعالجة الحسابية بواسطة التنبؤ بالتوجيه، مع تعويض الفقد في الجودة عبر LoRA استعادة غير مدمجة.
- prerouter (الموجّه المسبق)
- رأس عصبي خفيف الوزن لكل طبقة يتنبأ بقرارات التوجيه للطبقة N+1 قبل رمز واحد بالاعتماد على الحالة المخفية للطبقة N وسجل التوجيه الأخير.
- prediction-as-routing (التنبؤ كتوجيه)
- مبدأ تصميمي يُعتمد فيه الخبراء المتوقعون من قبل prerouter كتوجيه فعلي مباشر للطبقة أثناء فك الترميز، مما يمنع إسقاط الرموز أو تكبد خسائر الإخفاق أثناء التشغيل.
- recovery LoRA (تقنية LoRA للاستعادة)
- محول منخفض الرتبة يتم تدريبه عبر التقطير على مسار الطالب الموجّه مسبقًا، ويُشغّل كفرع موازٍ غير مدمج للتعويض عن أخطاء التكميم إلى int4 والتقريب في التوجيه.
- staged decode (فك الترميز المُرحَّل)
- وضع لتنفيذ الخبراء يعتمد التخزين المؤقت المزدوج ذي الفتحات الثابتة، حيث تُربط فهارس الخبراء عبر جدول فتحات في معالج الرسوميات لتفادي التخصيص المتكرر في كل خطوة.
- incremental sticky-slot stack (incr_stack) (مكدس الفتحات الثابتة التزايدي)
- آلية تُحدث مصفوفات الخبراء المكدسة المستمرة موضعيًا، مع إعادة كتابة فتحات الخبراء المتغيرة فقط في كل خطوة بدلاً من إعادة تجميع كافة مصفوفات الخبراء.
- unmerged delta (الدلتا غير المدمجة)
- تنفيذ محول LoRA بالتوازي مع أوزان الأساس المكممة بدلاً من دمجها بداخلها، لمنع فقدان دقة التكيف الدقيق أثناء إعادة التكميم.
- memory wall (جدار الذاكرة)
- الفجوة بين إنتاجية المعالج ونطاق تردد/سعة DRAM، والتي تنقسم في تشغيل النماذج اللغوية محليًا بين حالة KV-cache الديناميكية وتخزين أوزان النموذج الثابتة.
أسئلة شائعة
لماذا يعتمد Edge0 أسلوب 'التنبؤ كتوجيه' بدلاً من معاملة التنبؤات كتلميحات؟
تتطلب معاملة التنبؤات كتلميحات استخدام آليات احتياطية أثناء التشغيل أو إسقاط الرموز عند فشل التنبؤ. بينما يؤدي استهلاك التنبؤ مباشرة بصفته مسار التوجيه الفعلي إلى ضمان تطابق الخبراء المُجهزين مع الخبراء المطلوبين دائمًا، مما ينقل كلفة التقريب إلى مرحلة التدريب غير المتصل ليتم استرجاع الجودة بالتقطير.
لماذا يتم تشغيل LoRA الاستعادة كنموذج غير مدمج بدلاً من صهرها مع أوزان 4 بت؟
تبلغ القيمة المتوسطة لمربعات الفروق (RMS) لأوزان دلتا LoRA حوالي 10^-3، وهي أصغر من حجم خطوة تكميم 4 بت. يؤدي الدمج وإعادة التكميم إلى محو معظم أثر المحول، بحيث لا يتبقى سوى 18% فقط من الفائدة على مستوى logits، بينما يحافظ تشغيلها كفرع دلتا موازٍ غير مدمج على دقتها بنسبة 100%.
لماذا يتنبأ Edge0 برمز مسبقًا بدلاً من التنبؤ ضمن الرمز ذاته؟
يتطلب التنبؤ ضمن الرمز ذاته تفريغ خط أنابيب وحدة معالجة الرسوميات (GPU) في كل طبقة، وهو ما يستغرق 30 إلى 100 مللي ثانية لكل خطوة، وهي فترة تفوق زمن التحميل المراد إخفاؤه أصلاً. يسمح التقديم برمز كامل بالتنبؤ بجميع الطبقات المرحّلة في دفعة تفريغ واحدة، موفرًا خطوة فك ترميز كاملة من وقت الحساب لإخفاء عمليات إدخال/إخراج SSD.
كيف يفك Edge0 الترميز بسرعة أعلى من النموذج المقيم بالكامل بالذاكرة على جهاز 24 غيغابايت؟
يستهلك نموذج 19.5 غيغابايت المقيم كليًا نحو 18.2 GiB من سعة RAM، مما لا يدع مجالًا لنظام التشغيل وذاكرة KV cache، فيتسبب في تبادل ذاكرة شديد على القرص (paging) ويهوي بسرعة التوليد إلى 3.9 رموز/ثانية. في المقابل، يدفق Edge0 الخبراء من SSD بذاكرة نشطة قصوى ~2.9 GiB، متفاديًا الضغط على النظام نهائيًا ومحققًا 20.4 رمزًا/ثانية.
كتب الذكاء الاصطناعي الشرح في هذه الصفحة استنادًا إلى الورقة، وقد يحتوي على أخطاء. راجع الورقة للتفاصيل.