OpenAI が2021年に公開した LLM のコード生成能力を評価するベンチマーク。164問の Python プログラミング問題で構成され、モデルが生成したコードがユニットテストを通過するかで正解判定する。Pass@k 指標で評価され、コード生成 LLM の標準的な評価基準として広く使用されている。
HumanEval は OpenAI が2021年に Codex 論文と共に公開したコード生成ベンチマークである。164問の Python プログラミング課題で構成され、各問題には関数シグネチャ・docstring・ユニットテストが含まれる。モデルが生成したコードを実際に実行し、テストをパスするかで正誤を判定する「実行ベース評価」が特徴である。
HumanEval の各問題は以下の要素で構成される。
def function_name(param: type) -> return_type:問題の難易度はアルゴリズム入門〜中級レベルで、文字列操作・リスト処理・数学・再帰・ソートなど基本的なプログラミングスキルを測定する。
HumanEval では Pass@k という指標で性能を評価する。k 回コードを生成し、1回でもテストを通過すれば成功とみなす。
| 指標 | 意味 | 使い方 |
|---|---|---|
| Pass@1 | 1回の生成で正解する確率 | 実用性能の指標(ユーザーが最初に得る結果) |
| Pass@10 | 10回中1回以上正解する確率 | モデルの潜在能力 |
| Pass@100 | 100回中1回以上正解する確率 | 理論上の上限性能 |
実用上は Pass@1 が最も重要で、Pass@10 や Pass@100 はモデルの潜在的な能力を示す参考値として使われる。
| モデル | Pass@1 | リリース時期 |
|---|---|---|
| GPT-4o | 90.2% | 2024年 |
| Claude 3.5 Sonnet | 92.0% | 2024年 |
| DeepSeek-Coder-V2 | 90.2% | 2024年 |
| Llama 3.1 405B | 89.0% | 2024年 |
| GPT-4 (初期) | 67.0% | 2023年 |
| Codex (code-davinci-002) | 47.0% | 2021年 |
| GPT-3.5 Turbo | 48.1% | 2022年 |
2024年以降の最先端モデルは Pass@1 で90%前後に到達しており、HumanEval 単体ではモデル間の差別化が困難になっている。
HumanEval の限界を補うために複数の派生ベンチマークが登場している。
A1: HumanEval の高スコアはコード生成の基礎能力を示すが、実務ではコンテキスト理解・大規模コードベースの把握・デバッグ能力なども重要。SWE-bench や実際のタスクでの評価も併用すべき。
A2: GitHub で公開されている(openai/human-eval)。ただしモデルの学習データに混入する汚染リスクがあるため、新しいベンチマーク(LiveCodeBench等)も参照すべき。
A3: bigcode/bigcode-evaluation-harness または lm-evaluation-harness で測定可能。vLLM や llama.cpp バックエンドに対応しており、GGUF 形式のモデルも評価できる。