عندما تطلب من نموذج لغوي أن يشرح رسالة خطأ ظهرت في مشروعك، فيعطيك تفسيراً مرتباً وخيار إعداد يبدو صحيحاً، ثم تكتشف أن هذا الخيار غير موجود أصلاً. في موقف كهذا لا تكفي معرفة طريقة إرسال السؤال، بل تحتاج إلى فهم ما الذي يفعله النموذج عندما يجيب، ولماذا يستطيع كتابة شرح مفيد ثم اختلاق تفصيل مقنع في الإجابة نفسها.
LLM اختصار Large Language Model، أي نموذج لغوي كبير. وعندما يستخدم هذا المصطلح اليوم في المحادثات يقصد به غالباً نموذج لغوي توليدي تدرب على نصوص كثيرة ليحسب في كل خطوة أي وحدة نصية (Token) يحتمل أن تأتي بعد الوحدات النصية (Tokens) السابقة. تبدو المهمة محدودة، لكن تكرارها داخل نموذج كبير تعلّم أنماط اللغة والعلاقات بين المفاهيم يسمح له بالشرح والترجمة والتلخيص وكتابة النصوص البرمجية.
| العربية | English |
|---|---|
| وحدة نصية / وحدات نصية | Token / Tokens |
| مُجزِّئ النص | Tokenizer |
| المحوِّل | Transformer |
| آلية الانتباه | Attention |
| آلية الانتباه الذاتي | Self-Attention |
| التوليد المعزَّز بالاسترجاع | Retrieval-Augmented Generation (RAG) |
| النموذج اللغوي الكبير | Large Language Model (LLM) |
| التدريب المسبق | Pre-training |
| مرحلة ما بعد التدريب | Post-training |
| الضبط الدقيق | Fine-tuning |
| مواءمة التعليمات | Instruction tuning |
| الاستدلال | Inference |
| نافذة السياق | Context window |
| الهلوسة | Hallucination |
لماذا يهمك فهمه؟
عندما تستخدم النموذج لاقتراح نص برمجي أو تلخيص وثيقة أو استخراج معلومات منها، فأنت لا تتعامل مع قاعدة بيانات تجلب سجلاً مطابقاً، ولا مع شخص يفحص صحة كل جملة قبل كتابتها. أنت تتعامل مع نظام يولد تسلسلاً مرجحاً من الوحدات النصية اعتماداً على ما تعلمه وعلى السياق الذي أرسلته إليه. هذا لا يجعل إجاباته عشوائية أو عديمة الفائدة، لكنه يعني أن الطلاقة ليست دليلاً على الصحة، وأن طريقة التحقق يجب أن تتناسب مع حساسية المهمة.
من النص إلى الوحدات النصية
لا يقرأ النموذج الكلمات كما نراها على الصفحة. تمر الجملة أولاً عبر مُجزِّئ النص (Tokenizer) الذي يقسمها إلى وحدات تسمى وحدات نصية، وقد تكون الوحدة النصية كلمة كاملة، أو جزءاً من كلمة، أو علامة ترقيم، أو رمزاً من نص برمجي. يختلف هذا التقسيم بين النماذج، وقد تقسم كلمة عربية واحدة إلى عدة وحدات نصية، لذلك لا يمكن تحويل عدد الكلمات إلى عدد الوحدات النصية بنسبة ثابتة.
يحول مُجزِّئ النص كل وحدة إلى رقم، ثم يحول النموذج هذه الأرقام إلى تمثيلات عددية يتعامل معها داخلياً. وعندما نقول إن النموذج يتوقع ”الوحدة النصية التالية“ فنحن نصف هدفاً حسابياً دقيقاً، لا اختيار الكلمة التالية فقط. بعد اختيار وحدة نصية يضيفها إلى التسلسل، ثم يعيد الحساب لاختيار التالية، وتستمر العملية حتى يصل إلى علامة توقف أو إلى الحد الأقصى للإجابة.
ما هو دور المحوِّل (Transformer) وآلية الانتباه (Attention)؟
تعتمد معظم النماذج اللغوية التوليدية الحديثة على بنية المحوِّل. عوضاً عن معالجة كل كلمة بمعزل عن بقية النص، تمرر هذه البنية تمثيلات الوحدات النصية عبر طبقات متتابعة، وتستخدم معلومات الموقع حتى تميز ترتيب الوحدات داخل التسلسل.
داخل هذه الطبقات تعمل آلية الانتباه، وبالتحديد آلية الانتباه الذاتي (Self-Attention)، على حساب مقدار مساهمة الوحدات النصية الأخرى في تمثيل كل وحدة نصية. ففي جملة طويلة يمكن للنموذج أن يربط ضميراً باسم سابق، أو يربط اسم متغير باستعمال ظهرَ بعد عدة أسطر. هذه الأوزان ليست ”انتباهاً“ واعياً ولا تفسيراً كاملاً لطريقة تفكير النموذج، بل عملية عددية تتعلم العلاقات المفيدة للتنبؤ. وفي النماذج التي تولد النص من اليسار إلى اليمين يمنع القناع السببي كل موضع من رؤية الوحدات النصية اللاحقة أثناء التدريب.
ماذا يحدث في التدريب المسبق؟
في التدريب المسبق (Pre-training) تعرض على النموذج أمثلة نصية كثيرة، ويطلب منه توقع الوحدة النصية التالية. تقارن النتيجة بالوحدة النصية الصحيحة، ثم تعدل خوارزمية التدريب مُعامِلات النموذج لتقليل الخطأ عبر أمثلة متكررة. هذه المُعامِلات هي أرقام كثيرة موزعة على طبقات الشبكة، وليست مكتبة صفحات يستطيع النموذج فتحها عند الإجابة.
لذلك من المضلل القول إن النموذج ”مجرد حفظ“، كما أنه من المضلل القول إنه يفهم العالم بالطريقة نفسها التي يفهمه بها الإنسان. يتعلم النموذج أنماطاً موزعة تسمح له بتركيب نصوص لم يرها حرفياً، وقد يحفظ في الوقت نفسه بعض المقاطع النادرة أو المتكررة ويعيدها في ظروف معينة. قدرته الأساسية هي تعميم أنماط تعلمها من البيانات، ولا تضمن هذه القدرة أن تكون معلوماته صحيحة أو حديثة.
ما الفرق بين التدريب وما بعد التدريب والضبط الدقيق والتوليد المعزَّز بالاسترجاع ؟
هذه العمليات تحل مشكلات مختلفة:
- التدريب المسبق: يبني القدرة العامة للنموذج ويعدل معاملاته باستخدام مجموعة واسعة من البيانات، ويتطلب موارد كبيرة.
- مرحلة ما بعد التدريب (Post-training): اسم لمرحلة واسعة تأتي بعد التدريب المسبق لتساعد النموذج على اتباع التعليمات والتصرف كمساعد. وقد تتضمن التدريب الخاضع للإشراف (SFT)، ومنه مواءمة التعليمات (Instruction tuning) على أمثلة من التعليمات والإجابات، وأساليب تحسين تعتمد على تفضيلات بشرية أو آلية.
- الضبط الدقيق (Fine-tuning): مصطلح عام لمواصلة تدريب نموذج موجود على بيانات مخصصة وتحديث معاملاته. وقد يكون جزءاً من ما بعد التدريب، كما في مواءمة التعليمات، أو تكييفاً لاحقاً لمهمة محددة أو لاحتياجات مؤسسة بعينها، لكنه لا يعد طريقة موثوقة لحشو النموذج بحقائق تتغير باستمرار.
- التوليد المعزَّز بالاسترجاع (Retrieval-Augmented Generation - RAG): يسترجع التطبيق مقاطع من مصادر خارجية وقت الطلب ويضعها ضمن السياق قبل أن يجيب النموذج. لا يغير التوليد المعزَّز بالاسترجاع معاملات النموذج، ولا يضمن وحده صحة الإجابة، لكنه يتيح إسنادها إلى معلومات أحدث أو خاصة بك.
قد يجتمع ذلك في نظام واحد: نموذج مدرب مسبقاً، ثم مر بمرحلة ما بعد التدريب تضمنت أحد أشكال الضبط الدقيق، وربما خضع لضبط إضافي لمهمة محددة، ويحصل عند الاستدلال على وثائق استرجعها التوليد المعزَّز بالاسترجاع.
ماذا يحدث وقت الاستدلال؟
الاستدلال (Inference) هو تشغيل النموذج بعد انتهاء التدريب لإنتاج إجابة. يرسل التطبيق التعليمات والمحادثة، فتحول إلى وحدات نصية، ثم يحسب النموذج درجات للـوحدات النصية الممكنة التالية. تحول هذه الدرجات إلى احتمالات، وتختار منها وحدة نصية واحدة وفق إعدادات التوليد، ثم تتكرر العملية.
لا تتغير معاملات النموذج عادة أثناء هذا الطلب، ولا يتعلم بصورة دائمة من تصحيحك لمجرد أنك كتبته في المحادثة. قد يحفظ التطبيق سجل المحادثة ويرسله مرة أخرى، وقد يستخدمه المزود لاحقاً في عمليات تدريب منفصلة وفق سياسته، لكن ذلك يختلف عن الاستدلال نفسه.
نافذة السياق ليست ذاكرة دائمة
نافذة السياق (Context window) هي الحد الأعلى للـوحدات النصية التي يستطيع النموذج التعامل معها في طلب واحد، وتشمل عادة التعليمات والمحادثة والوثائق المرفقة، وقد تشترك معها وحدات نصية الإجابة بحسب واجهة المزود. إذا تجاوز الطلب الحد فقد ترفضه الواجهة أو تحذف منه أجزاء، وفق النظام المستخدم.
وجود معلومة داخل النافذة لا يعني أن النموذج سيستخدمها بدقة، فالنصوص الطويلة قد تحتوي تعارضات أو تفاصيل مشتتة. كما أن انتهاء المحادثة يعني انتهاء هذا السياق ما لم يخزنه التطبيق ويرسله في طلب لاحق. لهذا لا ينبغي مساواة نافذة كبيرة بذاكرة موثوقة أو فهم غير محدود.
ما الذي تغيره قيمة الـ Temperature؟
بعد حساب درجات الوحدات النصية تضبط Temperature حدة توزيع الاحتمالات قبل الاختيار. القيمة المنخفضة تجعل الاختيار يميل أكثر إلى الوحدات النصية الأعلى احتمالاً، فتكون الإجابات غالباً أكثر ثباتاً. والقيمة الأعلى توزع الاحتمال على بدائل أكثر، فتزيد التنوع وتزيد معه احتمالات الانحراف.
لا تجعل Temperature المنخفضة الإجابة صحيحة، ولا تعني القيمة صفر أن النظام سيصبح قاعدة بيانات أو أن النتيجة ستتطابق دائماً بين كل المخدمات والمزودين. توجد إعدادات أخرى مثل top_p، وتختلف التفاصيل والحدود بين الواجهات.
قالب عام لشكل الطلب
يوضح القالب التالي الشكل الشائع لطلب يرسل إلى نموذج عبر الواجهة البرمجية:
curl https://api.provider.example/v1/chat \
-H "Authorization: Bearer $API_KEY" \
-H "content-type: application/json" \
-d '{
"model": "MODEL_NAME",
"messages": [
{"role": "user", "content": "اشرح لي ما هي الحاويات في سطرين"}
]
}'
لماذا تحدث الهلوسة؟
الهلوسة (Hallucination) هي توليد معلومة غير صحيحة أو غير مسندة بصياغة تبدو واثقة. تحدث لأن هدف التوليد هو إنتاج تسلسل محتمل لغوياًلا بدون الرجوع تلقائياً إلى مصدر وإثبات كل ادعاء. وقد تزيد عندما يكون السؤال غامضاً، أو تنقص المعلومات اللازمة من السياق، أو يطلب المستخدم تفاصيل لا يعرفها النموذج.
النموذج لا ”يكذب“ بالمعنى البشري لأنه لا يملك نية، لكن النتيجة الخاطئة تبقى خطرة مهما كان سببها. لتقليل المخاطر اطلب المصادر، وافتحها وتحقق منها، وزود النموذج بالوثائق اللازمة، واستخدم التوليد المعزَّز بالاسترجاع أو أدوات بحث عندما تناسب المهمة. وحتى مع هذه الوسائل يجب التحقق من الادعاءات المهمة ومن أن المصدر يؤيدها فعلاً.
حدود يجب أن تعرفها
- حداثة المعلومات: المعرفة المكتسبة من التدريب تتوقف عند بيانات معينة، ولا يعرف النموذج الأحداث اللاحقة إلا إذا وصل إلى مصدر خارجي أو زودته بالمعلومة.
- الحساب والمنطق: قد ينجح في مسائل كثيرة ويفشل في خطوة بسيطة، لذلك استخدم أداة حساب أو اختباراً قابلاً للتنفيذ عندما تكون الدقة مطلوبة.
- التحيز و جودة البيانات: يتأثر بما في بيانات التدريب والضبط، بما في ذلك الأخطاء والتمثيل غير المتوازن.
- الخصوصية: ما ترسله قد يمر عبر مخدمات طرف ثالث ويخضع لسياسة الاحتفاظ والاستخدام لديه، فلا ترسل أسراراً أو بيانات حساسة قبل مراجعة تلك السياسة.
- عدم الحتمية: قد تختلف الإجابة بين طلبين بسبب أخذ العينات أو تحديث النموذج أو اختلاف البنية التي يديرها المزود.
- غياب التحقق التلقائي: قد يقترح دالة غير موجودة أو رابطاً مختلقاً أو نصاً برمجياً غير آمن، لذلك شغل الاختبارات واقرأ التوثيق ولا تعتمد على شكل الإجابة.
متى تستخدمه ومتى تتجنبه؟
استخدمه في المهام التي يمكنك مراجعة ناتجها، مثل صياغة مسودة، أو تلخيص نص تملكه، أو اقتراح حالات اختبار، أو شرح نص برمجي، أو استخراج حقول من مستند مع فحص النتيجة. وتجنب الاعتماد عليه وحده في قرار طبي أو قانوني أو مالي، أو في حقيقة يجب أن تكون موثقة، أو في تنفيذ نص برمجي لم تراجعه وتشغله ضمن بيئة آمنة.
قبل قبول أي إجابة اسأل نفسك ثلاث أسئلة عملية:
- هل أعطيت النموذج السياق الكافي؟
- هل أستطيع التحقق من النتيجة بمصدر أو اختبار؟
- وما الضرر إذا كانت الإجابة خاطئة؟
إذا كان الضرر مرتفعاً ولا تملك طريقة تحقق، فلا تجعل النموذج صاحب القرار. وإذا كانت المشكلة أن المعلومات موجودة في وثائقك وليست في السؤال، فاستخدم التوليد المعزَّز بالاسترجاع بدل محاولة تغيير معرفة النموذج بالضبط الدقيق.
مصطلحات ذات صلة
- ما هو API؟: الطريقة التي يتواصل بها تطبيقك مع النموذج اللغوي.
- ما هو RAG؟: أسلوب يسترجع مقاطع من مصادر خارجية ويضعها في السياق قبل أن يجيب النموذج.
- ما هو JWT؟: خدمات النماذج اللغوية تتطلب رموز وصول أو مفاتيح للمصادقة.
- ما هو MCP؟: البروتوكول الذي يربط تطبيقات الذكاء الصنعي بالأدوات ومصادر البيانات، فيمنح النموذج سياقاً خارجياً.