AI・機械学習
上級

BigCodeBench(ビッグコードベンチ)

LLM のコード生成能力を実用的なプログラミングタスクで評価するベンチマーク。HumanEval の限界を超え、複数ライブラリの組合せ・API 呼出し・データ処理など現実的な開発シナリオを網羅する。

0 回閲覧
0 いいね

BigCodeBench とは

BigCodeBench は 2024 年に BigCode プロジェクトから公開された、LLM のコード生成能力を測定する大規模ベンチマークである。従来の HumanEval(164 問)や MBPP(974 問)がアルゴリズム的な小問題に偏っていたのに対し、BigCodeBench は 実務レベルのプログラミングタスク 1,140 問 を収録し、複数ライブラリの組合せや外部 API の利用を要求する。

HumanEval との差異

比較軸HumanEvalBigCodeBench
問題数1641,140
タスク粒度単一関数・アルゴリズム複数関数・ライブラリ連携
ライブラリ使用標準ライブラリのみ139 ライブラリ(NumPy, Pandas, requests 等)
テストケース平均 7.7 件/問平均 5.6 件/問(より複雑な検証)
実務類似性低(競技プログラミング寄り)高(データ処理・Web・ML パイプライン)

評価モード

BigCodeBench は 2 つの評価モードを提供する。

  • Complete(完全生成): 関数シグネチャとドキュメント文字列から完全な実装を生成。コード生成能力の純粋な測定。
  • Instruct(指示追従): 自然言語の指示文からコードを生成。指示理解力とコード生成力の複合評価。

タスクカテゴリ

1,140 問は以下の実務領域をカバーする。

  • データ処理: Pandas・NumPy によるデータ変換・集計・可視化
  • Web/API: requests・Flask・FastAPI を用いた HTTP 通信・サーバー構築
  • ファイル操作: CSV/JSON/XML の読み書き・パス操作・圧縮展開
  • 機械学習: scikit-learn・PyTorch によるモデル学習・評価パイプライン
  • 暗号・セキュリティ: hashlib・cryptography による暗号化・署名検証
  • テスト・品質: unittest・pytest によるテストコード生成

採点方式

生成コードをサンドボックス環境(Docker コンテナ)で実行し、テストケースの通過率(pass@k)で採点する。pass@1(1 回の生成で正解する確率)が主要指標で、pass@5 も補助指標として報告される。実行時間制限は問題ごとに設定され、無限ループや過剰なリソース消費は不正解扱いとなる。

FAQ

Q1: BigCodeBench は Python 以外の言語に対応しているか?

2026 年時点では Python のみ対応している。これは評価対象ライブラリ(NumPy, Pandas 等)が Python エコシステムに集中しているためである。多言語対応は将来の拡張計画に含まれている。

Q2: HumanEval で高スコアのモデルが BigCodeBench で低スコアになることはあるか?

頻繁に観察される。HumanEval はアルゴリズム能力を測るが、BigCodeBench は外部ライブラリの正しい使い方や複合的な処理フローの構築を要求するため、実務的なコード生成能力が不足するモデルはスコアが大幅に低下する。

Q3: 自社モデルの評価をローカルで実行できるか?

BigCodeBench は GitHub でオープンソース公開されており、Docker 環境があればローカル実行可能である。公式の bigcodebench パッケージを pip install して evaluate コマンドを実行する。