核心概念
言語モデルは、複雑なソフトウェア開発タスクを解決するのに十分な能力を持っていない。SWE-benchは、実世界のGitHubイシューを解決するための新しい評価フレームワークであり、言語モデルの実用性、知性、自律性を向上させるための重要なステップとなる。
摘要
本論文では、SWE-benchと呼ばれる新しい評価フレームワークを紹介する。SWE-benchは、人気のあるPythonリポジトリから収集した2,294個の実際のGitHubイシューと、それらを解決するためのマージされたプルリクエストから構成される。
モデルには、コードベースと問題の説明が与えられ、コードベースを編集してその問題を解決するパッチを生成することが求められる。評価は、生成されたパッチをコードベースに適用し、関連するテストに合格するかどうかで行われる。
SWE-benchには以下のような特徴がある:
- 実世界のソフトウェア開発タスクを反映しており、単純な問題ではなく複雑な問題に取り組む必要がある
- 継続的に新しいタスクインスタンスを追加できる
- 長い入力テキストや、複数のファイルにまたがる編集など、従来のコード生成ベンチマークを超えた課題に取り組む必要がある
- テストフレームワークを使った堅牢な評価が可能
実験の結果、最先端の言語モデルでも、SWE-benchの問題の1.96%しか解決できないことが分かった。SWE-Llamaと呼ばれる細かいチューニングモデルも、わずかな問題しか解決できなかった。これらの結果は、言語モデルがまだ実用的な自律的なソフトウェア開発アシスタントとなるには程遠いことを示している。
統計資料
平均的な入力コードベースは438,000行で、3,010ファイルから構成される
平均的な参照パッチは32.8行の変更を行い、1.7ファイルと3.0関数を編集する
平均的に9.1個のテストが失敗から合格に変わる
引述
"言語モデルは、実用的、知的、自律的なものへと発展するための重要なステップを表している。"
"SWE-benchは、より現実的で、知的で、自律的なLMの開発に向けた重要な前進を表している。"