لو سألت معظم الناس: "كيف يعمل ChatGPT؟"، غالبًا إجابة غامضة من نوع "ذكاء اصطناعي يتعلّم". هذا صحيح تقنيًا لكنه لا يقول شيئًا.
هنا نشرح بالضبط ما يحدث عندما تكتب جملة وترسلها للنموذج، خطوة بخطوة.
أوّلًا: النموذج لا يفهم كلمات — يفهم أرقام
عندما تكتب "الطقس في عمّان جميل"، النموذج لا يقرأ النصّ كنصّ. أوّلًا يحوّله إلى tokens — قطع صغيرة من النصّ تُحوَّل إلى أرقام. هذا ما يُسمّى tokenization.
"الطقس" → [23984, 451]
"في" → [782]
"عمّان" → [9214, 38]
"جميل" → [5621]
الجملة كاملة → سلسلة أرقام طويلة.
لماذا tokens وليس حروفًا أو كلمات؟ لأن:
- الحروف صغيرة جدًا — النموذج يحتاج ملايين الخطوات لفهم جملة.
- الكلمات كبيرة جدًا — كل لغة لها مفردات ضخمة.
- tokens حلّ وسط: قطع شائعة تُغطّي اللغة بكفاءة.
ثانيًا: النصّ يصبح شعاعًا رقميًا (Embedding)
كل token يُحوَّل إلى embedding — متّجه رقمي طويل (مثلاً 4096 بُعدًا) يصف معناه.
token id 23984 → [0.12, -0.34, 0.88, ..., 0.05] (4096 رقم)
المهمّ: هذه الأرقام ليست عشوائية. أثناء التدريب تعلّم النموذج أن يضع كلمات ذات معنى متقارب في مواقع متقاربة من هذا الفضاء الرياضي.
"ملك" ≈ "queen" في الموقع
"رجل" ≈ "man" في الموقع
حتى العمليات تظهر:
king − man + woman ≈ queen
هذا هو الـ embedding — لكن لا تتعلّق بأشياء معقّدة كهذه. الفكرة: الكلمات تصبح نقاطًا في فضاء رياضي.
ثالثًا: Transformer يقرأ الجملة كاملة
النموذج يقرأ الجملة كاملة دفعة واحدة (وليس كلمة كلمة) عبر ما يُسمّى Transformer. هذا المكوّن هو ما غيّر اللعبة سنة 2017.
ما يفعله Transformer:
لكل token في الجملة:
- ينظر لباقي tokens.
- يحسب: "ما مدى أهمّيّة كل token آخر لفهم هذا الـ token؟"
- يحدّث تمثيله الرقمي بناءً على ما يراه.
بعد عدة طبقات (12، 24، 96... حسب حجم النموذج)، كل token يصبح تمثيلاً غنيّاً بالسياق.
المدخل: embeddings لكل token
المخرج: تمثيلات "مدركة للسياق" لكل token
رابعًا: التوقّع — ما الكلمة التالية؟
بعد Transformer، يأخذ النموذج التمثيل الخاص بالـ token الأخير ويُمرّره عبر ما يُسمّى LM Head. النتيجة: احتمالية لكل كلمة في قاموس النموذج (مثلاً 50,000 token).
"الطقس في عمّان ___"
احتمالات:
"جميل" → 12.4%
"حار" → 8.1%
"بارد" → 6.7%
"اليوم" → 4.2%
... (آلاف الخيارات)
النموذج لا "يقرّر". يحسب احتمالات ويختار. الاستراتيجية:
- Greedy: اختر الأعلى احتمالاً.
- Sampling: اختر بشكل عشوائي مرجّح بالاحتمالات.
- مع temperature: تحكّم في مدى "المخاطرة".
خامسًا: الكلمة المختارة تُضاف للسياق
بعد اختيار token، يُضاف للسياق:
سياق: "الطقس في عمّان"
النموذج يختار: "جميل"
السياق الجديد: "الطقس في عمّان جميل"
النموذج الآن يختار الكلمة التالية بناءً على هذا السياق المحدّث.
ثم تتكرّر العملية. كل token جديد يُضاف، النموذج يُعيد حساب الاحتمالات. هكذا يُولّد النموذج جملة كاملة، كلمة كلمة.
"الطقس في عمّان جميل"
↓
"جدًا" (35% احتمال)
↓
"." (98% احتمال — نهاية جملة)
ما الذي يجعل هذا "ذكيًا"؟
الحقيقة المُحرجة: لا أحد يعرف بالضبط. لكن:
- الحجم: النماذج الكبيرة بها مليارات المعاملات (GPT-4 ≈ 1.8T، LLaMA 3 ≈ 70B).
- البيانات: تدرّبت على تريليونات الكلمات من الإنترنت.
- التنويع: في بيانات التدريب، أنماط كثيرة جدًا (شعر، كود، محادثات، كتب...).
النتيجة ظاهرة: النموذج يستطيع توليد نصّ متماسك عبر مواضيع لا نهائية. لكنه لا يفهم حقائق، فقط أنماط.
ما يخطئ فيه النموذج
Hallucination — يقول أشياء بثقة لكنها خاطئة:
المستخدم: "ما عاصمة أستراليا؟"
النموذج: "سيدني." ← خطأ. العاصمة Canberra.
لماذا؟
- لم يرَ "Canberra" نمطًا كافيًا مرتبطًا بـ"عاصمة أستراليا" في التدريب.
- اختار الكلمة الأكثر شيوعًا في السياق، وهي "سيدني".
- لا يوجد "محرّك حقائق" داخلي.
هذا ليس خللًا يمكن إصلاحه بذكاء — هو نتيجة طبيعة النموذج. للتعامل معه:
1. تحقّق دائمًا من المعلومات الحسّاسة.
2. لا تستخدم LLM للسياقات الطبية/القانونية/المالية بدون إشراف بشري.
3. صمّم prompts تطلب "إذا لم تكن متأكّدًا، قل غير متأكّد".
4. ربط النموذج بمصادر خارجية (RAG — يُغطّى في الموجات التالية).
ما الفرق بين LLM وقاعدة بيانات؟
قاعدة بيانات:
- تخزّن حقائق صريحة.
- استعلام → نتيجة دقيقة.
- محدودة بما خزّنته.
LLM:
- يربط أنماطًا إحصائية.
- prompt → نصّ مُحتمَل.
- لا "يبحث" عن إجابة — يصنع واحدة.
تشبيه تقريبي: الفرق بين GPS (يبحث عن موقع حقيقي) ورسام خرائط يتخيّل (يولّد خريطة محتملة). الـ LLM هو الثاني.
ما الفرق بين LLM ومحرك بحث؟
محرك بحث:
- يجلب صفحات موجودة.
- يعيد ما كتبه بشر.
LLM:
- يولّد نصًّا جديدًا في اللحظة.
- لا يستشهد بمصدر.
- قد يقول كلامًا لم يقله أحد.
كيف تستفيد من هذا الفهم؟
1. للترجمة/التلخيص/إعادة الصياغة → LLM ممتاز.
2. للأسئلة الواقعية (أسعار، أحداث، إحصاءات) → LLM غير موثوق. تحقّق من مصدر.
3. للكود boilerplate → LLM يسرّع، لكن راجع دائمًا.
4. للمحادثة الطويلة → تذكّر أن النموذج "لا يذكّر" بين الطلبات (إلا إذا أرسلت الـ history).
5. لكتابة الإبداعية → LLM مساعدة، ليس بديلًا عن التفكير.
الخطوات التالية
- درس 102: How LLMs Work — شرح أعمق لبنية LLM وبنية Transformer.
- درس 101: Language Model Basics — أساسيات اللغة كنموذج احتمالي.
- درس 105: Decoding و Sampling — كيف يُختار token من الاحتمالات.
الـ TL;DR: LLM = نصّ → tokens → embeddings → Transformer → احتمالات → token → يتكرّر. لا يفهم. لا يبحث. يولّد.