عندما تكتب سؤالًا إلى ChatGPT أو أي نموذج لغوي حديث ثم تحصل خلال ثوانٍ على إجابة طويلة ومنظمة، قد يبدو لك أن هناك عقلًا إلكترونيًا قرأ السؤال وفهم معناه بالطريقة نفسها التي يفهم بها الإنسان ثم جلس يفكر في أفضل إجابة. لكن ما يحدث تقنيًا أكثر تعقيدًا وإثارة للاهتمام. نماذج اللغة الكبيرة Large Language Models أو LLMs لا تعمل كقاعدة بيانات ضخمة تبحث داخلها عن جملة جاهزة، ولا تخزن كتابًا كاملًا ثم تستخرج منه الفقرة المناسبة حرفيًا، وإنما تتعلم أنماطًا وعلاقات رياضية من كميات كبيرة من البيانات، ثم تستخدم هذه الأنماط لمعالجة السياق وتوليد سلسلة من الرموز النصية المحتملة.

OpenAI تصف النماذج التي تدعم ChatGPT بأنها تتعلم أنماطًا وعلاقات من كميات كبيرة من المعلومات، بينما يعالج النموذج النص في صورة وحدات صغيرة تعرف باسم Tokens، ثم يولد المخرجات تباعًا. كما تشير أبحاث OpenAI المنشورة إلى أن النماذج المستخدمة في أنظمة المحادثة الحديثة تعتمد عادة على شبكات عصبية عميقة ببنية Transformer، مع مرحلتي تدريب عام وتدريب لاحق لتحسين سلوك النموذج واستجاباته.

لكن من المهم منذ البداية ألا نفترض أن كل تفاصيل البنية الداخلية للنماذج التجارية التي تعمل خلف ChatGPT منشورة بالكامل. لذلك عندما نقول في هذا المقال "داخل عقل ChatGPT"، فنحن نشرح المبادئ التقنية العامة التي تعمل بها نماذج اللغة الكبيرة الحديثة، مع استخدام ChatGPT مثالًا واضحًا على هذا النوع من الأنظمة، لا ادعاء معرفة كل التفاصيل الهندسية الخاصة بأي نموذج إنتاجي مغلق.


كيف تعمل نماذج اللغة الكبيرة؟ داخل عقل ChatGPT وأشباهه
كيف تعمل نماذج اللغة الكبيرة؟ داخل عقل ChatGPT وأشباهه

ما هو نموذج اللغة الكبير LLM أصلًا؟

نموذج اللغة الكبير هو شبكة عصبية تم تدريبها على التعامل مع اللغة والبيانات المرتبطة بها. كلمة "كبير" لا تشير فقط إلى كمية النصوص المستخدمة في التدريب، وإنما قد تشير أيضًا إلى العدد الكبير من Parameters أو المعاملات الموجودة داخل النموذج، وإلى حجم القدرة الحاسوبية المطلوبة للتدريب، واتساع أنواع المهام التي يمكن أن يؤديها.

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

لماذا يسمى نموذج لغة وليس قاعدة معرفة؟

لأن المهمة الأصلية للنموذج تتمحور حول نمذجة اللغة واحتمالاتها. هو يتعلم: بالنظر إلى السياق الذي أمامي، ما الذي يمكن أن يأتي بعده؟ ومن خلال تكرار هذه المهمة على نطاق ضخم، تظهر قدرات أوسع بكثير من مجرد إكمال جملة، مثل التلخيص والترجمة والشرح والبرمجة وتحليل النصوص.

وهذا يفسر مفارقة مهمة: المهمة التدريبية قد تبدو بسيطة، لكن الحجم الهائل للبيانات والنموذج والتدريب يجعل النتائج معقدة بصورة مذهلة.

المرحلة الأولى: تحويل ما تكتبه إلى Tokens

