この記事のポイント
- 新しいAIモデル「LiveCodeBenchリーダーボード」のコーディング能力評価システムについて紹介しています。
- 「LiveCodeBenchリーダーボード」は、UC Berkeley、MIT、Cornellの研究者によって開発されました。
- AIモデルの能力を汚染なしで評価するために、訓練された後に公開された問題を使用しており、これにより公平な評価が可能になっています。
監修者プロフィール
坂本 将磨
Microsoft AIパートナー、LinkX Japan代表。東京工業大学大学院で技術経営修士取得、研究領域:自然言語処理、金融工学。NHK放送技術研究所でAI、ブロックチェーン研究に従事。学会発表、国際ジャーナル投稿、経営情報学会全国研究発表大会にて優秀賞受賞。シンガポールでのIT、Web3事業の創業と経営を経て、LinkX Japan株式会社を創業。
AIのコーディング能力を評価する新しいベンチマーク「LiveCodeBenchリーダーボード」が、UC Berkeley, MIT, Cornellの研究チームによって開発されました。
言語モデルが「プログラミングの問題をどれだけ巧みに解けるか」を測定するシステムとしての役割や方法について、その特徴やシナリオ、評価結果に至るまでを紹介していきます。
汚染を回避するための工夫や、どのようにAIモデルが異なるシナリオでパフォーマンスを発揮するかの例として、GPT-4-Turboなどのモデルの言及、さらには研究コミュニティへの貢献方法も解説しています。
LiveCodeBenchリーダーボードの紹介 - コードLLMの全体的かつ汚染のない評価
2024年4月16日、新たな大規模言語モデル(LLM)のコーディング能力評価システム「LiveCodeBenchリーダーボード」が発表されました。
このシステムはUC Berkeley、MIT、Cornellの研究者によって開発され、AIがプログラミングの問題をどれだけ上手に解けるかを評価するために作られています。
LiveCodeBenchリーダーボードは、過去のコーディングコンテストから集めた問題を使って、AIのコードを生成する能力をチェックします。問題には公開日がついており、新しいモデルが訓練された後に公開された問題でAIの能力を試すことで、評価の公平性を保つ工夫がされています。
これにより、過去のデータに過剰に適応してしまう「汚染」という問題を防ぐことができます。
LiveCodeBenchリーダーボード
LiveCodeBenchシナリオと評価の詳細
LiveCodeBenchは、4つの異なるコーディングシナリオを通じてAIのコーディング能力を評価します。
まず「コード生成」では、問題文と例をもとに正しいコードを作ることが求められます。次に「自己修復」では、間違ったコードを直す能力をチェックします。さらに「コード実行」では、与えられた関数とテスト入力から予想される出力を予測するタスク、「テスト出力予測」では、問題文だけから正しい出力を予想するタスクがあります。
これらのシナリオでAIがどれだけの問題を正しく解けるかを示すPass@1メトリックを使って評価され、AIの総合的なプログラミング能力が明らかになります。
評価シナリオの種類
モデル評価の結果と提出方法
LiveCodeBenchリーダーボードの評価結果によると、AIモデルのパフォーマンスはシナリオによって異なることが分かりました。
例えば、GPT-4-Turboはほとんどのシナリオで良い結果を示し、特に「自己修復」タスクで優れた能力を発揮しました。
一方で、Claude-3-OpusやMistral-Largeといった他のモデルは、特定のシナリオで良いパフォーマンスを見せ、モデルによって得意な分野があることが明らかになりました。
モデルを評価するには、condaを使って環境を設定し、LiveCodeBenchをインストールします。そこからHugging Faceモデルを用いて、GitHubの指示に従いながら簡単に評価を行うことができます。結果はオンラインで提出することが可能です。
LiveCodeBenchによる評価指数
LiveCodeBenchへの貢献方法
LiveCodeBenchは、オープンソースとして公開されており、研究者や開発者からの貢献を歓迎しています。問題の提出や新しいモデルのサポートなど、様々な形で協力することができます。
もしAIやプログラミングに関心があるなら、GitHubでデータセットをチェックしたり、直接メールで連絡してみると良いでしょう。このようにして、LiveCodeBenchは世界中の人々と協力し、さらに正確で公平なコーディング能力評価システムを築き上げていくことを目指しています。
出典:Hugging Face