Habr AI→ المصدر

DeepSeek و Gemma: كيف حطم تجربة LLM الهجينة على Kaggle مكتبة Transformers

على Kaggle، حاولوا ما يبدو مستحيلاً: أخذ أوزان Gemma بحجم 31B ونقلها إلى إطار عمل MoE الخاص بـ DeepSeek وتشغيل الهجين بدون إعادة تدريب. للقيام بذلك، اضطروا…

معالج بواسطة الذكاء الاصطناعي من Habr AI؛ بتحرير Hamidun News
DeepSeek و Gemma: كيف حطم تجربة LLM الهجينة على Kaggle مكتبة Transformers
المصدر: Habr AI. كولاج: Hamidun News.
◐ استمع للمقال

قام المتحمسون بتجميع نموذج لغة كبير هجين تقريباً ضد القواعد: أخذوا أربع طبقات من نموذج Gemma بحجم 31B وضمّنوها في بنية معمارية MoE فارغة لـ DeepSeek-V4 بدون تدريب إضافي. لم ينتج عن هذا منافس وظيفي لـ ChatGPT، لكن العملية نفسها أظهرت كم يمكنك كسر PyTorch و Transformers بعمق في السعي لاختبار فكرة متطرفة.

لماذا يكون النموذج الهجين ضروري

وُلدت الفكرة من قيود صارمة للغاية: وحدتا T4 مجانيتان على Kaggle، حوالي 30 غيغابايت من ذاكرة الوصول العشوائي، وبدون ميزانية للضبط الدقيق على نطاق واسع. بدلاً من التدريب، قرر المؤلفون اختبار سيناريو أكثر خشونة — الطعم الهيكلي للنماذج. كان Gemma-4-31B بمثابة متبرع، مضغوط إلى صيغة NF4 بـ 4 بت، بينما كان DeepSeek-V4 الفارغ مع موجهه Mixture-of-Experts بمثابة "الهيكل العظمي". بدت المهمة تقريباً مثل نكتة: نقل الأوزان من بنية معمارية إلى أخرى ورؤية ما إذا كان بإمكان الكيمرا الحصول على الحياة.

من وجهة نظر الهندسة، كان المشروع مثيراً للاهتمام ليس لجودة الإجابات، بل لمجرد حقيقة التوافقية. يمتلك Gemma و DeepSeek أبعاداً مختلفة، والمنطق الخاص بهما للتطبيع، وكتل انتباه مختلفة، وقواعدهما الخاصة لتوجيه الرموز بين الخبراء. في الكتب المدرسية، يتم عادة تصنيف مثل هذه التحويلات على أنها مستحيلة بدون إسقاطات وسيطة وتدريب إضافي. ذهب المؤلفون بشكل واعٍ ضد هذه القاعدة وأعدوا تجربة لاختبار مرونة المكتبة: ماذا سينكسر أولاً — النموذج، ذاكرة Kaggle، أو مكدس Hugging Face نفسه؟

حيث انهار كل شيء

بدأ الفشل الأول في مرحلة التحميل. رفض Transformers أن يعترف بشكل صحيح بنوع مخصص `gemma4`، ثم انهار مع خطأ `dict.to_dict()` لأن أحد الوحدات الداخلية سلسلت الإعدادات في قاموس عادي وحاول على الفور الوصول إليه كمورِّد. للمتابعة، قام المؤلفون يدوياً بتسجيل النوع في `CONFIG_MAPPING` وأضافوا monkey patch لـ `GenerationConfig`، الذي يلتف القاموس في كائن وكيل على الفور. وإلا فإن العملية برمتها كانت ستنتهي قبل حتى إنشاء الكيمرا.

بعد ذلك، حاولت المكتبة تهيئة أقسام DeepSeek الفارغة بالضوضاء العشوائية عن طريق استدعاء `normal_`. في تلك النقطة، رفع PyTorch `NotImplementedError`: تم تحميل الأوزان المانحة عبر bitsandbytes بصيغة 4 بت وتم تخزينها كـ `uint8`، بينما مولد التوزيع الطبيعي يعمل مع tensors float. تم حل المشكلة بالطريقة الأكثر مباشرة — اعترضوا `TORCH_INIT_FUNCTIONS["normal_"]` ومنعوا الدالة من اللمس tensors البايت. إنه ليس إصلاحاً جميلاً، بل حل جراحي، وبدونه لم تكن عملية الزراعة ستبدأ حتى.