عندما تكتب سؤالًا، لا يدخل النص إلى النموذج بالصورة البشرية نفسها التي تراها على الشاشة. أول ما يحدث هو تقسيم النص إلى وحدات تسمى Tokens. قد يمثل Token كلمة كاملة، أو جزءًا من كلمة، أو علامة ترقيم، ويختلف التقسيم باختلاف اللغة ونظام الترميز المستخدم. OpenAI توضح أن Tokens هي الوحدات الأساسية التي تستخدمها نماذجها لمعالجة النص، وأن عددها لا يساوي بالضرورة عدد الكلمات.

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

لماذا لا يستخدم النموذج الكلمات الكاملة دائمًا؟

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

العربية تجعل Tokenization أكثر إثارة للاهتمام

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

من Token إلى رقم يستطيع النموذج فهمه

بعد تقسيم النص، يُمنح كل Token معرّفًا رقميًا، لكن الرقم وحده لا يحمل معنى كافيًا. إذا كان Token معينًا يحمل الرقم 5000 وآخر يحمل 5001، فهذا لا يعني أنهما متقاربان في المعنى.

لهذا يتم تحويل Tokens إلى Embeddings، وهي متجهات تتكون من أعداد كثيرة. ويمكن تصور الـ Embedding كإحداثيات داخل فضاء رياضي متعدد الأبعاد، بحيث يستطيع النموذج تمثيل خصائص وعلاقات بين الرموز بطريقة قابلة للتعلم.

ما معنى أن يكون للكلمة تمثيل رياضي؟

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

المهم أن النموذج لم يعد يتعامل في هذه المرحلة مع كلمة مكتوبة، بل مع مجموعة أرقام يمكن إدخالها إلى الشبكة العصبية.

كيف يعرف النموذج ترتيب الكلمات؟

المعنى لا يعتمد على الكلمات فقط، بل على ترتيبها. عبارة "أكل الطفل التفاحة" تختلف جذريًا عن "أكلت التفاحة الطفل"، رغم تشابه الكلمات المستخدمة. لذلك تحتاج بنية Transformer إلى طريقة تمثل مواقع Tokens وعلاقاتها داخل التسلسل.

تستخدم نماذج مختلفة تقنيات مختلفة لتمثيل الموقع، والهدف المشترك هو إعطاء النموذج معلومات تساعده على التمييز بين موضع وآخر وفهم ترتيب العناصر داخل السياق.

الموقع والسياق يعملان معًا

Token واحد قد يحمل أكثر من معنى، ولا يستطيع النموذج اختيار المعنى الأقرب إلا عندما ينظر إلى العناصر المحيطة به. هنا نصل إلى الآلية التي جعلت Transformers شديدة القوة: Attention.

Attention: كيف يحدد النموذج ما الذي يجب أن يركز عليه؟

إذا سألت: "وضعت الكتاب على الطاولة ثم نقلته إلى المكتب، فأين أصبح الكتاب؟" يحتاج النموذج إلى فهم أن الضمير يعود إلى الكتاب وأن الموقع تغير من الطاولة إلى المكتب. الكلمات ليست منفصلة؛ هناك علاقات تربطها.

آلية Attention تسمح لكل Token بتقييم علاقته بعناصر أخرى داخل السياق. بعض العلاقات تحصل على وزن مرتفع لأنها مهمة للمهمة الحالية، بينما يحصل بعضها الآخر على أهمية أقل.

Query وKey وValue داخل آلية الانتباه

لفهم العملية بصورة تقنية مبسطة، يتم إنشاء تمثيلات تسمى Query وKey وValue. يمكن النظر إلى Query على أنها تمثل ما يبحث عنه العنصر الحالي، وKey على أنها معلومات تساعد على تحديد مدى ارتباط العناصر الأخرى به، بينما تحمل Value المعلومات التي يمكن الاستفادة منها إذا كانت العلاقة قوية.

تجري الشبكة عمليات رياضية بين هذه التمثيلات وتحصل على درجات Attention، ثم تستخدمها في بناء تمثيل جديد لكل Token يعتمد ليس فقط على نفسه، بل على السياق المحيط به.

لهذا يتغير معنى Token حسب الجملة

