تُحدَّث يومياً

مصدرُك العربي
لمستقبل الذكاء الاصطناعي

أخبار، تقارير، أدوات وتحليلات يومية — كل ما تحتاجه لمتابعة ثورة الذكاء الاصطناعي باللغة العربية

✅ تم الاشتراك!
تعلم و استخدام الذكاء الاصطناعي

تجسيد الشفافية: شبكة ترانسفورمر تكشف أسرارها على ماكنتوش 1989

🎧 استمع للملخص

بقلم: ليلى | محررة أدوات المطورين · صوت تحريري بإشراف بشري

ماذا لو كان بإمكانك النقر على أي زر في نموذج ذكي ورؤية الرياضيات الحقيقية خلفه؟ مشروع MacMind يحول هذا التساؤل إلى واقع من خلال بناء شبكة ترانسفورمر عصبية كاملة على حاسوب ماكنتوش SE/30 من عام 1989، مكتوبة بالكامل بلغة HyperTalk – لغة برمجة تفاعلية من 1987 صُممت أصلاً لإنشاء بطاقات تعليمية وليس حسابات المصفوفات المتقدمة.

النموذج يحتوي على 1,216 معامل بالضبط موزعة على طبقة واحدة برأس انتباه واحد، ويتعلم مهمة محددة: تطبيق تبديل انعكاس البت، وهي العملية الافتتاحية لخوارزمية التحويل السريع لفورييه. تبديل انعكاس البت يعيد ترتيب متتالية من 8 عناصر عبر عكس التمثيل الثنائي لفهرس كل موضع – فالموضع 1 (001 في النظام الثنائي) ينتقل للموضع 4 (100 معكوس)، والموضع 3 (011) ينتقل للموضع 6 (110 معكوس). هكذا يتحول المدخل [3, 7, 1, 9, 5, 2, 8, 4] إلى [3, 5, 1, 8, 7, 2, 9, 4] (وفقاً لـ MacMind).

الهدف التعليمي واضح: نفس العملية الأساسية التي دربت MacMind – المرور الأمامي، حساب الخسارة، المرور العكسي، تحديث الأوزان، التكرار – هي ما دربت كل نموذج لغوي كبير موجود اليوم. الفرق في المقياس وليس في النوع. MacMind بـ1,216 معامل، GPT-4 بتريليون معامل تقريباً، لكن الرياضيات متطابقة. والأهم: كل شيء هنا قابل للفحص والتعديل.

  1. بطاقة العنوان: تعرض اسم المشروع والشكر للمساهمين
  2. بطاقة التدريب: النقر على “Train 10” يشغل 10 خطوات تدريب، أو “Train to 100%” للتدريب حتى يحقق النموذج نتيجة مثالية على عينة. للتدريب الممتد، افتح صندوق الرسائل (Cmd-M) واكتب “trainN 1000” لألف خطوة متتالية. كل خطوة تولد متتالية عشوائية من 8 أرقام، تشغل المرور الأمامي الكامل، تحسب خسارة الإنتروبيا المتقاطعة، تنشر التدرجات عكسياً عبر كل طبقة، وتُحدث الـ1,216 وزن كاملة
  3. بطاقة الاستنتاج: بعد التدريب، “New Random” يولد مدخل اختبار، و”Permute” يشغل النموذج المدرب. صف النتائج يُظهر توقعات النموذج، وصف الثقة يُظهر مستوى التأكد من كل موضع. للتحقق، طبق التبديل يدوياً: Output[0] = Input[0]، Output[4] = Input[1]، Output[2] = Input[2]، Output[6] = Input[3]، Output[1] = Input[4]، Output[5] = Input[5]، Output[3] = Input[6]، Output[7] = Input[7]
  4. بطاقة خريطة الانتباه: الشبكة 8×8 تُصور مواضع المدخل التي يركز عليها النموذج لإنتاج كل موضع في النتيجة. بعد التدريب الناجح، ستظهر نمط الفراشة: المواضع 0، 2، 5، 7 تركز على نفسها (النقاط الثابتة للتبديل)، بينما المواضع 1 و4 تركزان على بعضهما، والمواضع 3 و6 تركزان على بعضهما (أزواج التبديل)
  5. بطاقة الشرح: تفسير نصي واضح لعمل النموذج

المعمارية التقنية محددة بدقة: تضمين الرموز المميزة (W_embed) بأبعاد 10×16 يحتوي 160 معامل، تضمين المواضع (W_pos) بأبعاد 8×16 يحتوي 128 معامل، إسقاطات الاستعلام والمفاتيح والقيم (W_Q، W_K، W_V) كل واحد بأبعاد 16×16 يحتوي 256 معامل، وإسقاط النتيجة (W_out) بأبعاد 16×10 يحتوي 160 معامل (وفقاً لـ MacMind).

