벤치마크 · coding

MBPP

saturated 3 결과 3 모델

MBPP(Mostly Basic Python Problems)는 쉬운 영어로 설명된 입문 수준의 Python 프로그래밍 과제 약 1000개로 이루어진 코드 생성 벤치마크로, 각 과제에는 자동 테스트 케이스가 딸려 있습니다. 모델이 첫 시도에 올바른 함수를 얼마나 자주 작성하는지를 측정하며, pass@1 지표로 보고합니다.

자세히 보기
예시
전형적인 문항은 한 줄 설명을 보고 작은 Python 함수를 작성하도록 모델에 요구합니다 — 예를 들어 「n번째 Fibonacci 수를 반환하는 함수를 작성하라」 또는 「문자열이 회문인지 확인하라」 — 그런 다음 함께 제공된 몇 개의 assert 기반 테스트로 실행됩니다.
채점 방식
지표는 pass@1입니다. 각 과제에 대해 모델은 해답을 하나 생성하며, 점수는 생성된 코드가 해당 과제의 모든 테스트 케이스를 통과한 과제의 비율입니다.
검증 방식
해답은 자동으로 채점됩니다. 생성된 함수는 과제의 assert 기반 단위 테스트로 실행되며, 모든 테스트를 통과할 때만 정답으로 인정됩니다(사람 심사나 정확한 문자열 일치는 없습니다).
왜 중요한가
MBPP는 기본적인 Python 코드 생성을 위한 오래되고 실행이 쉬운 기준선입니다. 오늘날 강력한 모델들이 상한에 가까운 점수를 받기 때문에 포화(saturated)된 것으로 여겨지며, 이제는 최상위 시스템을 구분하는 수단이라기보다 주로 온전성 점검용으로 쓰입니다.
예제 풀이
문제
MBPP 형식 문항: '주어진 소문자 문자열에서 모음(a, e, i, o, u)의 개수를 세는 python 함수를 작성하시오.' 여기에는 세 개의 숨겨진 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는 생성된 함수를 제공된 세 개의 assert 테스트 전체에 대해 실행하여 통과/실패로 채점합니다(기능적 정확성, pass@k).
0 19.5 39 58.5 78 2024-12-17 2025-10-01 2026-07-16 Falcon3-10B-Base · 73.8 · 2024-12-17 Qwen3.5-4B · 13 · 2026-07-13 Granite 4.0 3B · 63.2 · 2026-07-16
Falcon3-10B-Base Qwen3.5-4B Granite 4.0 3B
타임라인
날짜 모델 점수 출처
2026-07-16 Granite 4.0 3B 63.2% IBM이 고품질 코드의 방대한 합성 데이터셋인 CodeAlchemy를 오픈소스로 공개
2026-07-13 Qwen3.5-4B 13.0% Flint는 정확도를 유지하면서 추론 추적을 압축하여 토큰 사용량을 줄입니다
2024-12-17 Falcon3-10B-Base 73.8% Falcon3 패밀리가 향상된 과학, 수학, 코드 능력을 갖춘 다섯 가지 오픈 모델을 출시