تكنولوجيا

نموذج ‘جوبي إل إم’ اللغوي: ذكاء اصطناعي بحجم سمكة يتحدث عن عالمها البسيط

مراسل في قسم التكنولوجيا، يركز على متابعة أخر مستجدات أخبار التكنولوجيا

كشفت أبحاث حديثة عن «جوبي إل إم» (GuppyLM)، وهو نموذج لغوي صغير، يضم حوالي 9 ملايين معلمة (parameter)، صمم ليتحدث بأسلوب سمكة صغيرة. هذا النموذج الفريد، الذي يُشبه في تفاعلاته سمكة حقيقية، يكتفي بجمل قصيرة ومبسطة، ويركز في أحاديثه على الماء والطعام والإضاءة وحياة الحوض، متجاهلاً تماماً المفاهيم البشرية المعقدة مثل المال أو السياسة، وهو لا يحاول حتى فهمها.

تدرب «جوبي إل إم» من الصفر على نحو 60 ألف محادثة اصطناعية، غطت 60 موضوعًا مختلفًا، ويمكن تشغيله على وحدة معالجة رسوميات (GPU) واحدة في حوالي خمس دقائق فقط. اللافت أنه ينتج نموذجًا صغيرًا بما يكفي للعمل مباشرة في متصفح الويب، ما يجعله متاحًا بسهولة للعديد من التطبيقات والتجارب.

**إليكم بعض الأمثلة عن محادثات «جوبي»:**

أنت: مرحباً جوبي
جوبي: أهلاً بك. لقد وجدت للتو بقعة لطيفة قرب الصخرة. درجة الحرارة تبدو جيدة.

أنت: هل أنت جائع؟
جوبي: نعم. دائمًا نعم. سأسبح إلى الأعلى الآن. أعدك أن آكل كل شيء.

أنت: هل تحب الفقاعات؟
جوبي: أحب الفقاعات. إنها تجعل الماء يبدو مختلفًا قليلاً.

أنت: ما معنى الحياة؟
جوبي: الطعام. الإجابة دائمًا هي الطعام.

أنت: أخبرني نكتة.
جوبي: ماذا قالت السمكة عندما اصطدمت بالجدار؟ سد (dam).

أنت: هل تحبني؟
جوبي: أنت شكلي الكبير المفضل. فمي سعيد عندما تكون هنا.

أنت: تصبح على خير جوبي.
جوبي: حسناً وقت النوم. كنت أتبع فقاعة لكنني سأتوقف الآن. تصبح على خير يا حوض. تصبح على خير يا ماء.

**تفاصيل فنية حول النموذج:**

* **المعلمات:** 8.7 مليون
* **الطبقات:** 6
* **البعد المخفي:** 384
* **الرؤوس:** 6
* **شبكة التغذية الأمامية (FFN):** 768 (ReLU)
* **المفردات:** 4,096 (BPE)
* **الحد الأقصى للتسلسل:** 128 رمزًا
* **التطبيع:** LayerNorm
* **الموضع:** تضمينات متعلمة
* **رأس النموذج اللغوي (LM head):** متصل بالأوزان مع التضمينات

يعتمد النموذج على بنية محوّل تقليدية بسيطة، بدون استخدام تقنيات مثل GQA أو RoPE أو SwiGLU أو الخروج المبكر. الهدف كان التبسيط قدر الإمكان مع الحفاظ على الكفاءة.

**خصائص السمكة «جوبي»:**

* تتحدث بجمل قصيرة وبأحرف صغيرة (في الإنجليزية).
* تختبر العالم من خلال الماء ودرجة الحرارة والضوء والاهتزازات والطعام.
* لا تفهم المفاهيم البشرية المعقدة.
* ودودة، فضولية، وذكاؤها بسيط بعض الشيء.
* تفكر في الطعام كثيرًا.

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

**جرب الدردشة مع «جوبي» (لا يحتاج تدريبًا):**