التمثيل الأولي للكلمة ليس نهاية القصة. بعد مرورها عبر طبقات Attention، يصبح التمثيل أكثر ارتباطًا بالسياق المحدد الذي ظهرت فيه. وهذا من العناصر المهمة جدًا التي جعلت Transformers قوية في اللغة.

ما هو Multi-Head Attention؟

بدل تنفيذ عملية Attention واحدة، تستخدم بنى Transformer عادة عدة "رؤوس" Attention تعمل بالتوازي. الفكرة أن العلاقات داخل اللغة متعددة؛ قد تكون هناك علاقة نحوية، وأخرى دلالية، وثالثة مرتبطة بالإحالة إلى كلمة سابقة.

لا يجب تفسير كل Head على أنها قاعدة لغوية بشرية محددة دائمًا، لكن تعدد الرؤوس يمنح النموذج قدرة أكبر على بناء أنواع مختلفة من العلاقات داخل التمثيلات.

ثم تندمج النتائج داخل تمثيل واحد

بعد أن تعالج رؤوس Attention البيانات، يتم دمج مخرجاتها وإرسالها إلى عمليات أخرى داخل طبقة Transformer. وتكرر هذه العملية عبر طبقات كثيرة، لذلك يصبح تمثيل النص أكثر تعقيدًا مع انتقاله خلال النموذج.

ماذا يحدث داخل طبقات Transformer الأخرى؟

Attention ليست المكوّن الوحيد. توجد أيضًا شبكات Feed-Forward تطبق تحويلات إضافية على التمثيلات، إلى جانب تقنيات تساعد على استقرار التدريب وتمرير المعلومات عبر شبكة عميقة، مثل عمليات التطبيع والوصلات المتبقية في كثير من البنى.

يمكن التفكير في الطبقة الواحدة كمرحلة تعيد قراءة التمثيل الناتج من المرحلة السابقة، وتضيف إليه معالجة جديدة. وبعد عدد كبير من الطبقات، يصبح لدينا تمثيل غني للسياق يستطيع النموذج استخدامه في تحديد ما سيولده بعد ذلك.

المعاملات Parameters: أين توجد المعرفة التي تعلمها النموذج؟

داخل النموذج توجد أعداد هائلة من المعاملات التي تم تعديلها أثناء التدريب. المعامل الواحد لا يمثل عادة حقيقة واضحة مثل "القاهرة عاصمة مصر" في خانة منفصلة يمكن فتحها وقراءتها. المعرفة موزعة عبر الشبكة في أنماط معقدة من الأوزان والعلاقات.

هذا سبب مهم لفهم أن LLM ليست قاعدة بيانات تقليدية. في قاعدة البيانات يمكنك الوصول إلى سجل محدد. أما داخل النموذج، فإن ما تعلمه موزع على بنية رياضية كاملة.

ماذا يعني أن النموذج يحتوي على مليارات المعاملات؟

يعني أن لديه عددًا ضخمًا من القيم القابلة للتعلم، ما يعطيه قدرة كبيرة على تمثيل أنماط معقدة. لكن عدد المعاملات وحده لا يحدد الجودة؛ البيانات، وبنية النموذج، وطريقة التدريب، وجودة التدريب اللاحق، والحوسبة كلها عوامل مهمة.

كيف يبدأ تدريب نموذج اللغة من الأساس؟

قبل أن يصبح النموذج مساعدًا قادرًا على المحادثة، توجد عادة مرحلة تدريب واسعة تسمى Pretraining. في هذه المرحلة يتعلم النموذج أنماط اللغة من كمية كبيرة من البيانات من خلال مهمة تدريبية مثل توقع Token التالية بناءً على السياق السابق. وتوضح OpenAI أن نماذجها تتعلم أثناء التدريب العلاقات الموجودة في البيانات وتصبح أفضل تدريجيًا في توقع الجزء التالي من النص.

