ماهو اختبار A/B وماالفائدة منه وكيف يمكن تصميم اختبار A/B في موقع انترنت او نظام برمجي؟
ماهو اختبار A/B وماالفائدة منه وكيف يمكن تصميم اختبار A/B في موقع انترنت او نظام برمجي؟
ماذا يعني الشفافية وقابلية التفسير في الذكاء الأصطناعي؟ وكيف يمكن تحقيقها عندء بناء تطبيقات ذكاء اصطناعي؟
يمكن القيام به باستخدام مقاييس ومعايير مختلفة. إليك بعض الطرق الشائعة لتقييم أداء نظام الترجمة الآلية بشكل آلي:
BLEU (Bilingual Evaluation Understudy) هو مقياس شائع يُستخدم لتقييم جودة الترجمة الآلية عن طريق مقارنتها بالترجمة الإنسانية المرجعية. يستخدم BLEU معلومات على مستوى الكلمات لقياس التشابه بين الترجمتين. يمكنك استخدام مكتبة Python لحساب مقياس BLEU بسهولة. فيما يلي شرح مفصل لمقياس BLEU مع مثال في Python:
أولاً، تحتاج إلى تثبيت مكتبة nltk
(Natural Language Toolkit) إذا لم تكن مثبتة بالفعل. يمكنك فعل ذلك باستخدام الأمر التالي:
pip install nltk
استيراد المكتبات الضرورية:
import nltk from nltk.translate.bleu_score import sentence_bleu, SmoothingFunction
تحديد النصوص المرجعية والترجمة المستهدفة, النصوص المرجعية reference هيي النصوص التي تعبر عن الترجمة الصحيحة, اي دائما تحتاج إلى هذه النصوص لكي تقوم باختبار النظام, بالاضافة إلى النصوص المترجمة من قبل النظام الآلي candidate:
reference = [['the', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']] candidate = ['the', 'fast', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']
بالنهاية يمكن حساب مقياس BLEU كمايلي:
bleu_score = sentence_bleu(reference, candidate)
NIST (The National Institute of Standards and Technology): يستخدم NIST مقاييس مشابهة لـ BLEU لتحسين تقييم أداء الترجمة الآلية من خلال مقارنة الترجمة بالترجمة الإنسانية المرجعية.
METEOR (Metric for Evaluation of Translation with Explicit ORdering): يقيم METEOR الأداء باستخدام عدة معايير مثل الأتفاق على مستوى الكلمات والترتيب والأمانة. يمكن أن يكون أكثر دقة في بعض الحالات من BLEU.
ROUGE (Recall-Oriented Understudy for Gisting Evaluation): يستخدم ROUGE بشكل رئيسي في تقييم جودة الخلاصات والملخصات النصية. يمكن أن يكون مفيدًا في تقييم الترجمة الآلية للملخصات النصية.
تقييم يدوي بشري: بالإضافة إلى القياسات الآلية، يمكن أيضًا اللجوء إلى تقييم بشري حيث يتم طلب آراء وتقييمات من الناس لفهم مدى جودة الترجمة. يمكن استخدام هذا التقييم لتحسين أداء نظام الترجمة.
يعتمد اختيار الطريقة على نوع النصوص والغرض من الترجمة. تذكر أنه يمكن تحسين أداء نظام الترجمة الآلية باستمرار من خلال تجربة وتعديل الموديلات والمعايير المستخدمة.
الشبكات العصبونية المتكررة Recurrent Neural Network هي نوع خاص من الشبكات العصبية الاصطناعية التي تتكيف مع بيانات السلاسل الزمنية أو البيانات التي تتضمن تسلسلات حيث يتم تغذية الاخراج من الخطوة السابقة كمدخل إلى الخطوة الحالية.
في الشبكات العصبية التقليدية تكون جميع المدخلات والمخرجات مستقلة عن بعضها البعض ولكن في حالات مثل عندما يكون مطلوباً التنبؤ بالكلمة التالية من الجملة تكون الكلمات السابقة مهمة وبالتالي هناك حاجة لتذكر الكلمات السابقة.
وهكذا ظهرت شبكات RNN والتي حلت هذه المشكلة بمساعدة الطبقات المخفية. تمتلك RNNs مفهوم الذاكرة الذي يساعد على تخزين حالات أو معلومات المدخلات السابقة لتوليد المخرجات التالية من التسلسل وهذا يجعلها قابلة للتطبيق على مهام مثل التعرف على خط اليد غير المقسم و المتصل أو التعرف على الكلام.
مشاكل نواجهها الـ RNNs:
أحد أسباب استخدام الـ RNNs هو ميزة تذكر المعلومات السابقة. ومع ذلك، قد تفشل RNN بسيطة في حفظ المعلومات لفترة طويلة دون بعض الحيل.
مثال لمشكلة التدرجات المتلاشية:
تمثل المدخلات رموزًا من برنامج بلغة C. سيحدد النظام ما إذا كان برنامجًا صحيحًا نحويًا أم لا. يجب أن يحتوي البرنامج الصحيح نحويًا على عدد صالح من الأقواس. و بالتالي، يجب أن تتذكر الشبكة عدد الأقواس والأقواس المفتوحة التي يجب التحقق منها، و ما إذا كنا قد أغلقناها جميعًها. يجب أيضا على الشبكة تخزين هذه المعلومات في حالات مخفية مثل العداد. ومع ذلك، و بسبب التدرجات المتلاشية، فإنها ستفشل في الحفاظ على هذه المعلومات في برنامج لمدة طويلة.
فريق من جامعة ستافورد قام بتطوير نموذج لغوي كبير LLM ينافس من حيث الأداء نموذج GPT3 تم بناءه بكلفة تقارب 1000$ وتم تسمية هذا النموذج ب Alpaca أو نموذج ألباكا.
يوضح الشكل التالي بنية نظام نموذج Alpaca والحقيقة فهي في غاية البساطة, وتعود بساطة النموذج إلى الاستفادة من النموذج المفتوح المصدر LLaMA الذي أطلقته فيسبوك بالاضافة إلى بناء البيانات التدريبية باستخدام نموذج text-davinci-003 الذي طورته شركة Open AI والذي يعتبر أساس نموذج ChatGPT
لتدريب نموذج لغوي على الشات او تنفيذ الأوامر، تحتاج إلى بيانات تدريبية تدعى instructions تحوي على عينات من الأسئلة والإجابة عنها، هذه العينات تساعد الشبكات العصبية على فهم الآلية التي يجب ان تستخلص فيها الإجابات من نصوص ضخمة.
الصورة بالمرفق توضح تفاصيل الأوامر التي تم توليد بيانات تدريبية من خلالها, حيث الدوائر الصغيرة في المنتصف تعبر عن الفعل الأساسي والدائرة الخارجية تعبر عن ماهو مطلوب بالضبط، مثلا: