Benchmark · coding

EvalPlus

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

يختبر EvalPlus صحّة الشيفرة التي تُنتجها نماذج LLM بصرامة عبر توسيع معياري HumanEval وMBPP (بصيغتَي HumanEval+ وMBPP+) بعدد أكبر بكثير من حالات الاختبار؛ والمقياس هو pass@k (عادةً pass@1).

اقرأ المزيد
مثال
مهمة إكمال دالة بلغة Python: بمعطى توقيع الدالة وdocstring بلغة طبيعية يتضمّن بضعة أمثلة، يكتب النموذج جسم الدالة، ثم تُشغَّل على مجموعة اختبارات موسَّعة كثيرًا تضيف الحالات الحدّية (مدخلات فارغة، حدود، قيم كبيرة) التي أغفلها المعيار الأصلي.
طريقة التقييم
المقياس هو pass@k، وغالبًا pass@1 دائمًا. تُحتسب المسألة محلولة فقط إذا اجتازت الشيفرة المولَّدة كل الاختبارات (اختبارات «base» الأصلية إضافةً إلى اختبارات «plus» الجديدة). وpass@k هو المُقدِّر غير المتحيّز: مع n≥k عيّنة منها c صحيحة يساوي 1 − C(n−c, k)/C(n, k)؛ والنتيجة المُبلَّغة هي نسبة المسائل المحلولة عبر المجموعة كاملة.
التحقق
يُشغَّل كل حل في بيئة معزولة على مجموعة base+plus كاملة بمهلة زمنية لكل اختبار، ولا يُقبل إلا إذا اجتاز كل التأكيدات. تُولَّد المدخلات الإضافية بطفرة واعية بالأنواع مع تلقيم من LLM، وتُرشَّح مقابل حلول مرجعية موثَّقة، لذا فإن حكم «passed» يعني التطابق مع المرجع في كل مدخل.
لماذا يهم
مجموعات اختبار HumanEval/MBPP الأصلية ضعيفة جدًا وتمرِّر شيفرة تبدو صحيحة لكنها خاطئة، فتبالغ في تقدير صحّة النماذج؛ أما مجموعات EvalPlus الأكبر بنحو 80× (HumanEval+) و35× (MBPP+) فتلتقط تلك الأخطاء وتُنقص pass@1 عادةً بضع نقاط، مما يجعلها المعيار الأجدر بالثقة لتقييم نماذج LLM البرمجية.
مثال محلول
المهمة
عنصر تمثيلي بأسلوب EvalPlus (HumanEval+) — أكمل جسم الدالة انطلاقًا من توقيعها وdocstring: ```python from typing import List def sum_even_at_odd_index(numbers: List[int]) -> int: """Return the sum of all even values located at odd indices. >>> sum_even_at_odd_index([3, 8, 7, 4, 5]) 12 >>> sum_even_at_odd_index([1, 3, 5]) 0 """ ```
الحل
```python
def sum_even_at_odd_index(numbers: List[int]) -> int:
    return sum(n for i, n in enumerate(numbers) if i % 2 == 1 and n % 2 == 0)
```
الشرح
يمرّ الحل على القائمة باستخدام enumerate، ويُبقي القيم الزوجية (n % 2 == 0) الواقعة في الفهارس الفردية (i % 2 == 1) ثم يجمعها، وهو ما يطابق مثالَي docstring وكذلك الحالات الحدّية مثل قائمة فارغة أو فردية بالكامل. التقييم ناجح/راسب: تُشغَّل الدالة على مجموعة base+plus كاملة ولا يُحتسب العنصر إلا إذا اجتاز كل الاختبارات.

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