إذا ظهرت للنموذج عبارة مثل "الماء يتجمد عند درجة..."، فإنه ينتج توزيعًا احتماليًا على مجموعة من Tokens الممكنة. في بداية التدريب تكون توقعاته ضعيفة، ثم يُحسب الخطأ ويستخدم لتعديل المعاملات، وتتكرر العملية على عدد هائل من الأمثلة.

كيف تتحول محاولة توقع Token إلى معرفة لغوية واسعة؟

هذه واحدة من أكثر النقاط إثارة. لكي يتوقع النموذج Token التالية بصورة جيدة، يحتاج تدريجيًا إلى تعلم أنماط كثيرة. يحتاج إلى معرفة تركيب الجملة، وعلاقات الكلمات، وأنواع النصوص، وأنماط السؤال والجواب، وبعض العلاقات الموجودة في المعلومات التي يراها أثناء التدريب.

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

المهمة بسيطة لكن متطلبات إتقانها ضخمة

كلما أصبح السياق أكثر تعقيدًا، احتاج النموذج إلى تمثيلات أغنى للوصول إلى توقع جيد. وعلى نطاق التدريب الكبير تظهر قدرات لم يبرمجها المطورون كقاعدة مستقلة لكل حالة.

Loss: كيف يعرف النموذج أنه أخطأ؟

أثناء التدريب، يتم قياس الفرق بين الاحتمالات التي أعطاها النموذج وبين Token الصحيحة باستخدام Loss Function. إذا منح النموذج احتمالًا مرتفعًا للجواب الصحيح، تكون الخسارة أقل. وإذا وضع معظم الاحتمال على خيارات خاطئة، ترتفع الخسارة.

الهدف أثناء التدريب هو تقليل هذه الخسارة تدريجيًا عبر تعديل المعاملات.

Backpropagation تحول الخطأ إلى تعليمات تعديل

بعد حساب Loss، تستخدم عملية Backpropagation لمعرفة كيفية تأثير المعاملات المختلفة في الخطأ. بعدها يستخدم Optimizer معلومات التدرجات لتعديل الأوزان قليلًا.

هذه الدورة تتكرر بصورة هائلة: توقع، خطأ، حساب Gradient، تعديل، ثم مثال جديد.

لماذا تحتاج نماذج اللغة إلى حوسبة ضخمة؟

إذا كان النموذج يحتوي على عدد هائل من المعاملات، ويعالج كميات ضخمة من البيانات عبر طبقات كثيرة، فكل عملية تدريب تحتاج إلى عدد هائل من عمليات ضرب المصفوفات. لهذا تستخدم GPUs ومسرعات متخصصة وأنظمة حوسبة موزعة في التدريب واسع النطاق.

الحوسبة ليست إضافة خارجية؛ هي أحد الأسباب التي جعلت بناء نماذج ضخمة ممكنًا أصلًا. فالخوارزميات وحدها لا تكفي إذا كان تنفيذها سيستغرق زمنًا غير عملي.

ما الفرق بين Pretraining وPost-Training؟

بعد Pretraining يمتلك النموذج قدرة على إكمال النص ومعالجة أنماطه، لكنه لا يعني تلقائيًا أنه أصبح مساعدًا جيدًا في المحادثة. يحتاج بعد ذلك إلى Post-Training، أي مراحل إضافية تساعد على جعل سلوكه أكثر ملاءمة للتعليمات والاستخدام الفعلي. تشير أبحاث OpenAI إلى أن تدريب أنظمة المحادثة الحديثة يتضمن عادة مرحلة تدريب مسبق ثم مرحلة تدريب لاحق لتحسين جودة الاستجابات، وقد تستخدم هذه المرحلة بيانات لاستجابات مرغوبة وتقنيات تعلم تعتمد على تقييم جودة المخرجات.

لماذا لا يكفي التدريب على النصوص فقط؟

لأن إكمال النص ليس هو نفسه اتباع أمر. إذا كتبت للموديل: "اشرح لي الجاذبية لطفل"، فأنت لا تريد مجرد تكملة إحصائية لنص، بل تريد استجابة مناسبة للتعليمات والجمهور والسياق. التدريب اللاحق يساعد النموذج على تحسين هذا النوع من السلوك.