تدفق البيانات يبدأ بالأرقام المدخلة [8]، يمر عبر البحث في تضمين الرموز المميزة وإضافة تضمين المواضع للحصول على [8×16]، ثم إسقاطات Q وK وV للحصول على [8×16] لكل واحد. نقاط الانتباه تُحسب بـ Q × K^T مقيسة بـ1/√16 للحصول على [8×8]، ثم يُطبق softmax لكل صف للحصول على أوزان الانتباه [8×8]. السياق = الأوزان × V للحصول على [8×16]، والاتصال المتبقي: السياق + المدخل المضمن للحصول على [8×16]، وأخيراً logits النتيجة = المتبقي × W_out للحصول على [8×10] ثم softmax لكل موضع للحصول على توزيع الاحتماليات [8×10].

مخطط فراشة التحويل السريع لفورييه الكلاسيكي
مخطط الفراشة للتحويل السريع لفورييه – النموذج يكتشف هذه البنية مستقلاً من خلال الانتباه

الاكتشاف المذهل: النموذج يكتشف مستقلاً البنية الرياضية نفسها التي نشرها Cooley وTukey عام 1965 للتحويل السريع لفورييه. خريطة الانتباه بعد التدريب تكشف نمط التوجيه الفراشي للـFFT، وهو نفس النهج المستخدم – مقيساً بدرجة هائلة – الذي علم النماذج الأكبر فهم اللغة.

كل الأوزان والتفعيلات محفوظة كأرقام مفصولة بفواصل في حقول HyperCard مخفية على البطاقة الثانية. مصفوفة أوزان 16×16 هي 256 قيمة مفصولة بفواصل في حقل واحد. احفظ المجموعة، اخرج من التطبيق، أعد فتحه: النموذج المدرب ما زال موجوداً.

التدريب على الأجهزة الحقيقية يستغرق وقتاً: تم تدريب MacMind على ماكنتوش SE/30 يشغل النظام 7.6.1 واختُبر أيضاً عبر Basilisk II على Apple Silicon. HyperTalk مُفسرة، وكل ضرب وكل وصول لحقل وكل استعلام متغير يمر عبر المُفسر. كل خطوة تدريب تستغرق عدة ثوانٍ، والتدريب للتقارب (~1000 خطوة) يستغرق ساعات (وفقاً لـ MacMind). النموذج يُترك للتدريب طوال الليل، يطحن عبر الانتشار العكسي عملية ضرب-تجميع واحدة بـ8 ميجاهرتز في كل مرة. بحلول الصباح، يكون قد تعلم التبديل.

المتطلبات التقنية محددة: HyperCard 2.0 أو أحدث مطلوب. HyperCard 1.x يقيم العمليات الحسابية من اليسار لليمين بدون أولوية معيارية (2 + 3 * 4 = 20 بدلاً من 14)، مما يُفسد بصمت كل ضرب مصفوفة وحساب تدرج في النموذج. HyperCard 2.0 قدم أولوية العمليات الرياضية المعيارية. المجموعة بُنيت واختُبرت مع HyperCard 2.1.

الحد الأدنى للمتطلبات: HyperCard 2.0، نظام 7، 1 ميجابايت رام، معالج 68000. المتطلبات المُختبرة: HyperCard 2.1، النظام 7.6.1، 4 ميجابايت رام، معالج 68030 (Mac SE/30). يعمل أيضاً على Mac OS 8، Mac OS 9، بيئة Mac OS X الكلاسيكية (حتى 10.4 Tiger على PowerPC). على الأجهزة القديمة الحقيقية، كل خطوة تدريب تستغرق عدة ثوانٍ والتدريب الكامل يستغرق ساعات. على حاسوب حديث يشغل Basilisk II أو SheepShaver، الأداء مماثل – تفسير HyperTalk هو الاختناق وليس المعالج المضيف (وفقاً لـ MacMind).

أخيراً، البدء السريع متاح: تنزيل MacMind-Trained.img من الإصدارات وفتحه على حاسوب يشغل النظام 7 حتى Mac OS 9، أو في محاكي. للتعلم من الصفر، تنزيل MacMind-Blank.img والانتقال لبطاقة التدريب. سكريبت validate.py يوفر تنفيذاً مرجعياً بـPython/NumPy للترانسفورمر نفسه بنفس المعمارية ونفس المهمة، ويؤكد التقارب إلى دقة 100%.

هذا المحرك مع غطاء المحرك مفتوح تماماً – كل شيء قابل للفحص، كل شيء قابل للتعديل. غيّر معدل التعلم، بدّل مهمة التدريب، أعد تحجيم النموذج – كله من داخل محرر نصوص HyperCard. الانتشار العكسي والانتباه ليسا سحراً، بل رياضيات، وهذه الرياضيات لا تبالي بما إذا كانت تعمل على مجموعة TPU أم معالج 68000 من عام 1987.

GitHub

مقالات ذات صلة

زر الذهاب إلى الأعلى