HyperAIHyperAI

Command Palette

Search for a command to run...

مشروع فني جديد بعنوان microgpt: نموذج ذكاء اصطناعي بسيط مكتوب بلغة بايثون في ملف واحد

يقدم "microgpt" مشروعًا فنيًا وتعليميًا مذهلًا يُبسّط نموذج لغة كبير (LLM) إلى ملف واحد بـ 200 سطر من لغة بايثون، دون أي اعتماد خارجي. يحتوي الكود على كل المكونات الأساسية لتدريب وتشغيل نموذج يشبه GPT-2: معالجة النص، الترميز، محرك التدرج التلقائي (autograd)، بنية شبكة عصبية، خوارزمية تدريب (Adam)، ودورة التوليد. الهدف ليس الأداء، بل إظهار الجوهر الرياضي والخوارزمي للنماذج اللغوية الكبيرة. يبدأ المشروع ببيانات بسيطة: 32,000 اسم بالحروف الصغيرة، حيث يُعالج كل اسم كمستند منفصل. يتم تحويل النص إلى رموز عددية باستخدام ترميز بسيط يربط كل حرف بـ ID، مع إضافة رمز خاص (BOS) للدلالة على بداية ونهاية المستند. هذه الرموز هي المدخلات الوحيدة التي تُعالجها الشبكة. المحرك الأساسي هو نظام التدرج التلقائي (autograd)، الذي يُبنى من صفر عبر فئة Value تُحسب التدرجات باستخدام قواعد التفاضل (مثل القاعدة السلسلية). كل عملية رياضية (جمع، ضرب، تربيع، لوغاريتم) تُسجل تأثيرها على الناتج، مما يسمح بحساب التدرجات بدقة عند التراجع (backpropagation). هذا النظام يعادل ما تفعله مكتبات مثل PyTorch، لكنه يعمل على أرقام فردية بدلاً من مصفوفات، مما يجعله أبسط لكنه أبطأ بكثير. يُحدد النموذج ببنية مشابهة لـ GPT-2: طبقات متعددة من الانتباه المتعدد الرؤوس (multi-head attention)، وحدات توليد متعددة (MLP)، وتحديثات تربيعية (residual connections). يتم استخدام الترميزات المكانية والوظائف العصبية البسيطة (RMSNorm وReLU) لتبسيط الهيكل. المعلمات (التي تُعد "معرفة" النموذج) تُولّد عشوائيًا وتُحدّث خلال التدريب. في دورة التدريب، يُعالج كل اسم خطوة بخطوة، حيث يُقدّر النموذج الرمز التالي، ويُحسب خسارة (loss) باستخدام التوزيع الاحتمالي (softmax) ووظيفة فقدان التقاطع (cross-entropy). بعد كل خطوة، يُحسب التدرج عبر backward()، ويُحدّث النموذج باستخدام خوارزمية Adam مع تقليل معدل التعلم تدريجيًا. بعد 1000 خطوة، تنخفض الخسارة من حوالي 3.3 (أداء عشوائي) إلى 2.37، مما يدل على تعلّم النموذج أنماطًا في الأسماء. في مرحلة التوليد، يُستخدم النموذج لكتابة أسماء جديدة: يبدأ برمز BOS، ويُولّد كل رمز التالي بناءً على التوزيع الاحتمالي، مع تضمين معامل درجة الحرارة (temperature) للتحكم في التوليد بين التكرار والابتكار. النتائج تُظهر أسماء واقعية مثل "karia" أو "menna"، رغم أن النموذج لا يفهم معناها. رغم بساطة الكود، فإن "microgpt" يُظهر أن جوهر النماذج اللغوية الكبيرة ليس معقدًا، بل يعتمد على تكرار بسيط: توقع الرمز التالي بناءً على الأنماط الإحصائية. كل التحسينات في النماذج الحقيقية (مثل ترميز BPE، التدريب بالحزم، التوزيع على GPU، التدريب التلقائي) لا تغيّر الخوارزمية الأساسية، بل تُحسّن الكفاءة والدقة. هذا المشروع هو تجربة تعلّم عميق، يُعدّ نموذجًا تمهيديًا لفهم كيف تعمل نماذج الذكاء الاصطناعي الحديثة، ويعكس شغفًا طويل الأمد بتبسيط التكنولوجيا المعقدة إلى جوهرها.

الروابط ذات الصلة

Hacker NewsHacker News
مشروع فني جديد بعنوان microgpt: نموذج ذكاء اصطناعي بسيط مكتوب بلغة بايثون في ملف واحد | القصص الشائعة | HyperAI