تخيل أنك تصادف سيناريو فيلم قصير يصف مشهدًا بين شخص ومساعده الذكي الاصطناعي. يحتوي السيناريو على ما يطلبه الشخص من الذكاء الاصطناعي، ولكن إجابة الذكاء الاصطناعي ممزقة. لنفترض أن لديك أيضًا آلة سحرية قوية يمكنها أخذ أي نص وتقديم تنبؤ معقول بالكلمة التالية. يمكنك حينها إكمال السيناريو عن طريق إدخال ما لديك إلى الآلة، ورؤية ما ستتنبأ به لبدء إجابة الذكاء الاصطناعي، ثم تكرار هذا الأمر مرارًا وتكرارًا مع سيناريو متنامٍ يكمل الحوار.
عندما تتفاعل مع روبوت محادثة، هذا هو بالضبط ما يحدث.
ما هو نموذج اللغة الكبير؟
نموذج اللغة الكبير هو دالة رياضية متطورة تتنبأ بالكلمة التالية لأي قطعة نص. بدلاً من التنبؤ بكلمة واحدة بيقين، فإنه يخصص احتمالًا لجميع الكلمات التالية الممكنة. لإنشاء روبوت محادثة، تقوم بوضع نص يصف تفاعلًا بين مستخدم ومساعد ذكاء اصطناعي افتراضي، وتضيف ما يكتبه المستخدم كجزء أول من التفاعل، ثم تجعل النموذج يتنبأ بشكل متكرر بالكلمة التالية التي سيقولها مثل هذا المساعد الذكي الافتراضي في الرد، وهذا ما يتم تقديمه للمستخدم.
عند القيام بذلك، يميل الناتج إلى أن يبدو طبيعيًا أكثر إذا سمحت له باختيار كلمات أقل احتمالًا على طول الطريق بشكل عشوائي. لذا، ما يعنيه هذا هو أنه على الرغم من أن النموذج نفسه حتمي، فإن مطالبة معينة عادة ما تعطي إجابة مختلفة في كل مرة يتم تشغيلها.
كيف تتعلم النماذج؟
تتعلم النماذج كيفية إجراء هذه التنبؤات من خلال معالجة كمية هائلة من النصوص، يتم سحبها عادةً من الإنترنت. لكي يقرأ إنسان عادي كمية النص التي استخدمت لتدريب GPT-3، على سبيل المثال، إذا قرأ دون توقف على مدار الساعة طوال أيام الأسبوع، فسيستغرق الأمر أكثر من 2600 عام. النماذج الأكبر منذ ذلك الحين تتدرب على كميات أكبر بكثير.
يمكنك التفكير في التدريب كأنه ضبط لأقراص آلة كبيرة. الطريقة التي يتصرف بها نموذج اللغة يتم تحديدها بالكامل من خلال هذه القيم المستمرة العديدة، والتي تسمى عادةً بالمعلمات أو الأوزان. سيؤدي تغيير هذه المعلمات إلى تغيير الاحتمالات التي يقدمها النموذج للكلمة التالية عند إدخال معين. ما يضع كلمة “الكبير” في “نموذج اللغة الكبير” هو كيف يمكن أن يكون لديها مئات المليارات من هذه المعلمات.
لم يقم أي إنسان بتعيين هذه المعلمات عن قصد. بدلاً من ذلك، تبدأ بشكل عشوائي، مما يعني أن النموذج يخرج فقط كلامًا غير مفهوم، ولكن يتم تحسينها بشكل متكرر بناءً على العديد من الأمثلة النصية. يمكن أن يكون أحد أمثلة التدريب هذه مجرد حفنة من الكلمات، أو يمكن أن يكون آلافًا، ولكن في كلتا الحالتين، تعمل هذه الطريقة عن طريق تمرير كل الكلمات ما عدا الكلمة الأخيرة من هذا المثال إلى النموذج ومقارنة التنبؤ الذي يقوم به بالكلمة الأخيرة الحقيقية من المثال.
ملاحظة: يتم استخدام خوارزمية تسمى الانتشار الخلفي (backpropagation) لتعديل جميع المعلمات بطريقة تجعل النموذج أكثر احتمالًا لاختيار الكلمة الأخيرة الحقيقية وأقل احتمالًا لاختيار جميع الكلمات الأخرى.
عندما تفعل هذا لتريليونات عديدة من الأمثلة، لا يبدأ النموذج فقط في إعطاء تنبؤات أكثر دقة على بيانات التدريب، ولكنه يبدأ أيضًا في تقديم تنبؤات أكثر منطقية على نصوص لم يرها من قبل.
نظرًا للعدد الهائل من المعلمات والكمية الهائلة من بيانات التدريب، فإن حجم الحوسبة المتضمن في تدريب نموذج لغة كبير أمر مذهل. للتوضيح، تخيل أنه يمكنك إجراء مليار عملية جمع وضرب كل ثانية. كم من الوقت تعتقد أنه سيستغرق منك القيام بجميع العمليات المتضمنة في تدريب أكبر نماذج اللغة؟ هل تعتقد أنه سيستغرق عامًا؟ ربما شيء مثل 10,000 عام؟ الجواب في الواقع أكثر من ذلك بكثير. إنه أكثر من 100 مليون عام.
التدريب المسبق والتعلم المعزز
هذه العملية برمتها تسمى التدريب المسبق (pre-training). إن هدف الإكمال التلقائي لمقطع عشوائي من النص من الإنترنت مختلف تمامًا عن هدف أن تكون مساعدًا جيدًا للذكاء الاصطناعي. لمعالجة هذا، تخضع روبوتات المحادثة لنوع آخر من التدريب، لا يقل أهمية، يسمى التعلم المعزز بالتغذية الراجعة البشرية (reinforcement learning with human feedback). يقوم العاملون بوضع علامات على التنبؤات غير المفيدة أو الإشكالية، وتؤدي تصحيحاتهم إلى تغيير معلمات النموذج بشكل أكبر، مما يجعلها أكثر احتمالًا لتقديم تنبؤات يفضلها المستخدمون.
بنية المحوِّل (Transformer)
بالنظر إلى التدريب المسبق، فإن هذا القدر المذهل من الحوسبة لا يمكن تحقيقه إلا باستخدام شرائح كمبيوتر خاصة تم تحسينها لتشغيل العديد من العمليات بالتوازي، والمعروفة باسم وحدات معالجة الرسومات (GPUs). ومع ذلك، لا يمكن موازاة جميع نماذج اللغة بسهولة. قبل عام 2017، كانت معظم نماذج اللغة تعالج النص كلمة بكلمة، ولكن بعد ذلك قدم فريق من الباحثين في جوجل نموذجًا جديدًا يُعرف باسم المحوِّل (Transformer).
المحوِّلات لا تقرأ النص من البداية إلى النهاية، بل تستوعبه كله مرة واحدة، بالتوازي.
الخطوة الأولى داخل المحوِّل، ومعظم نماذج اللغة الأخرى في هذا الشأن، هي ربط كل كلمة بقائمة طويلة من الأرقام. والسبب في ذلك هو أن عملية التدريب تعمل فقط مع القيم المستمرة، لذلك عليك بطريقة ما تشفير اللغة باستخدام الأرقام، وقد تقوم كل قائمة من هذه الأرقام بطريقة ما بتشفير معنى الكلمة المقابلة.
ما يجعل المحوِّلات فريدة من نوعها هو اعتمادها على عملية خاصة تُعرف باسم الانتباه (attention). تمنح هذه العملية كل هذه القوائم من الأرقام فرصة للتحدث مع بعضها البعض وتحسين المعاني التي تشفرها بناءً على السياق المحيط، كل ذلك يتم بالتوازي. على سبيل المثال، قد يتم تغيير الأرقام التي تشفر كلمة “bank” بناءً على السياق المحيط بها لتشفير فكرة أكثر تحديدًا عن “ضفة النهر” (riverbank).
تتضمن المحوِّلات عادةً أيضًا نوعًا ثانيًا من العمليات يُعرف باسم الشبكة العصبية أمامية التغذية (feed-forward neural network)، وهذا يمنح النموذج سعة إضافية لتخزين المزيد من الأنماط حول اللغة التي تم تعلمها أثناء التدريب.
تتدفق كل هذه البيانات بشكل متكرر عبر العديد من التكرارات المختلفة لهاتين العمليتين الأساسيتين، وأثناء قيامها بذلك، يكمن الأمل في إثراء كل قائمة من الأرقام لتشفير أي معلومات قد تكون ضرورية لتقديم تنبؤ دقيق بالكلمة التي تلي في المقطع. في النهاية، يتم إجراء دالة أخيرة واحدة على المتجه الأخير في هذا التسلسل، والذي أتيحت له الآن فرصة التأثر بكل السياقات الأخرى من النص المدخل، بالإضافة إلى كل ما تعلمه النموذج أثناء التدريب، لإنتاج تنبؤ بالكلمة التالية. مرة أخرى، يبدو تنبؤ النموذج كاحتمال لكل كلمة تالية ممكنة.
على الرغم من أن الباحثين يصممون إطار عمل كيفية عمل كل خطوة من هذه الخطوات، فمن المهم أن نفهم أن السلوك المحدد هو ظاهرة ناشئة تعتمد على كيفية ضبط مئات المليارات من المعلمات أثناء التدريب. هذا يجعل من الصعب للغاية تحديد سبب قيام النموذج بالتنبؤات الدقيقة التي يقوم بها. ما يمكنك رؤيته هو أنه عندما تستخدم تنبؤات نموذج اللغة الكبير لإكمال مطالبة ما، فإن الكلمات التي يولدها تكون بليغة بشكل غريب ورائعة ومفيدة أيضًا.