한 줄 요약
LiveCodeBench는 코드 생성 외에도 디버깅, 실행, 테스트 예측을 포함한 코드 관련 능력을 종합적으로 평가하는, 오염 없는 대규모 언어 모델 평가 벤치마크이다.
핵심 기여도
- LiveCodeBench는 LeetCode, AtCoder, CodeForces의 2023년 5월~2024년 2월 기간 동안 출제된 400개의 고질적 문제를 포함하며, Live 방식으로 업데이트되어 오염 방지.
- 코드 생성 외에도 Self-Repair, Code Execution, Test Output Prediction 3가지 추가 시나리오를 평가하여 종합적 평가 가능.
- 9개의 베이스 모델과 20개의 instruction-tuned 모델을 평가하여 DeepSeek 모델의 오염 가능성을 실증적으로 밝힘.
- 평가 프롬프트와 모델 완성도를 공개하고, 새로운 시나리오 및 모델 추가를 위한 툴킷 제공.
핵심 아이디어
기존 코드 평가 벤치마크(HumanEval, MBPP)는 오염 위험과 단일한 코드 생성 평가에 제한되어 있다. LiveCodeBench는 이 문제를 해결하기 위해 **Live 방식의 문제 업데이트**를 도입하여 모델이 훈련 데이터에 포함되지 않은 문제를 평가하도록 설계했다. 또한, 코드 생성 외에도 **Self-Repair**, **Code Execution**, **Test Output Prediction**이라는 3가지 추가 시나리오를 통해 LLM의 종합적인 코드 능력을 평가한다. 특히, Self-Repair 시나리오에서는 테스트 실패 정보를 바탕으로 코드를 수정하는 능력을 평가하며, Code Execution 시나리오에서는 주어진 입력에 대해 코드 실행 결과를 예측하는 능력을 평가한다. 이러한 다각적 평가 구조는 기존 벤치마크가 간과한 코드 능력을 포괄적으로 측정할 수 있도록 한다.
기술적 접근법
- **LiveCodeBench**는 LeetCode, AtCoder, CodeForces의 2023년 5월~2024년 2월 기간 동안 출제된 400개 문제를 포함하며, 각 문제는 **release date** 태그를 통해 모델 훈련 기간 이후의 문제만 평가에 사용.
- **Pass@1** 메트릭을 사용하여 10개의 샘플 중 정답률을 측정. 샘플 생성 시 **nucleus sampling** (temperature=0.2, top_p=0.95)을 적용.
- 평가 대상 모델은 29개로, GPT-3.5-turbo, GPT-4, Claude-Ins-1, DeepSeek, CodeLLaMa 등이 포함.
- **Self-Repair** 시나리오에서는 테스트 실패 정보를 바탕으로 코드 수정 능력을 평가.
- **Code Execution** 시나리오에서는 입력에 대한 실행 결과를 예측하는 능력을 평가.
- **Test Output Prediction** 시나리오에서는 자연어 문제와 입력을 주어 테스트 출력을 예측하는 능력을 평가.
주요 결과
- **DeepSeek** 모델은 2023년 8월 이후 LeetCode 문제에서 성능이 급격히 하락하며, 이전 문제에 오염되었을 가능성이 제기됨.
- **Claude-3-Opus**는 Test Output Prediction 시나리오에서 GPT-4를 상회하는 성능을 보임.
- 평균적으로 각 문제에 59개 이상의 테스트 케이스가 제공되어 평가의 신뢰도를 높임.
- 기존 HumanEval+ 버전에서는 테스트 부족으로 인해 최대 8%의 성능 하락이 발생한 바 있음.
- LiveCodeBench는 문제 난이도를 경쟁 플랫폼의 기존 평가 기준을 반영하여 균형 있게 구성함.
의의 및 한계
LiveCodeBench는 코드 평가 벤치마크의 오염 문제를 해결하고, 코드 생성 외에도 디버깅, 실행, 테스트 예측 등 다양한 능력을 평가함으로써 LLM의 종합적인 코드 이해 능력을 측정할 수 있는 새로운 기준을 제시한다. 또한, 문제를 Live 방식으로 업데이트함으로써 벤치마크의 지속 가능성과 신뢰도를 높였다. 그러나, 현재까지 평가된 모델 수(29개)는 제한적이며, 향후 더 많은 모델과 시나리오가 추가되어야 보다 포괄적인 평가가 가능할 것이다. 또한, 일부 시나리오(예: Code Execution)는 실행 환경에 따라 결과가 달라질 수 있어, 표준화된 실행 환경이 필요하다는 한계가 있다.
실용적 활용
LiveCodeBench는 코드 관련 LLM의 개발 및 평가에 있어 학술적 연구뿐 아니라, 산업 현장에서 모델의 실질적인 코드 이해 및 생성 능력을 검증하는 데 유용하게 활용될 수 있다. 특히, 모델 오염 방지와 다면적 평가를 요구하는 소프트웨어 개발, 자동화 테스트, 코드 리뷰 등 분야에서 실용적 가치가 높다.