الرموز (Tokens)
عندما تسأل ال ChatGPT سؤال، السؤال يتم اعتباره كمدخل ويتم تقسيمه إلى رموز (Tokens). الرموز هي حجر الأساس في بناء النماذج اللغوية الكبيرة (Large Language Models) ويتم تحويل المدخلات إلى رموز وإجابة النماذج اللغوية الكبيرة تكون كرموز. بدلاً من قراءة النص كلمة بكلمة يتم قراءتها كرموز. هذه الرموز قد تكون حرف واحد، علامة ترقيم، جزء من كلمة، أو كلمة واحدة.
مثال:
لنفترض أن لدينا الجملة التالية: "أنا أحب أكل الآيس كريم!": قد يقسمها نموذج اللغة إلى الرموز:
- أنا
- أحب
- أكل
- الآيس
- كريم
- !
ملاحظات:
- قد يتم تقسيم الكلمة الواحدة إلى أكثر من رمز مثل: "مستحيل" إلى "مست" و"حيل".
- علامات الترقيم غالباً تعتبر رمزا منفصلا.
- نماذج اللغة تختلف في طريقة فصل الرموز، فكلمة "مستحيل" المذكورة سابقا قد يتم فصلها إلى أكثر من رمزين حسب النموذج اللغوي.
- لتجربة تقسيم الرموز بشكل عملي يمكن تجربة هذا الموقع Tokenizer.
الرموز مهمة لأداء النماذج لعدة أسباب منها:
- باستخدامها يتم تحديد ما يستطيع النموذج اللغوي معالجته في وقت واحد، وهو ما يسمى بنافذة السياق (Context Window).
- تعتمد سرعة وتكلفة النموذج على عدد الرموز بحيث كلما زادت عددها استغرق وقتًا أطول للإجابة، وزادت التكلفة.
- طريقة تقسيم الكلمة إلى رموز قد تؤثر على مدى فهم النموذج لها.
المعاملات (Parameters)
إذا كانت الرموز هي وحدات البناء، فالمعاملات هي القواعد التي تتعلمها النماذج اللغوية خلال فترة التدريب لاستخدام وحدات البناء هذه، لتحديد كيفية تحويل المدخلات إلى مخرجات. تخيل أنك تريد تدريب كلب على الجلوس، يمكنك التفكير بسلوك الكلب على أنه المخرج من النموذج، بينما المدخل هو أوامرك ومكافآت الكلب. المعاملات هي خبرة الكلب وذكرياته. بينما تقوم بتدريب الكلب، تقوم بتعديل المعاملات للنموذج. على سبيل المثال، إذا كان الكلب لا يجلس عندما تأمره بذلك، تعطيه مكافأة عندما يجلس أخيرًا. هذه المكافأة ستجعل الكلب أكثر استجابة للأوامر في المرات القادمة.
النماذج اللغوية الكبيرة تعمل بنفس الطريقة، حيث أن تعديل المعاملات خلال فترة التدريب يقلل الخطأ بين المخرج المتوقع والمخرج الحقيقي.
بعض من أكثر المعاملات أهمية في النماذج اللغوية الكبيرة:
- حجم النموذج: حجم النموذج هو عدد المعاملات، بحيث كلما زاد عدد المعاملات كلما زاد تعقيد النموذج وزاد حجم البيانات التي يستطيع معالجتها، لكن في نفس الوقت زادت التكلفة الحسابية.
- بيانات التدريب (Training data): هي البيانات التي يتم تدريب النموذج عليها. حجم وجودة البيانات تؤثر بشكل جوهري على أداء النموذج.
- المعاملات الفائقة (Hyperparameters): المعاملات الفائقة هي إعدادات تحدد كيفية تدريب النموذج. بحيث يمكن تخصيصها لتحسين أداء النموذج في مهام محددة.
تتراوح النماذج اللغوية الحديثة من ملايين إلى مئات المليارات من المعاملات، حيث تعتبر النماذج ذات 7 مليار معامل أو أكثر من النماذج الكبيرة. بمعنى أن النموذج بإمكانه التحكم في 7 مليار معامل. هذه المعاملات تستخدم لجعل النموذج يتعلم العلاقة بين الكلمات والعبارات. كلما زاد عدد المعاملات، كلما زاد تعقيد النموذج وزادت حجم البيانات التي يستطيع معالجتها، لكن في نفس الوقت زادت التكلفة الحسابية. بهذا العدد من المعاملات، تتمكن النماذج من توليد نص لا يمكن تمييزه عن النص الذي يكتبه الإنسان، مما يجعلها قادرة على القيام بمهام أكثر تعقيدًا مثل الترجمة والتلخيص.
نافذة السياق (Context Window)
هي عدد الرموز التي يستطيع النموذج معالجتها في وقت واحد عندما يقوم بالإجابة على السؤال، مثل عندما تتحدث مع صديقك، دائماً تستطيع تذكر آخر الجمل في المحادثة. مثلاً، لنفترض أن نافذة السياق 500 رمزًا، وقمت بإدخال 900 رمزًا، فإن النموذج سيأخذ بعين الاعتبار 500 رمزًا وسيتجاهل الـ400 رمزًا الباقية.
كلما كانت نافذة السياق أكبر، كلما استطاع النموذج تذكر جزء أكبر من المحادثات التي خضتها معه في السابق، مما يجعل إجابته أكثر وضوحًا ولكن في نفس الوقت تزيد التكلفة الحسابية.
من المثير للاهتمام أن حجم نافذة السياق زاد بشكل دراماتيكي في النماذج اللغوية الحالية مقارنة بكيف بدأت مع أول نموذج لغوي (انظر إلى الجدول أدناه). حتى هذه اللحظة، أكبر حجم لنافذة السياق وصل إلى مليون رمز. هذا الحجم الكبير يجعل النموذج قادرًا على التعامل مع المستندات الطويلة، النصوص الضخمة وقواعد البيانات البرمجية الكبيرة دون الحاجة لتقسيم المدخلات مما يحسن كفاءته في العديد من التطبيقات.
جدول: حجم نافذة السياق في بعض النماذج اللغوية
| النموذج اللغوي | حجم نافذة السياق (عدد التوكنات) |
|---|---|
| GPT-3 | 2,048 توكنًا |
| GPT-3.5 | 4,096 توكنًا |
| GPT-4 | 8,192 توكنًا |
| GPT-4 Turbo | 128,000 توكنًا |
| Claude 2 | 100,000 توكن |
| Claude 3 | 200,000 توكن |
| Mistral 7B | 8,000 توكن |
| LLaMA 2 (Meta) | 4,096 – 32,000 توكنًا |