كيف يفهم النموذج Prompt الذي تكتبه؟

عندما ترسل أمرًا، يتم تحويل النص إلى Tokens وتمثيلات، ثم يدخل ضمن السياق الذي يستخدمه النموذج لتحديد المخرجات المناسبة. النموذج لا يحتوي على زر منفصل يسمى "افهم السؤال"، بل الفهم الظاهر ينشأ من معالجة العلاقات داخل السياق عبر الطبقات.

كل كلمة تضيفها يمكن أن تغير توزيع الاحتمالات للمخرجات القادمة. لهذا تختلف النتيجة عندما تقول "اشرح الذكاء الاصطناعي" عن "اشرح الذكاء الاصطناعي لطالب في المرحلة الثانوية باستخدام مثالين ودون مصطلحات معقدة".

Prompt يغيّر السياق لا أوزان النموذج

هذه نقطة تقنية مهمة. في الاستخدام العادي، عندما تكتب Prompt فإنك لا تعيد تدريب النموذج ولا تغير Parameters الأساسية. أنت تزوده بسياق جديد يستخدمه في عملية الاستدلال.

كيف يولد ChatGPT وأشباهه الإجابة كلمة بعد كلمة؟

بعد معالجة السياق، ينتج النموذج درجات احتمالية على Tokens التي يمكن أن تأتي تاليًا. ثم يتم اختيار Token وفق آلية التوليد، وتضاف إلى السياق، وبعد ذلك يعاد الحساب لاختيار Token التالية.

وبالتالي فإن الفقرة التي تراها لا تخرج عادة من النموذج ككتلة واحدة جاهزة؛ بل تتكون تدريجيًا.

عملية Autoregressive Generation

هذا الأسلوب يسمى التوليد الذاتي الانحدار Autoregressive Generation في النماذج التي تعمل بهذه الطريقة. المخرج السابق يصبح جزءًا من السياق الذي يستخدم لتوليد المخرج التالي، ولذلك يمكن لقرار مبكر في النص أن يؤثر في ما يأتي بعده.

هل النموذج يختار دائمًا Token صاحبة أعلى احتمال؟

ليس بالضرورة. إذا كان النظام يختار دائمًا أعلى احتمال، قد تصبح المخرجات متوقعة جدًا أو متكررة في بعض السياقات. لذلك توجد استراتيجيات أخذ عينات مختلفة تسمح بالاختيار بين عدة Tokens محتملة بدرجات مختلفة.

هذا أحد الأسباب في أن السؤال نفسه قد يؤدي إلى صياغات مختلفة في مرات مختلفة.

الاحتمالية لا تعني العشوائية الكاملة

النموذج لا يرمي الكلمات عشوائيًا بلا نظام. الاختيار محكوم بتوزيع تعلمه من السياق، لكن يمكن أن توجد مساحة لاختيار أكثر من تكملة معقولة.

ما معنى Temperature؟

في كثير من أنظمة التوليد، Temperature هي قيمة تؤثر في شكل توزيع الاحتمالات. القيم الأقل تجعل النموذج يميل أكثر إلى الخيارات الأعلى احتمالًا، بينما القيم الأعلى يمكن أن تزيد التنوع.

لكنها لا تجعل النموذج أذكى أو أكثر معرفة؛ هي تؤثر أساسًا في أسلوب اختيار المخرجات من الاحتمالات المتاحة.

ما هي Context Window ولماذا لها حد؟

النموذج يستطيع التعامل مع عدد محدد من Tokens في السياق في كل عملية. هذه المساحة تسمى Context Window. يدخل فيها السؤال والمحادثة ذات الصلة والتعليمات وأجزاء أخرى من المدخلات أو المخرجات حسب النظام.

وجود حد للسياق يعود إلى تصميم النموذج وتكلفة معالجة كميات كبيرة من Tokens. وكلما كبر السياق زادت متطلبات الذاكرة والحوسبة في العادة.

السياق ليس ذاكرة بشرية دائمة

