CodeContests は、Google の DeepMind が導入した難度の高いコード生成データセットであり、Codeforces などの競技プログラミングプラットフォームから厳選した問題で構成されている。LLM の学習に使える約 10,000 件のコード問題に加え、難度の高いコード問題を解く能力を評価するための検証セットとテストセットを含む。ここでの記述は、このデータセットを評価ベンチマークとして用いている AlphaCodium によるコード生成:プロンプトエンジニアリングからフローエンジニアリングへ に基づく。
内容
各問題は問題文と公開テストからなり、これらはモデルへの入力として利用できる。目標は、あらゆる正当な入力に対して正しい出力を生成する解答を作ることである。提出された解答の評価には、モデルにも競技参加者にも公開されない非公開テストセットが用いられる。各問題には約 200 件の非公開の入出力テストがあり、AlphaCodium の著者らはこれにより偽陽性が最小限に抑えられるとしている。検証セットとテストセットには、それぞれ 107 問と 165 問が含まれる。問題文は意図的に長く複雑にされており、細かな詳細やニュアンスを含んでいる。
来歴
このデータセットは Google の DeepMind によって導入され、Codeforces などの競技プログラミングプラットフォームから厳選されている。AlphaCodium の論文は、このデータセットに取り組んだ主要な研究として AlphaCode を挙げている。AlphaCode は、競技プログラミングのタスク向けに特化してファインチューニングされたネットワークを用いる DeepMind のコード生成システムである。
利用
AlphaCodium の著者らは、CodeContests が LLM のコード生成能力を評価するのに適したデータセットであると主張している。その理由として、他の多くの競技プログラミングデータセットとは異なり偽陽性を避ける包括的な非公開テストセットを備えていること、そして長く詳細な問題文が現実の問題を模していることを挙げている。これは、問題がより易しく簡潔に提示される HumanEval などのデータセットとは対照的である。著者らは学習セットを使わず、検証セットとテストセットで評価を行い、検証セットにおける GPT-4 の pass@5 が、直接プロンプトでは 19% だったのに対し、彼らのフローでは 44% に向上したと報告している。また、AlphaCode 2 は一般公開されていない CodeContests ベンチマークの更新版で結果を報告したことにも触れている。