Бенчмарк · coding
MBPP
MBPP (Mostly Basic Python Problems) — это бенчмарк генерации кода из примерно 1000 коротких задач начального уровня по программированию на Python, описанных простым английским языком, каждая из которых снабжена автоматическими тестами. Он измеряет, как часто модель пишет правильную функцию с первой попытки, и результат выражается метрикой pass@1.
Подробнее
- Пример
- Типичное задание просит модель написать небольшую функцию на Python по однострочному описанию — например, «написать функцию, возвращающую n-е число Fibonacci» или «проверить, является ли строка палиндромом», — которая затем запускается на нескольких прилагаемых тестах на основе assert.
- Метрика
- Метрика — pass@1: для каждой задачи модель генерирует одно решение, а итоговый балл — это доля задач, чей сгенерированный код проходит все тесты этой задачи.
- Приёмка
- Решение принимается автоматически: сгенерированная функция выполняется на тестах задачи (на основе assert) и засчитывается как верная, только если проходят все тесты — без участия людей и без точного сравнения строк.
- Почему важно
- MBPP — давно существующий и простой в запуске базовый тест для генерации простого кода на Python; поскольку сегодняшние сильные модели набирают результат близко к потолку, он считается насыщенным (saturated) и полезен скорее как проверка на вменяемость, чем как способ различать лучшие системы.
Разбор примера
Задача
Задача в стиле MBPP: «Напишите функцию на python для подсчёта числа гласных (a, e, i, o, u) в заданной строке в нижнем регистре». К ней прилагаются три скрытых assert-теста, например
assert count_vowels('hello') == 2, assert count_vowels('world') == 1, assert count_vowels('rhythm') == 0; имя функции должно совпадать с тем, что вызывают тесты.Решение
def count_vowels(s):
return sum(1 for ch in s if ch in 'aeiou')
Разбор
Проходя по строке и считая символы из множества гласных 'aeiou', получаем 2, 1 и 0 для трёх входов, поэтому все assert проходят. MBPP оценивает решение по принципу pass/fail, запуская сгенерированную функцию на всех трёх прилагаемых assert-тестах (функциональная корректность, pass@k).
| Дата | Модель | Результат | Источник |
|---|---|---|---|
| 2026-07-16 | Granite 4.0 3B | 63.2% | IBM открыла исходные коды CodeAlchemy — масштабного синтетического набора данных высококачественного кода |
| 2026-07-13 | Qwen3.5-4B | 13.0% | Flint сжимает цепочки рассуждений для снижения расхода токенов при сохранении точности |
| 2026-06-29 | LLaDA-8B | 41.0% | Мысли о планировании: обучение порядку рассуждений в диффузионных языковых моделях |
| 2026-06-25 | LLaDA-8B | 41.0% | Самоосознающее планирование обучает порядку размаскирования токенов в диффузионных языковых моделях |
| 2024-12-17 | Falcon3-10B-Base | 73.8% | Семейство Falcon3 выпускает пять открытых моделей с улучшенными возможностями в науке, математике и программировании |