生成AIソフトウェア開発ベンチマーク SWE-benchの課題
ソフトウェア開発ベンチマークのSWE-benchにいろいろ課題が指摘されているというお話をします。
SWE-benchの課題
OpenAIが提案したプログラミング課題のHumanEvalが90%以上解けるようになったので、新しいベンチマークとして2023年10月にプリンストン大学のチームが提案したのがSWE-benchです。この原稿を書いている段階ではHumanEvalのSOTAは99.3%(o1-mini)になっています ([paperswithcode])。
SWE-benchは現実世界のバグを生成AIが修正できるかどうかを測ろうとするものです。
問題になっているのは2点です:
問題として不完全
チートできるか、正解が不完全
問題として不完全
SWE-benchはGitHubのプルリクエストを自動収集し、ベンチマークとして解けたか解けないかを自動判定できそうなものを集めたものです。19000個の中から2294個を抽出しています。抽出は自動なので、個別のプルリクエストの質についてはばらつきがあります。
OpenAIは一部の問題が非常に解けないか解くことが不可能であり、生成AIの能力を過小評価するものだとして、人間が解けることを確認した SWE-bench verifiedを提案しています ([openai])。これはすでにswe-benchのサイトでも採用されています ([swe-bench])。
チートできるか正解が不完全
ヨーク大学のチームはSWE-benchを検証し、以下の報告をあげています[Alleithan]:
32.67%はバグレポートかコメントの中に正解があってチートできる
31.08%はテストが弱く正解が正しく問題を解決しているか疑問がある
これもソフトウェア開発エージェントの生成AIによる性能を見るのには問題があります。ヨーク大学のチームは問題に対応してSWE-bench+を提案しています。
むすび
論理推論のMMLUもいろいろ事実に基づかない部分があるなどと批判されています。
チャットボットリーダーボードもo1-previewとo1-miniが同じスコアになることで議論を呼んでいます。生成AIの性能ではなく、単に人の文体の好みを評価しているだけではないかということです。
議論を重ねてベンチマークは進化していくと思います。
研究はだいたい次の4段階で推移します:
散発的な発見
計測方法の提案
計測による定理や法則の発見
定理や法則をまとめた教科書の出版
ベンチマークの信頼性の問題が議論されてきているのは、生成AIも第1段階から第2段階に移ってきたことを感じます。
参考文献
[Aleithan] SWE-Bench+: Enhanced Coding Benchmark for LLMs
Reem Aleithan, et al. https://arxiv.org/abs/2410.06992 2024年[Jimenez] SWE-bench: Can Language Models Resolve Real-World GitHub Issues? by Carlos E. Jimenez et al.
[openAI] Introducing SWE-bench Verified https://openai.com/index/introducing-swe-bench-verified/ 2024年
[paperswithcode]
[swe-bench] https://www.swebench.com/