اتضح أن الجزء الأكثر عدم الرضا كان خبراء DeepSeek والذاكرة. تم إخفاء كتل MoE ليس في `ModuleList` عادي، بل داخل فئة مخصصة لا يمكن تكرارها ببساطة. علاوة على ذلك، فإن فك ضغط طبقة Gemma بحجم 31B في ذاكرة Kaggle أدى تقريباً على الفور إلى OOM. للالتفاف حول هذا، كتب المؤلفون "سونار" متكراً يبحث عن الطبقات الفرعية المطلوبة بواسطة سمات `gate_proj` و `up_proj` و `down_proj`، وقاموا بنقل الأوزان على دفعات صغيرة عبر CPU، مما أدى إلى توزيع النماذج على وحدتي GPU ويستدعي بشكل مستمر جامع القمامة.

"في التعلم الآلي، لا توجد جدران معمارية غير قابلة للاختراق."

كيف تم خياطة النموذج

اختزل السكريبت النهائي العملية برمتها في سلسلة من الرقع الصعبة ونسخ الأوزان. بالنسبة لكل واحدة من الطبقات الأربع، قام باختيار مصفوفات لتناسب حجم الطبقة المستهدفة، مع ملؤها بأصفار عند الضرورة، ونقل منفصل إسقاطات الانتباه، ومكونات MLP بشكل منفصل لكل خبير تم العثور عليه. تم تنظيف الذاكرة على الفور بعد كل عملية نسخ كبيرة. حتى بعد الزراعة، كان على المؤلفين إعادة كتابة موجه MoE بحيث لا يتعطل النموذج أثناء الاستدلال على تضاربات الأبعاد ويمكن أن يخرج النص على الأقل.

كانت الخطوات التقنية الأساسية كما يلي:

  • تسجيل إعدادات Gemma المخصصة في سجل Transformers العالمي
  • Monkey patch لـ `GenerationConfig` الذي يبقى على قيد الحياة من خطأ `dict.to_dict()`
  • حجب `normal_` للأوزان `uint8` بـ 4 بت
  • البحث المتكرر عن الخبراء ونقل المصفوفات على دفعات صغيرة عبر CPU

أظهر اختبار الكيمرا الناتجة النتيجة المتوقعة: بدأ النموذج بالفعل، لكنه أنتج نصاً غير متماسك، خليط من الرموز العشوائية وشظايا الجمل. بالنسبة للمؤلفين، كان هذا لا يزال يُعتبر نجاحاً لأن الهدف لم يكن جودة الإجابات، بل عرض المبدأ. لم يوازوا القواميس، ولم يدربوا إسقاطات انتقالية، ولم يقوموا بضبط دقيق بعد الزراعة، لذا كان التدفق الفوضوي للرموز في المخرجات أمراً لا مفر منه تقريباً. ومع ذلك، أثبتت التجربة أن القيود المعمارية غالباً ما تكون ليست جداراً، بل قائمة طويلة من مشاكل المستوى المنخفض التي يمكن التحايل عليها باستخدام الأكواد.

ماذا يعني هذا

لا تنتج مثل هذه التجارب منتجاً نهائياً، لكنها تقوم بعمل جيد في إظهار حدود نماذج اللغات الكبيرة مفتوحة المصدر الحديثة. إذا كان يمكن محاذاة الأوزان والتكميم والتوجيه و hidden states على الأقل جزئياً بدون تدريب إضافي، فإن المساحة تنفتح لهجائن أكثر عملية — بالفعل مع إسقاطات عادية وتكييف المفردات والضبط اللاحق. بالنسبة للمطورين، هذه إشارة: المكدس حول النماذج لا يزال هشاً، مما يعني أن المساحة للتجميعات غير القياسية آخذة في الارتفاع فحسب.

ZK
Hamidun News
أخبار الذكاء الاصطناعي بدون ضوضاء. اختيار تحريري يومي من أكثر من 400 مصدر. منتج من جمال حميدون، رئيس الذكاء الاصطناعي في Alpina Digital.

هل تريد التوقف عن قراءة الذكاء الاصطناعي والبدء باستخدامه؟

AI News هو موجز منسق لأخبار الذكاء الاصطناعي. تعلمك Hamidun Academy استخدام الذكاء الاصطناعي في عملك.

ما رأيك؟
جارٍ تحميل التعليقات…