وجود معلومات داخل المحادثة الحالية لا يعني أن النموذج يحتفظ بها بالطريقة نفسها التي يمتلك بها الإنسان ذاكرة طويلة المدى. يجب التمييز بين السياق الذي يعالج في الطلب وبين أي أنظمة ذاكرة أو تخزين منفصلة قد تستخدمها التطبيقات.

لماذا يستطيع النموذج الإجابة عن موضوعات كثيرة؟

لأن Pretraining لا يركز على موضوع واحد فقط، بل يتعلم من بيانات واسعة ومتنوعة. لذلك قد يبني تمثيلات تفيده في اللغة والعلوم والبرمجة والكتابة ومجالات متعددة.

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

كيف تحدث الهلوسة Hallucination؟

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

إذا كان السياق يدفع نحو إجابة معينة ولكن المعرفة الداخلية غير كافية أو العلاقات غير دقيقة، فقد ينتج النموذج تفاصيل غير صحيحة بثقة لغوية مرتفعة.

الطلاقة ليست دليلًا على الحقيقة

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

كيف تساعد الأدوات الخارجية على جعل النموذج أكثر فائدة؟

نموذج اللغة وحده قوي في معالجة النص والسياق، لكن الأنظمة الحديثة يمكن أن تضيف إليه أدوات خارجية مثل البحث، والحاسبة، وتشغيل الكود، والوصول إلى ملفات أو قواعد بيانات وفق الصلاحيات المتاحة.

هنا يجب التفريق بين قدرة النموذج الداخلية وبين النظام الكامل الذي يحيط به. عندما يبحث المساعد في الويب مثلًا، فالمعلومة لم تأتِ فقط من Parameters التي تعلمها خلال التدريب، بل من مصدر خارجي تم الوصول إليه أثناء المهمة.

النموذج يصبح طبقة تفكير وتنسيق داخل نظام أكبر

هذا الاتجاه مهم جدًا؛ فالمنتج الحديث قد يجمع نموذج لغة مع أدوات بحث واسترجاع وحساب وتنفيذ. وهكذا لا تصبح قيمة النظام في LLM وحدها، بل في كيفية تنظيم العمل بين النموذج والأدوات والبيانات.

ما الفرق بين معرفة النموذج واسترجاع المعلومات؟

عندما يجيب النموذج اعتمادًا على تدريبه، فإنه يستخدم الأنماط المخزنة في Parameters. أما عندما يستخدم نظامًا مثل RAG أو بحثًا خارجيًا، فيتم تزويده بمعلومات جديدة داخل السياق ثم يطلب منه بناء الإجابة بناءً عليها.

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

كيف يتعامل LLM مع الصور والصوت؟

المصطلح LLM بدأ تاريخيًا حول نماذج اللغة، لكن الأنظمة الحديثة قد تكون Multimodal، أي تتعامل مع أكثر من نوع من المعلومات. OpenAI تصف ChatGPT بأنه يستطيع التعامل مع نطاق من المهام عبر معلومات تشمل النصوص والصور والصوت والفيديو، بحسب القدرات المتاحة في النظام والنموذج المستخدم.

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

المهم أن الوسائط تتحول في النهاية إلى تمثيلات قابلة للحساب

الحاسوب لا "يرى" الصورة بالطريقة التي تراها عينك. يحولها إلى قيم وتمثيلات ثم يتعلم العلاقات بينها وبين اللغة أو بقية البيانات.

هل يستطيع نموذج اللغة التفكير والاستدلال؟

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

النتيجة قد تبدو مثل التفكير، لكننا لا نحتاج إلى افتراض وجود تجربة عقلية بشرية داخل النموذج حتى نفسر الأداء.

لماذا يمكن أن يفشل النموذج في سؤال بسيط وينجح في سؤال صعب؟

لأن صعوبة السؤال من منظور الإنسان ليست دائمًا مساوية لصعوبته بالنسبة للنموذج. قد توجد أنماط كثيرة جدًا في بيانات التدريب لمسألة تبدو متقدمة، بينما يحتاج سؤال بسيط إلى معرفة دقيقة أو تتبع منطقي حساس يؤدي فيه خطأ صغير إلى نتيجة خاطئة.

