LiveCodeBench リーダーボード:コード LLM の汚染フリー評価
Hugging Face は、UCバークレー、MIT、コーネル大学の研究者が開発した新しい評価フレームワークである LiveCodeBench リーダーボードを開始しました。このベンチマークは、競技プログラミングプラットフォームから時間をかけて収集された問題を使用し、Large Language Model(LLM)のコーディング能力を包括的かつ汚染フリーに測定することを目的としています。
時間的評価によるベンチマーク汚染の防止
LiveCodeBench は、ベンチマーク汚染という重要な問題(モデルが後で評価されるテストデータで訓練されてしまうこと)に対処するため、すべてのコーディング問題にリリース日を付与しています。これにより、研究者は「時間をスクロールする」戦略を実装できます。つまり、トレーニングのカットオフ日が D のモデルに対して、ベンチマークは D 以降にリリースされた問題のみを使用してスコアを計算します。これにより、モデルは実際に未見の問題で評価され、記憶ではなく汎化のより正確な測定が可能になります。
包括的評価シナリオ
従来のベンチマークがコード生成のみに焦点を当てるのとは異なり、LiveCodeBench は LeetCode、AtCoder、CodeForces からキュレーションされた問題を利用して、4 つの異なるコーディングシナリオを評価します。すべてのシナリオは Pass@1 指標で評価され、正解数と総試行回数の比率を算出します。
コード生成
モデルには自然言語の問題文と例示テストが与えられます。目的は正しい解答を生成することで、生成された解答は隠されたテストケースの集合を用いて機能的正確性に基づき評価されます。
セルフリペア
このシナリオは、モデルが自らのコードを反復的に改善できるかどうかをテストします。モデルが誤ったプログラムを生成した場合、例外メッセージや失敗したテストケースなどのエラーフィードバックが提供され、機能的正確性を達成するための修正を生成しなければなりません。
コード実行
モデルは、テスト入力が与えられた特定のプログラムスニペット(関数)の出力を予測する課題に取り組みます。正確性は、モデルが予測した出力がその入力で関数を実行した実際の結果と一致するかどうかで判断されます。
テスト出力予測
このシナリオでは、モデルに問題文とテストケース入力が与えられます。関数の実装を見ずに、その入力に対する期待される出力を生成しなければなりません。評価は完全一致チェッカーを用いて行われます。
主な発見とモデル性能
初期評価では、モデルの順位が特定のコーディングシナリオによって異なることが明らかになり、モデルごとに推論や実行における強みが異なることが示唆されます。
- GPT-4-Turbo: このモデルはほとんどのシナリオで最も高い性能を示します。セルフリペアタスクで特に大きな差を示し、コンパイラフィードバックを活用する高い能力を示しています。
- Claude-3-Opus: このモデルはテスト出力予測シナリオで特に GPT-4-Turbo を上回り、優れた自然言語推論能力を示唆します。
- Mistral-Large: このモデルはコード実行やテスト出力予測を含む自然言語推論タスクで、著しく優れた性能を示します。
提出と貢献
LiveCodeBench フレームワークはオープンソースで、データセットとコードは Hugging Face と GitHub で入手可能です。開発者は lcb_runner モジュールを使用してモデルを評価し、公式フォームを通じて結果を提出することでリーダーボードに掲載できます。