AI・機械学習
中級
MBPP(エムビーピーピー)
Mostly Basic Python Problemsの略。Googleが公開した初心者〜中級レベルのPythonコード生成ベンチマーク。500問のプログラミング問題でLLMの基礎コード生成能力を評価する。
0 回閲覧
0 いいね
2026/6/7 更新
関連タグ
コード生成
ベンチマーク
Google
Python
初心者向け
MBPP とは
MBPP(Mostly Basic Python Problems)は、Googleが2021年に発表した論文「Program Synthesis with Large Language Models」で公開したLLMコード生成評価ベンチマークです。クラウドソーシングプラットフォームで収集した500問のPythonプログラミング問題で構成されており、HumanEvalとともにLLMコード生成評価の標準として広く利用されています。
ベンチマークの構成
問題形式
MBPPの各問題は以下で構成されます。
- タスク説明: 自然言語による問題文(1〜3文)
- コードソリューション: 正解の関数実装
- テストケース: 3つのassert文による検証
問題数と分割
- 全体: 500問
- Train(few-shot例): 374問
- Test: 500問(うち378問が評価セット)
- Sanitized MBPP: 問題文が明確な426問のサブセット
難易度
HumanEvalが中程度の難易度に集中しているのに対し、MBPPは幅広い難易度をカバーします。
- 文字列操作・リスト処理などの基礎問題
- 数学・再帰・ソートなどの中級問題
- 動的計画法・グラフ探索などの上級問題
評価指標
- pass@1: 1回生成で3つのテスト全パスの確率
- pass@k: k回生成で少なくとも1回全テストパスの確率
- few-shot prompting(3〜8例)でモデルに形式を示してから評価するのが標準
主要モデルの比較 (2025年時点)
MBPP pass@1(few-shot)代表的数値:
- GPT-4: 約80%
- Claude 3.5 Sonnet: 約82%
- Gemini Ultra: 約75%
- code-davinci-002 (Codex): 約50%
- CodeGen2-16B: 約45%
- StarCoder2-15B: 約54%
- Llama 3.1 70B: 約68%
MBPP+(拡張版)
2023年にEvalPlus Teamが発表したMBPP+は、テストケースを35倍に拡張した強化版です。
- 元の3テストケースを35倍に増加(クラウドソーシング+自動生成)
- より厳密なコーナーケース検証が可能
- pass@1スコアが元MBPPより約10〜15%低下するモデルも多く、真の能力を測定
HumanEvalとの比較
- HumanEval: 164問・関数シグネチャ+docstring・テストケース多め
- MBPP: 500問・自然言語説明のみ・テストケース3つ・幅広い難易度
MBPPはfew-shotでの評価が標準で、モデルが例示からタスク形式を学ぶ能力も評価されます。HumanEvalとMBPPを組み合わせることで、より包括的なコード生成能力の評価が可能です。
まとめ
MBPPは、LLMのコード生成評価において、HumanEvalと並ぶ標準的なベンチマークとして定着しています。幅広い難易度・自然言語形式の問題文・500問の規模により、初心者向けから高度なアルゴリズム問題まで幅広くモデルの能力を評価できます。MBPP+の登場でテストの厳密性も向上しており、2025年現在も主要な評価指標として利用されています。