حديثاً، ثلاثة معايير جديدة تمت إضافتها إلى Open LLM Leaderboard: Winogrande وGSM8k وDROP، باستخدام التطبيقات الأصلية المستنسخة في EleutherAI Harness. كشفت نظرة سريعة على نتائج DROP أن شيئًا غريبًا كان يحدث، حيث سجلت الغالبية العظمى من العارضات أقل من 10 من أصل 100 في درجة الفورمولا واحد! لقد قمنا بالبحث العميق لفهم ما كان يحدث، تعال معنا لترى ما اكتشفناه!

الملاحظات الأولية

DROP (الاستدلال المنفصل على الفقرات) هو تقييم حيث يجب على النماذج استخلاص المعلومات ذات الصلة من فقرات النص الإنجليزي قبل تنفيذ خطوات الاستدلال المنفصلة عليها (على سبيل المثال، فرز العناصر أو عدها للوصول إلى الإجابة الصحيحة، راجع الجدول أدناه للحصول على أمثلة). المقاييس المستخدمة هي f1 المخصصة ونتائج المطابقة التامة.

أمثلة على الاستدلال والفقرة من المقال الأصلي.

أضفناها إلى Open LLM Leaderboard منذ ثلاثة أسابيع، ولاحظنا أن درجات f1 للنماذج المدربة مسبقًا اتبعت اتجاهًا غير متوقع: عندما قمنا برسم درجات DROP مقابل المتوسط ​​الأصلي للوحة المتصدرين (من ARC وHellaSwag وTruthfulQA وMMLU)، وهو وكيل معقول لأداء النموذج الإجمالي، توقعنا أن تكون درجات DROP مرتبطة به (مع وجود نماذج أفضل تتمتع بأداء أفضل). ومع ذلك، كان هذا هو الحال فقط بالنسبة لعدد صغير من النماذج، وجميع النماذج الأخرى حصلت على درجة انخفاض منخفضة جدًا في معدل f1، أقل من 10.

يمكن ملاحظة اتجاهين في درجات الانخفاض: بعضها يتبع المتوسط ​​(قطريًا)، والبعض الآخر عالق حول 5 (خط عمودي على يمين الرسم البياني).

استجوابات التطبيع

أثناء تعمقنا الأول في هذه السلوكيات المفاجئة، لاحظنا أن خطوة التسوية ربما لم تكن تعمل على النحو المنشود: في بعض الحالات، تجاهلت هذه التسوية الإجابات الرقمية الصحيحة عندما تبعها مباشرة حرف مسافة بيضاء غير مسافة (سطر إرجاع، على سبيل المثال). دعونا ننظر إلى مثال، مع الجيل 10\n\nPassage: The 2011 census recorded a population of 1,001,360، والإجابة الذهبية هي 10.

التطبيع يتم عبر عدة خطوات، سواء بالنسبة للتوليد أو الذهب:

  1. انقسام على الفواصل |, -، أو
    تسلسل بداية الجيل 10\n\nPassage: لا تحتوي على مثل هذا الفاصل، وبالتالي تعتبر كيانًا واحدًا بعد هذه الخطوة.
  2. إزالة علامات الترقيم
    ثم يصبح الرمز الأول 10\n\nPassage (: تمت إزالته)
  3. تجانس الأرقام
    كل سلسلة يمكن تحويلها إلى سلسلة تعتبر رقمًا ويتم تحويلها إلى سلسلة، ثم يتم إعادة تحويلها إلى سلسلة. 10\n\nPassage يبقى على حاله، إذ لا يمكن صبه ليطفو، بينما الذهب 10 يصبح 10.0.
  4. خطوات أخرى
    يترتب على ذلك الكثير من خطوات التسوية الأخرى (إزالة المقالات، وإزالة المسافات البيضاء الأخرى، وما إلى ذلك) ويصبح مثالنا الأصلي 10 passage 2011.0 census recorded population of 1001360.0.

ومع ذلك، فإن النتيجة الإجمالية لا يتم حسابها على السلسلة، ولكن على كيس الكلمات (BOW) المستخرج من السلسلة، هنا 'recorded', 'population', 'passage', 'census', '2011.0', '1001360.0', '10'، والذي يتم مقارنته بقوس الذهب، والذي تم تطبيعه أيضًا بالطريقة المذكورة أعلاه، 10.0. وكما ترون فإنهما لا يتقاطعان، على الرغم من أن النموذج تنبأ بالإخراج الصحيح!

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

