Skip to main content
QUICK REVIEW

[논문 리뷰] Are Large Language Models Memorizing Bug Benchmarks?

Daniel Ramos, Cláudia Mamede|arXiv (Cornell University)|2024. 11. 20.
Topic Modeling인용 수 4
한 줄 요약

이 논문은 대규모 언어 모델(Large Language Models, LLMs)이 Defects4J와 같은 널리 사용되는 소프트웨어 버그 벤치마크를 기억하는지 여부를 부정적 로그우도(Negative Log-Likelihood, NLL)와 5-그램 정확도 등의 지표를 사용해 조사한다. 결과적으로, 코드젠-멀티와 같은 이전 모델들은 특히 Defects4J에 대해 강한 기억 신호를 보이며, 반면 LLaMa 3.1와 같은 최신 모델들은 유의미하게 감소된 누출을 보여, 성능 평가 시 과도한 성능 주장을 방지하기 위해 벤치마크 선택과 견고한 평가 관행이 필요하다는 점을 시사한다.

ABSTRACT

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와 같은 널리 사용되는 소프트웨어 버그 벤치마크를 기억하고 있는지 평가하기.
  • 부정적 로그우도(Negative Log-Likelihood, NLL)와 5-그램 정확도와 같은 객관적 지표를 사용해 LLM 내 기억의 정도를 정량화하기.
  • 코드젠-멀티와 같은 이전 모델과 LLaMa 3.1와 같은 최신 모델을 포함한 다양한 모델 간의 누출 위험을 비교하기.
  • 기존의 알려진 벤치마크와 2024년 기준으로 새로 발견된, 아마도 미리 볼 수 없는 GitHub 리포지터리 간의 성능을 비교함으로써 기존 벤치마크의 신뢰성을 평가하기.
  • 기억된 데이터가 있을 수 있는 벤치마크를 사용할 경우 모델 성능 지표가 과도하게 높아질 수 있는 위험을 소프트웨어 공학 커뮤니티에 경고하기.

제안 방법

  • 연구는 버그 벤치마크의 코드 스니펫과 새로운 리포지터리의 코드에 대해 모델의 익숙함을 측정하기 위해 부정적 로그우도(Negative Log-Likelihood, NLL)를 사용한다.
  • 5-그램 정확도를 적용하여 모델이 벤치마크 솔루션의 정확한 시퀀스를 재생산할 수 있는 능력을 평가한다.
  • 데이터 누출의 잠재적 원인을 평가하기 위해 TheStack, 널리 사용되는 사전학습 코드 데이터셋에서의 벤치마크 소속성을 분석한다.
  • 기존의 벤치마크(예: Defects4J, BugsInPy)에서의 성능과 새로 수집한 고품질의 2024년 기준 GitHub 리포지터리 데이터셋에서의 성능을 비교함으로써 기억 현상과 일반화 능력 간의 차이를 분리한다.
  • 코드젠-멀티, 코드LL라마, LLaMa 3.1, 게마 2 등 다양한 LLM을 코드 생성 및 복구 작업 모두에서 분석한다.
  • 절대값에 의존하지 않고, 모델과 데이터셋 간의 NLL 및 5-그램 정확도의 추세 분석을 통해 유사한 훈련/테스트 분할에서 발생하는 노이즈를 완화한다.

실험 결과

연구 질문

  • RQ1Defects4J와 같은 널리 사용되는 버그 벤치마크의 솔루션을 기억하고 있는 주요 LLM, 특히 코드젠-멀티의 정도는 어느 정도인가?
  • RQ2더 큰 데이터셋과 더 다양한 데이터셋으로 훈련된 최신 모델인 LLaMa 3.1은 기존 벤치마크에서 기억 위험 측면에서 어떻게 다른가?
  • RQ3기존의 벤치마크인 Defects4J에 비해 덜 알려진 신규 벤치마크인 GitBug-Java와 BugsCpp는 더 낮은 누출 신호를 보이는가?
  • RQ4부정적 로그우도(Negative Log-Likelihood, NLL)와 5-그램 정확도와 같은 지표는 벤치마크 코드와 새로운 코드 리포지터리에 적용했을 때 LLM의 데이터 누출을 어떻게 탐지하는가?
  • RQ5모델 크기와 훈련 데이터 규모가 벤치마크 솔루션을 기억할 가능성에 어떤 영향을 미치는가?

주요 결과

  • 6B 파라미터를 가진 모델인 코드젠-멀티는 Defects4J 버그 #39를 정확히 그대로 복제하며, 주석과 줄 바꿈까지 포함한 전체 솔루션을 재생산한다.
  • 모든 모델과 지표에서 Defects4J는 잠재적 기억 현상 비율이 가장 높게 나타나, 데이터 누출에 가장 취약한 벤치마크임을 시사한다.
  • 코드젠-멀티와 같은 이전 모델들은 Defects4J에서 매우 높은 5-그램 정확도와 낮은 NLL를 보이며, 강력한 기억 신호를 나타낸다.
  • 더 큰 데이터셋과 더 다양한 데이터셋으로 훈련된 최신 모델인 LLaMa 3.1은 모든 벤치마크에서 기억 신호가 유의미하게 감소된 것을 보였다.
  • GitBug-Java, BugsInPy, BugsCpp와 같은 최신 벤치마크들은 새로 발견한 2024년 GitHub 리포지터리와 유사한 NLL 및 5-그램 정확도 수준을 보이며, 더 낮은 누출 위험을 시사한다.
  • 연구는 데이터 누출이 벤치마크 평가에 실질적인 문제임을 확인하였으며, 특히 직접적이거나 간접적으로 훈련 데이터에 포함되었을 수 있는 오래된 널리 사용되는 데이터셋인 Defects4J를 사용할 경우 특히 위험이 크다는 점을 밝혔다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.