[論文レビュー] Long Code Arena: a Set of Benchmarks for Long-Context Code Models
本論文では、長文のコンテキストを必要とするプロジェクト全体のコード理解を要する6つのタスクを含む、Long Code Arenaというベンチマークスイートを紹介する。そのタスクには、ライブラリベースの生成、CIの修復、プロジェクト単位の補完、コミットメッセージ作成、バグの特定、モジュールの要約が含まれる。許可が明示されたオープンソースリポジトリから作成され、厳密な手動検証が施されたことにより、高品質なデータセット、評価ツール、およびベースラインがHuggingFaceとGitHubで公開されており、長文コードモデルの研究を前進させる。
Nowadays, the fields of code and natural language processing are evolving rapidly. In particular, models become better at processing long context windows - supported context sizes have increased by orders of magnitude over the last few years. However, there is a shortage of benchmarks for code processing that go beyond a single file of context, while the most popular ones are limited to a single method. With this work, we aim to close this gap by introducing Long Code Arena, a suite of six benchmarks for code processing tasks that require project-wide context. These tasks cover different aspects of code processing: library-based code generation, CI builds repair, project-level code completion, commit message generation, bug localization, and module summarization. For each task, we provide a manually verified dataset for testing, an evaluation suite, and open-source baseline solutions based on popular LLMs to showcase the usage of the dataset and to simplify adoption by other researchers. We publish the benchmark page on HuggingFace Spaces with the leaderboard, links to HuggingFace Hub for all the datasets, and link to the GitHub repository with baselines: https://huggingface.co/spaces/JetBrains-Research/long-code-arena.
研究の動機と目的
- 単一のファイルや関数を超えたプロジェクト全体のコンテキストを評価するベンチマークの不足に対処すること。
- 複数のファイルやモジュール全体へのアクセスを必要とする、現実世界のソフトウェア工学ワークフローを反映する現実的で高精度な評価タスクを構築すること。
- 実際のオープンソースリポジトリから得たサンプルを、許可が明示されたライセンスのもとで、手動による検証とフィルタリングを施すことにより、データ品質を確保すること。
- オープンソースの評価ツール、HuggingFace Hub上のデータセット、およびベースライン実装を提供し、長文コードモデル分野の研究を加速させること。
- 複雑でプロジェクトスケールのコード処理タスクにおける、長文のLLMの公平かつ再現可能な評価を可能にすること。
提案手法
- 本ベンチマークは、データ品質と再利用可能性を確保するため、サイズ、活動性、許可が明示されたライセンスを基準にフィルタリングされた4,343のオープンソースGitHubリポジトリから構築された。
- 6つのタスクのそれぞれについて、ソースコード、コミット履歴、イシュー、GitHub Actionsのログからデータを抽出し、現実の開発環境を模倣する。
- 正しさと関連性を保証するため、特にコミットメッセージ生成やバグの特定のようなタスクにおいて、きめ細やかなフィルタリングと手動検証が実施された。
- 大規模なニューラルネットワーク分類器(ファインチューニングされたCodeBERT)を用いて、大文字の使用や動詞の使用といった品質基準に基づき、コミットメッセージをフィルタリングした。
- データセットはHuggingFace Hubに公開され、パブリックリーダーボードが用意されており、代表的なLLMを用いたベースラインモデルが実装されており、利用法を示している。
- 評価設定では、訓練用とテスト用のデータセットを完全に分離し、データ漏洩を避けるために時系列的一致性を重視した。
実験結果
リサーチクエスチョン
- RQ1長文コードモデルは、孤立した関数ではなく、プロジェクト全体やモジュール全体のコンテキストを理解するタスクにおいて、どの程度の性能を発揮できるか?
- RQ2現在のベンチマークは、現実世界のソフトウェア工学ワークフローの複雑さをどの程度反映していないか?
- RQ3選別された、手動で検証されたプロジェクトスケールのコードタスクデータセットは、モデル評価の信頼性と再現可能性を向上させることができるか?
- RQ4代表的なLLMは、現実的でプロジェクトスケールのベンチマーク上で、長文コードタスクをどの程度の精度で処理できるか?
- RQ5長文コードモデル向けに、高品質かつスケーラブルなベンチマークを構築・維持する上で直面する主な課題は何か?
主な発見
- Long Code Arenaベンチマークには、CIビルドの修復やモジュール要約といった、大多数の既存ベンチマークに欠けているプロジェクト全体のコンテキストを要する6つの異なるタスクが含まれる。
- データセットには、許可が明示されたライセンスのもとで選別された4,343の高品質なオープンソースリポジトリから抽出された、100~1,000件の手動検証済み例が、各タスクごとに含まれる。
- CodeBERTを基盤とする深層学習分類器をファインチューニングし、大文字の使用や動詞の使用といった基準に基づき、コミットメッセージの品質を向上させた。
- ベンチマークはHuggingFace Spacesにホスティングされており、パブリックリーダーボードが用意されており、すべてのデータセットがHuggingFace Hubでコミュニティ利用可能である。
- GitHubにベースライン実装が提供されており、各タスクにおける代表的なLLMの使用法を示しており、今後の研究の基準点として機能する。
- データセット構築プロセスでは、時系列的一致性を確保し、訓練用とテスト用のデータセットを完全に分離することで、データ漏洩を回避した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。