Benchmark · coding

MBPP+

saturated 0 نتائج 0 نماذج

MBPP+ هو نسخة موسَّعة الاختبارات بصرامة من معيار البرمجة MBPP (Mostly Basic Python Problems)، مبنية باستخدام إطار EvalPlus. يقيس الصحة الوظيفية لدوال Python التي يولّدها النموذج، ويُبلَّغ عنه بصيغة pass@1.

اقرأ المزيد
مثال
يقدّم البند النموذجي وصفًا موجزًا بلغة طبيعية لدالة Python أساسية يجب كتابتها (مثلًا، «إيجاد العناصر المشتركة بين قائمتين»)، مع بضع تأكيدات (assertions) مثالية تحدّد السلوك المتوقع.
طريقة التقييم
المقياس هو pass@k، وعادةً pass@1: تُحتسب المهمة محلولة فقط إذا اجتازت الدالة المولَّدة كل الاختبارات؛ والدرجة هي نسبة المهام المحلولة. يُحسب pass@k بالمقدِّر غير المتحيّز القياسي على n من النواتج المُعاينة.
التحقق
تُنفَّذ كل دالة مرشَّحة في بيئة معزولة مقابل المجموعة الكاملة — تأكيدات MBPP الأصلية إضافةً إلى المدخلات التي يولّدها EvalPlus تلقائيًا (طفرة واعية بالأنواع وبذر بواسطة LLM، أي نحو 35 ضعف عدد اختبارات MBPP). ولا تُقبل للمهمة إلا إذا اجتازت كل الاختبارات ضمن المهلة الزمنية.
لماذا يهم
لا يتضمّن MBPP الأصلي سوى نحو ثلاثة اختبارات لكل مسألة، لذا قد يمرّ رمز خاطئ بدقة كنتيجة إيجابية زائفة. يشدّد MBPP+ التقييم، بحيث تعكس معدلات النجاح المنشورة وترتيب النماذج الصحة الحقيقية لا ضعف الاختبار.
مثال محلول
المهمة
اكتب دالة تجد العناصر المشتركة بين قائمتين معطاتين وتعيدها كقائمة مرتَّبة من القيم الفريدة. يجب أن يجتاز رمزك اختبارات مثل: assert shared_elements([1, 2, 3, 4], [3, 4, 5, 6]) == [3, 4]
الحل
```python
def shared_elements(list1, list2):
    return sorted(set(list1) & set(list2))
```
الشرح
تقاطع القائمتين بوصفهما مجموعتين ثم الترتيب يعطي القيم المشتركة الفريدة مرتَّبةً، بما يحقّق التأكيدات. كما يُشغِّل MBPP+ مدخلات إضافية كثيرة (قوائم فارغة، تكرارات، حالات أكبر)؛ وبتقييم pass@1، لا يُحتسب الحل إلا إذا اجتازها جميعًا.

لا توجد درجات موثّقة لهذا الـ Benchmark بعد.