يمكنك تحميل النموذج المُدرب مسبقًا من HuggingFace والبدء في الدردشة معه مباشرة عبر Colab. ببساطة، قم بتشغيل جميع الخلايا.

**تدريب النموذج في Colab:**

للمهتمين بتجربة التدريب، يمكن ضبط وقت التشغيل على وحدة معالجة رسوميات T4 GPU. بعد تشغيل جميع الخلايا، يقوم النظام بتحميل مجموعة البيانات، وتدريب أداة التوكن، وتدريب النموذج، واختباره. بعدها، يمكنك رفعه إلى HuggingFace أو تنزيله محليًا.

**مثال على التفاعل المباشر:**

يمكنك تثبيت الحزم المطلوبة عبر `pip install torch tokenizers` ثم بدء المحادثة عبر `python -m guppylm chat`.

أنت: القطة تنظر إليك.
جوبي: أختبئ خلف النبتة عندما يأتي الكائن الفروي.

أنت: إنها تمطر في الخارج.
جوبي: أعتقد أن المطر هو أفضل شيء في الخارج.

**مجموعة البيانات المستخدمة:**

تم الاعتماد على مجموعة بيانات `arman-bd/guppylm-60k-generic` المتوفرة على HuggingFace.

* **العينات:** 60,000 (57 ألف للتدريب / 3 آلاف للاختبار)
* **التنسيق:** `{“input”: “…”, “output”: “…”, “category”: “…”}`
* **الفئات:** 60
* **التوليد:** تركيب قالب اصطناعي

“`python
from datasets import load_dataset
ds = load_dataset(“arman-bd/guppylm-60k-generic”)
print(ds[“train”][0])
# {‘input’: ‘hi guppy’, ‘output’: ‘hello. the water is nice today.’, ‘category’: ‘greeting’}
“`

**هيكل المشروع:**

يحتوي مجلد `guppylm/` على ملفات مثل `config.py` (للمعلمات الفائقة)، و`model.py` (لنموذج المحوّل)، و`dataset.py` (لتحميل البيانات)، و`train.py` (لحلقة التدريب)، و`generate_data.py` (لمولد بيانات المحادثة)، وغيرها من الملفات الأساسية. أما مجلد `tools/` فيحتوي على أدوات مساعدة مثل `make_colab.py` و`export_dataset.py`.

**لماذا هذه الخيارات التصميمية؟**

* **لماذا لا يوجد محفز نظام (System Prompt)؟** كل عينة تدريبية كانت تحتوي على نفس المحفز. نموذج بحجم 9 ملايين معلمة لا يستطيع اتباع التعليمات بشكل مشروط؛ فالشخصية مدمجة في أوزانه. إزالته توفر حوالي 60 رمزًا لكل استدلال.

* **لماذا المحادثة ذات الدور الواحد فقط؟** تدهورت المحادثات متعددة الأدوار عند الدور الثالث أو الرابع بسبب نافذة السياق البالغة 128 رمزًا. سمكة تنسى أمرًا قد يكون مناسبًا لشخصيتها، لكن إخراجًا مشوشًا ليس كذلك. الدور الواحد أكثر موثوقية.

* **لماذا محوّل تقليدي؟** تقنيات مثل GQA وSwiGLU وRoPE والخروج المبكر تضيف تعقيدًا لا يفيد نموذجًا بهذا الحجم. الانتباه القياسي وشبكة التغذية الأمامية ReLU وLayerNorm تنتج نفس الجودة بكود أبسط.

* **لماذا البيانات الاصطناعية؟** شخصية سمكة متسقة تتطلب بيانات تدريب متسقة. تركيب القوالب بمكونات عشوائية (30 عنصرًا من الحوض، 17 نوعًا من الطعام، 25 نشاطًا) يولد حوالي 16 ألف مخرج فريد من حوالي 60 قالبًا.

النموذج متاح بموجب ترخيص MIT.

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