كما تتأثر النتيجة بصياغة السؤال والسياق والأدوات المتاحة وطريقة التوليد.

هذا يوضح أن قدرات LLM ليست خطًا مستقيمًا

لا يمكنك القول إن النموذج "ذكي بدرجة 90%" ثم توقع النتيجة في كل مهمة. الأداء يختلف حسب المجال ونوع المهمة وطول السياق ومدى الحاجة إلى بيانات حديثة أو حساب دقيق.

ما الذي يحدث عندما تطلب من النموذج كتابة كود؟

الكود بالنسبة إلى Transformer هو أيضًا سلسلة من Tokens ذات أنماط وتركيب. خلال التدريب، يتعلم النموذج علاقات بين بناء الجمل البرمجية والدوال والمكتبات وأنماط الحلول.

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

كيف يمكن أن يلخص النموذج مقالًا لم يره أثناء التدريب؟

لأن المقال يدخل إلى Context Window وقت الاستخدام. النموذج لا يحتاج إلى أن يكون قد رأى المقال خلال Pretraining؛ يمكنه معالجة النص الجديد وتحليل العلاقات داخله ثم إنشاء تمثيل يساعده على إنتاج ملخص.

وهذه نقطة توضح الفرق بين التعلم أثناء التدريب واستخدام السياق أثناء الاستدلال.

هل يتعلم ChatGPT منك مباشرة بعد كل رسالة؟

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

السياق المؤقت ليس Fine-Tuning

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

ما المهارات التي يجب فهمها لاستيعاب LLM تقنيًا؟

إذا أردت الانتقال من الاستخدام إلى الفهم التقني، فهناك مجموعة مفاهيم مترابطة يستحسن تعلمها بالترتيب، دون الحاجة إلى إتقانها كلها دفعة واحدة:

  • Tokenization لفهم تحويل النص إلى وحدات.

  • Embeddings لفهم التمثيل العددي للغة.

  • Linear Algebra لفهم المتجهات والمصفوفات.

  • Neural Networks لفهم الطبقات والأوزان.

  • Attention وTransformers لفهم السياق.

  • Loss وBackpropagation لفهم التدريب.

  • Pretraining وPost-Training لفهم بناء المساعد.

  • Inference وSampling لفهم إنتاج الإجابة.

  • RAG وTools لفهم التطبيقات الحديثة.

عندما ترتبط هذه المفاهيم في ذهنك، لن يبدو نموذج اللغة صندوقًا أسود بالكامل، بل منظومة يمكن تحليل مراحلها واحدة تلو الأخرى.

كيف تتحول كل هذه المراحل إلى إجابة واحدة أمامك؟

يمكننا الآن متابعة رحلة سؤال واحد. تكتب السؤال أولًا، فيتحول إلى Tokens. ثم تتحول Tokens إلى تمثيلات رقمية وتدخل عبر طبقات Transformer، حيث تحلل Attention العلاقات بينها. تنتقل التمثيلات عبر طبقات متعددة تم تعلم أوزانها مسبقًا، ثم يصل النموذج إلى توزيع احتمالي لما يمكن أن يأتي بعد السياق.

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

المشهد الذي يبدو بسيطًا يخفي ملايين أو مليارات العمليات

أنت ترى مؤشر الكتابة وكلمات تظهر على الشاشة. في الخلفية تجري عمليات ضخمة على المصفوفات والتمثيلات الاحتمالية، ولهذا فإن بساطة واجهة المحادثة لا تعكس تعقيد النظام الداخلي.

هل LLM مجرد آلة لإكمال النص إذن؟

وصف النموذج بأنه "مجرد Autocomplete" يمكن أن يكون مضللًا إذا فُهم بطريقة سطحية. صحيح أن التنبؤ بالرمز التالي يمثل عنصرًا جوهريًا في تدريب وتوليد كثير من النماذج، لكن القدرة على تحقيق هذا الهدف على نطاق واسع تتطلب بناء تمثيلات شديدة التعقيد للعلاقات الموجودة في البيانات.

