ベンチマーク · coding

MBPP+

saturated 0 結果 0 モデル

MBPP+ は、コーディングベンチマーク MBPP(Mostly Basic Python Problems)のテストを厳密に拡充した版で、EvalPlus フレームワークで構築されています。モデルが生成した Python 関数の機能的正しさを測定し、pass@1 として報告します。

詳しく見る
典型的な問題は、書くべき基本的な Python 関数を自然言語で簡潔に説明したもの(例:「2 つのリストの共通要素を見つける」)に、期待される振る舞いを定める数個のアサーション例を添えて提示します。
採点方法
指標は pass@k、通常は pass@1 です。生成された関数がすべてのテストに合格した場合にのみ、その課題は解けたとみなされ、スコアは解けた課題の割合です。pass@k は n 個のサンプル生成に対する標準的な不偏推定量で計算します。
検証方法
各候補関数はサンドボックス内で全テストに対して実行されます——元の MBPP のアサーションに加え、EvalPlus が自動生成した入力(型を意識した変異と LLM シーディングで、MBPP の約 35 倍のテスト)です。制限時間内にすべてのテストに合格した場合にのみ、その課題は受理されます。
重要な理由
元の MBPP には問題ごとに約 3 個のテストしかないため、わずかに誤ったコードが偽陽性としてすり抜けることがあります。MBPP+ は評価を厳格化するので、公表される合格率やモデルの順位は、テストの甘さではなく実際の正しさを反映します。
解説付きの例
課題
2 つの与えられたリストの共通要素を見つけ、重複を除いてソートしたリストとして返す関数を書いてください。あなたのコードは次のようなテストに合格する必要があります: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))
```
解説
2 つのリストを集合として積を取りソートすると、順序付きの一意な共通値が得られ、アサーションを満たします。MBPP+ はさらに多くの追加入力(空リスト、重複、より大きなケース)を実行します。pass@1 の採点では、それらすべてに合格した場合にのみ解答がカウントされます。

このベンチマークの検証済みスコアはまだありません。