Benchmark · coding
MBPP
MBPP (Mostly Basic Python Problems) adalah benchmark pembuatan kode berisi sekitar 1000 tugas pemrograman Python tingkat pemula yang dijelaskan dalam bahasa Inggris sederhana, masing-masing disertai kasus uji otomatis. Ia mengukur seberapa sering sebuah model menulis fungsi yang benar pada percobaan pertama, dilaporkan dengan metrik pass@1.
Selengkapnya
- Contoh
- Sebuah butir tipikal meminta model menulis fungsi Python kecil dari deskripsi satu baris — misalnya, «tulis fungsi yang mengembalikan angka Fibonacci ke-n» atau «periksa apakah sebuah string adalah palindrom» — yang kemudian dijalankan terhadap beberapa uji berbasis assert yang disertakan.
- Penilaian
- Metriknya adalah pass@1: untuk setiap tugas model menghasilkan satu solusi, dan skornya adalah proporsi tugas yang kode hasilnya lolos semua kasus uji tugas tersebut.
- Verifikasi
- Solusi diterima secara otomatis: fungsi yang dihasilkan dijalankan terhadap uji unit berbasis assert milik tugas dan hanya dihitung benar jika semua uji lolos (tanpa penilai manusia atau pencocokan teks persis).
- Mengapa penting
- MBPP adalah baseline lama yang mudah dijalankan untuk pembuatan kode Python dasar; karena model-model kuat saat ini mencetak skor mendekati batas atas, ia dianggap jenuh (saturated) dan kini lebih berguna sebagai pemeriksaan kewarasan ketimbang untuk membedakan sistem-sistem terbaik.
Contoh penyelesaian
Tugas
Butir bergaya MBPP: «Tulis sebuah fungsi python untuk menghitung jumlah huruf vokal (a, e, i, o, u) dalam sebuah string huruf kecil yang diberikan.» Disertai tiga uji assert tersembunyi, mis.
assert count_vowels('hello') == 2, assert count_vowels('world') == 1, assert count_vowels('rhythm') == 0; nama fungsi harus sama dengan yang dipanggil oleh uji tersebut.Solusi
def count_vowels(s):
return sum(1 for ch in s if ch in 'aeiou')
Penjelasan
Menelusuri string dan menghitung karakter yang termasuk himpunan vokal 'aeiou' menghasilkan 2, 1, dan 0 untuk ketiga masukan, sehingga semua assert lulus. MBPP menilai solusi sebagai lulus/gagal dengan menjalankan fungsi yang dihasilkan terhadap ketiga uji assert yang disediakan (kebenaran fungsional, pass@k).
| Tanggal | Model | Skor | Sumber |
|---|---|---|---|
| 2026-07-16 | Granite 4.0 3B | 63.2% | IBM membuka sumber CodeAlchemy, dataset sintetis masif berisi kode berkualitas tinggi |
| 2026-07-13 | Qwen3.5-4B | 13.0% | Flint memampatkan jejak penalaran untuk mengurangi penggunaan token sambil mempertahankan akurasi |
| 2024-12-17 | Falcon3-10B-Base | 73.8% | Keluarga Falcon3 merilis lima model terbuka dengan kemampuan sains, matematika, dan kode yang lebih baik |