يمكن تشبيه الأمر بالقول إن لاعب الشطرنج "مجرد شخص يحرك قطعة واحدة في كل مرة". الوصف صحيح ميكانيكيًا لكنه يخفي كل ما يحدث وراء اختيار هذه الحركة.

الآلية بسيطة في المبدأ ومعقدة للغاية في الحجم

وهذه واحدة من السمات المميزة لنماذج اللغة: قاعدة التوليد النهائية يمكن شرحها في جملة، لكن الشبكة التي تحدد الاحتمالات وراء كل خطوة تحتوي على تعقيد هائل.

هل النموذج يفهم معنى ما يقوله؟

هذا السؤال يعتمد على تعريف "الفهم". من الواضح أن النماذج تستطيع بناء تمثيلات سياقية وتنفيذ مهام تحتاج إلى معالجة معانٍ وعلاقات، لكن القفز من ذلك إلى القول إنها تفهم العالم بالطريقة البشرية نفسها يحتاج إلى افتراضات أكبر مما تبرره الآلية وحدها.

الأفضل للمستخدم أن يتعامل معها بوصفها أنظمة حسابية قوية للغاية في معالجة الأنماط والمعلومات، مع قدرات وقيود مختلفة عن العقل البشري.

الخلاصة: داخل نموذج اللغة توجد احتمالات وطبقات وسياق لا عقل بشري مصغر

لفهم كيف تعمل نماذج اللغة الكبيرة، لا تحتاج إلى تصور روبوت صغير داخل ChatGPT يقرأ سؤالك ويكتب الرد. ما يحدث هو سلسلة مترابطة من العمليات الرياضية تبدأ بتحويل اللغة إلى Tokens، ثم إلى تمثيلات رقمية، وبعد ذلك تمر هذه التمثيلات عبر طبقات Transformer تستخدم Attention لبناء علاقات سياقية بين أجزاء المدخل.

خلال التدريب المسبق يتعلم النموذج أنماطًا واسعة عبر مهمة تنبؤية تتكرر على كم هائل من البيانات. عندما يخطئ، تقيس Loss مقدار الخطأ، وتستخدم Backpropagation وخوارزميات التحسين لتعديل Parameters. ومع التكرار تتشكل شبكة ضخمة من الأوزان قادرة على تمثيل علاقات لغوية ومعرفية معقدة. ثم تأتي مراحل تدريب لاحقة تساعد على تحويل النموذج الأساسي إلى نظام أكثر قدرة على اتباع التعليمات وتقديم إجابات مفيدة.

عندما تستخدم النموذج بعد التدريب، لا يعيد تدريب نفسه من الصفر على سؤالك. يدخل Prompt إلى السياق، ويُعالج عبر الشبكة، ثم يبدأ النظام في حساب احتمالات Tokens التالية. يختار واحدة، ويضيفها إلى السياق، ويكرر العملية حتى تتشكل الإجابة. وإذا كان النظام الحديث مزودًا بأدوات بحث أو حساب أو ملفات أو قواعد بيانات، يمكن أن تتوسع قدراته أكثر من حدود المعرفة المخزنة داخل أوزان النموذج وحدها.

وهذا هو المفتاح لفهم ChatGPT وأشباهه بصورة علمية: النموذج ليس محرك بحث تقليديًا، وليس قاعدة بيانات، وليس عقلًا بشريًا إلكترونيًا؛ إنه شبكة عصبية ضخمة تعلمت تمثيل أنماط وعلاقات داخل البيانات، ثم تستخدم السياق والاحتمالات لتوليد مخرجات جديدة. وكلما فهمت Tokens وEmbeddings وAttention وTransformers والتدريب والتوليد، تحولت تجربة استخدام نموذج اللغة من شيء يبدو كالسحر إلى نظام تقني يمكن فهمه وتحليله والاستفادة منه بوعي أكبر.