الغوص في النتائج

لتوسيع نطاق تحقيقاتنا، انضم إلينا أصدقاؤنا في Zeno وأجروا استكشافًا أكثر شمولاً للنتائج، حيث نظروا في 5 نماذج تمثل المشكلات التي لاحظناها في درجات DROP: كان أداء falcon-180B وmistral-7B ضعيفًا مقارنة بما كنا نتوقعه، وكان أداء Yi-34B وtigerbot-70B جيدًا جدًا على DROP المرتبط بمتوسط درجاتهم، وسقط facebook/xglm-7.5B في الوسط.

يمكنك تجربة تحليل النتائج في مشروع Zeno هنا إذا كنت تريد ذلك!

وجد فريق Zeno ميزتين أخريين مثيرتين للقلق:

  1. لم يحصل أي نموذج على نتيجة صحيحة على إجابات الفاصلة العائمة
  2. النماذج عالية الجودة التي تولد إجابات طويلة تحصل في الواقع على درجة f1 أقل

في هذه المرحلة، اعتقدنا أن كلتا حالتي الفشل كانتا ناجمتين في الواقع عن نفس العامل الجذري: الاستخدام . كرمز لكلمة التوقف (لإنهاء الأجيال):

  1. تتم مقاطعة الإجابات ذات الفاصلة العائمة بشكل منهجي قبل اكتمال إنشائها
  2. سيتم إنشاء نماذج ذات جودة أعلى، والتي تحاول مطابقة تنسيق اللقطات القليلة Answer\n\nPlausible prompt for the next question.، ولا تتوقف إلا أثناء الاستمرار الفوري المعقول بعد الإجابة الفعلية على الإجابة الأولى .، وبالتالي توليد عدد كبير جدًا من الكلمات والحصول على درجة f1 سيئة.

لقد افترضنا أنه يمكن حل هاتين المشكلتين باستخدام \n بدلاً من . باعتبارها نهاية جيل كلمة التوقف.

تغيير رمز نهاية الجيل

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

وكانت النتائج التي حصلنا عليها هي التالية – التقسيم \n يرتبط بشكل جيد مع الدرجات الأخرى وبالتالي مع الأداء العام.

يمكننا أن نرى باللون البرتقالي أن الدرجات المحسوبة على الأوتار الجديدة ترتبط بشكل أفضل مع متوسط ​​الأداء.

إذن ما هي الخطوة التالية؟

تُظهر عملية حسابية سريعة أن إعادة تشغيل التقييم الكامل لجميع النماذج سيكون مكلفًا للغاية (استغرق التحديث الكامل 8 سنوات من وقت وحدة معالجة الرسومات، واستغرق DROP جزءًا كبيرًا منه)، وقد قدرنا تكلفة إعادة تشغيل الأمثلة الفاشلة فقط.

في 10% من الحالات، تكون الإجابة الذهبية عبارة عن رقم عائم (على سبيل المثال 12.25) وتبدأ تنبؤات النماذج بالبداية الصحيحة (على سبيل المثال، 12) ولكن يتم قطعها على أ . – من المحتمل أن تكون هذه التوقعات صحيحة بالفعل إذا استمر الجيل. سنحتاج بالتأكيد إلى إعادة تشغيلها! تقديرنا لا يحسب الجمل التي تم إنشاؤها والتي تنتهي برقم ربما تم مقاطعته (40% من الأجيال الأخرى)، ولا أي تنبؤ أفسدته تطبيعه.

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

بعد مناقشة الأمر مع فريق EleutherAI الرائع (سواء على GitHub أو داخليًا)، الذي أرشدنا خلال الكود وساعد في تحقيقاتنا، أصبح من الواضح جدًا أن تطبيق LM Eval Harness يتبع كود “DROP الرسمي” بدقة شديدة: وبالتالي يجب تطوير إصدار جديد من تقييم هذا المعيار!
لذلك اتخذنا قرارًا بإزالة DROP من لوحة المتصدرين Open LLM حتى ظهور إصدار جديد.

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

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

شكرًا للعديد من أعضاء المجتمع الذين أشاروا إلى المشكلات المتعلقة بنتائج DROP، وشكرًا جزيلًا لفريقي EleutherAI Harness وZeno لمساعدتهم الكبيرة في هذه المشكلة.



شاركها.
اترك تعليقاً