[論文レビュー] Are Large Language Models Memorizing Bug Benchmarks?
この論文は、大規模言語モデル(LLMs)がDefects4Jのような広く使われているソフトウェアバグベンチマークを記憶しているかどうかを、負の対数尤度(NLL)や5-gram正解率といった指標を用いて調査している。古いモデルであるcodegen-multiは、特にDefects4Jにおいて強い記憶信号を示す一方、最新のモデル(例:LLaMa 3.1)は著しく低い漏洩を示しており、性能評価の際に誇張された主張を避けるためにベンチマーク選定と強固な評価手法の必要性が浮き彫りになった。
Large Language Models (LLMs) have become integral to various software engineering tasks, including code generation, bug detection, and repair. To evaluate model performance in these domains, numerous bug benchmarks containing real-world bugs from software projects have been developed. However, a growing concern within the software engineering community is that these benchmarks may not reliably reflect true LLM performance due to the risk of data leakage. Despite this concern, limited research has been conducted to quantify the impact of potential leakage. In this paper, we systematically evaluate popular LLMs to assess their susceptibility to data leakage from widely used bug benchmarks. To identify potential leakage, we use multiple metrics, including a study of benchmark membership within commonly used training datasets, as well as analyses of negative log-likelihood and n-gram accuracy. Our findings show that certain models, in particular codegen-multi, exhibit significant evidence of memorization in widely used benchmarks like Defects4J, while newer models trained on larger datasets like LLaMa 3.1 exhibit limited signs of leakage. These results highlight the need for careful benchmark selection and the adoption of robust metrics to adequately assess models capabilities.
研究の動機と目的
- 大規模言語モデル(LLMs)が、トレーニングデータからのデータ漏洩によって、広く使われているバグベンチマーク(例:Defects4J や BugsInPy)を記憶しているかどうかを評価すること。
- 負の対数尤度(NLL)や5-gram正解率といった客観的指標を用いて、LLMsにおける記憶の程度を定量化すること。
- 古いモデル(例:codegen-multi)と新しいモデル(例:LLaMa 3.1)を含む、さまざまなモデルにおける漏洩リスクを比較すること。
- 既存のベンチマークの信頼性を評価するために、既知のベンチマークと2024年型の新規に抽出されたGitHubリポジトリ(おそらく未観測)との間で性能を比較すること。
- バグベンチマークに記憶の可能性があることによるリスクをソフトウェア工学コミュニティに啓発し、モデルの性能指標が誇張される可能性を示唆すること。
提案手法
- 研究では、バグベンチマークと新規リポジトリからのコードスニペットに対するモデルのなじみ具合を測るために、負の対数尤度(NLL)を用いる。
- 5-gram正解率を適用して、モデルがベンチマークの解決策から正確なシーケンスを再現できるかを評価する。
- TheStack(広く使われている事前学習コードデータセット)におけるベンチマークのメンバーシップを分析し、潜在的なデータ漏洩の原因を特定する。
- 既存のベンチマーク(例:Defects4J、BugsInPy)におけるモデルのパフォーマンスと、高品質で2024年型のGitHubリポジトリから新たに収集したデータセットにおけるパフォーマンスを比較し、記憶と一般化の違いを明確にする。
- コード生成およびバグ修復タスクの両方において、codegen-multi、CodeLLaMa、LLaMa 3.1、Gemma 2 など複数のLLMを分析する。
- 絶対値に依存せず、モデルとデータセットごとのNLLおよび5-gram正解率のトレンド分析を用いることで、類似したトレーニング/テスト分割に起因するノイズを軽減する。
実験結果
リサーチクエスチョン
- RQ1Defects4Jのような広く使われているベンチマークの解決策を、特にcodegen-multiのような人気のあるLLMsがどの程度記憶しているのか。
- RQ2より大きなデータセットで学習された最新のモデル(例:LLaMa 3.1)は、既存のベンチマークにおいて記憶リスクがどのように変化するのか。
- RQ3GitBug-Java や BugsCpp といった新しいが未だ確立されていないベンチマークは、Defects4J よりも低い漏洩信号を示すのか。
- RQ4負の対数尤度(NLL)や5-gram正解率といった指標は、ベンチマークコードと新規のコードリポジトリに対して適用された場合、LLMsにおけるデータ漏洩をどの程度検出できるのか。
- RQ5モデルのサイズやトレーニングデータのスケールは、ベンチマーク解決策の記憶の可能性にどのような影響を与えるのか。
主な発見
- 6Bパラメータのモデルである codegen-multi は、Defects4J バグ #39 を完全に同じコメントや改行を含めて正確に再現しており、顕著な記憶の兆候を示している。
- すべてのモデルと指標において、Defects4J が最も高い記憶の可能性を示しており、データ漏洩に対して最も脆弱であることが判明した。
- 古いモデル(例:codegen-multi)は、Defects4J において非常に高い5-gram正解率と低いNLLを示しており、顕著な記憶信号が確認された。
- より新しいモデル(例:LLaMa 3.1)は、より大きなデータセットと多様なデータセットで学習されているため、すべてのベンチマークで著しく低い記憶の兆候を示している。
- 新しいベンチマーク(例:GitBug-Java、BugsInPy、BugsCpp)は、2024年型の新規に抽出されたGitHubリポジトリと同等のNLLおよび5-gram正解率を示しており、漏洩リスクが低いことが示唆された。
- 本研究は、特にDefects4Jのような古く広く使われているデータセットが、直接的または間接的にトレーニングデータに含まれていた可能性があるため、ベンチマーク評価におけるデータ漏洩が実在の懸念であると確認した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。