ベンチマーク大規模言語モデル自然言語処理

MBPP

エムビーピーピー · Mostly Basic Python Problems
20 views

MBPP(Mostly Basic Python Problems)は、大規模言語モデルのコード生成能力を評価するために設計されたベンチマークデータセットです。約1,000個のエントリーレベルのPythonプログラミング問題で構成されており、各問題には自然言語による指示、解答となるコード、そして動作検証用のテストケースが含まれています。

MBPPとは

MBPP(Mostly Basic Python Problems)は、大規模言語モデルが「自然言語の指示から、意図通りに動作するPythonコードを正しく生成できるか」を客観的に評価・比較するためのベンチマークデータセットです。

詳しく解説

MBPPは、Googleの研究者らによって2021年に提案されました。主にジュニアレベルのプログラマーを対象とした基本的なプログラミングタスク約1,000件が収録されています。各データは「関数の仕様を説明する自然言語テキスト」「正解となるPythonコード」「コードの正確性を検証するためのテストケース(アサーション)」で構成されています。評価の際には、モデルが生成したコードに対してテストケースを実行させ、実際に正しい出力を得る割合を測定する「Pass@k」という指標が一般的に用いられます。これにより、単なるテキストの類似度比較ではなく、プログラムとしての実行可能性や論理的正確性を厳密に測定できます。

具体例・使われ方

例えば、大規模言語モデルに対して「与えられたリスト内の偶数の和を返す関数を書いてください」というコード生成タスクを指示します。モデルが生成したコードに対し、MBPPに含まれる特定のテストケース(例: assert sum_even([1, 2, 3, 4]) == 6)を自動実行し、エラーなくパスするかどうかを検証することで、モデルの実用的なプログラミング能力を数値化します。

似た用語との違い

MBPPと類似したベンチマークに、OpenAIが開発した「HumanEval」があります。どちらもPythonのコード生成能力を測定する点は共通していますが、HumanEvalが手動で作成された約164個の比較的難度の高いアルゴリズム問題を中心に構成されているのに対し、MBPPはクラウドソーシングなどを活用して収集された、より基本的かつ実用的な1,000個近い問題群で構成されているという違いがあります。

注意点

MBPPを使用する際の注意点として、評価用の問題と解答データがウェブ上に広く公開されているため、近年の大規模言語モデルの事前学習データにこれらが含まれてしまい、モデルが答えを「暗記」して高いスコアを出してしまうデータ汚染(データリーク)の問題が指摘されています。また、基本レベルの問題に特化しているため、より高度なシステム設計や大規模な開発能力をこのベンチマークだけで評価することは困難です。

更新日時: 2026年9月9日 10:31