한 줄 요약
Multi-LCB는 12개 프로그래밍 언어를 지원하는 코드 생성 평가 벤치마크로, LLM의 다언어 코드 생성 능력을 체계적으로 평가한다.
핵심 기여도
- LCB를 12개 언어로 확장하여 다언어 코드 생성 평가를 가능하게 함.
- 24개 LLM을 대상으로 Pass@1 평가를 수행, Python 과적합과 언어별 오염 현상을 밝힘.
- 모든 프롬프트와 실험 설정을 공개하여 재현 가능성을 확보.
- LCB의 Python 제한을 해결하고, 다언어 코드 생성 모델 개발 기반을 제공.
핵심 아이디어
LiveCodeBench(LCB)는 Python 기반의 코드 생성 평가 벤치마크로 널리 사용되지만, 실제 소프트웨어 개발에서 요구되는 다중 언어 처리 능력을 평가하지 못한다는 한계가 있었다. Multi-LCB는 LCB의 문제셋을 12개 언어로 변환하면서 오염 방지 프로토콜과 평가 방식을 유지함으로써, LLM이 Python 외 다른 언어에서의 코드 생성 능력을 체계적으로 평가할 수 있도록 했다. 이는 LLM이 실제 개발 환경에서 요구되는 다언어 적응 능력을 갖추었는지를 측정하는 데 핵심적인 통찰을 제공한다.
기술적 접근법
- **Multi-LCB**: LCB의 Python 문제를 C++, Java, JavaScript 등 12개 언어로 변환.
- **평가 프로토콜**: LCB와 동일한 오염 방지, 실시간 업데이트, STDIN/STDOUT 기반 실행.
- **모델**: 24개 LLM (예: GPT-OSS-120B, Qwen3-235B, DeepSeek-R1-0528)을 평가.
- **실험 환경**: NVIDIA H100 GPU, 각 언어별 샌드박스 실행 (GCC 13, OpenJDK 21 등).
- **추론**: Zero-shot, nucleus sampling (temperature=0.2, top-p=0.95) 사용.
- **평가 지표**: Pass@1 (10회 평균), 문제 해결률 기준.
주요 결과
- **Python 과적합**: Qwen3-235B-A22B-Thk-2507은 Python에서 우수하지만, 다른 언어에서 성능 저하 (예: Go, Rust, Scala에서 GPT-OSS-120B가 30% 이상 우위).
- **언어별 성능 차이**: Python 평균 Pass@1 48.2%, Java/C++ 44%, Scala 29% 미만.
- **오염 신호**: 일부 언어에서 훈련 데이터 누수 증거 발견.
- **상위 모델**: GPT-OSS-120B, Qwen3-235B, DeepSeek-R1-0528가 50% 이상 성능 보여, 하지만 100%에 미달.
의의 및 한계
Multi-LCB는 LCB의 Python 제한을 해결하고, LLM이 실제 개발 환경에서 요구되는 다언어 코드 생성 능력을 평가할 수 있는 체계적인 프레임워크를 제공한다. 특히, Python 과적합과 언어별 오염 문제를 명확히 드러내며, 향후 다언어 코드 생성 모델 개발에 중요한 기초 자료가 될 수 있다. 그러나 일부 언어(예: Scala)에서는 훈련 데이터 부족으로 인한 성능 저하가 지속되며, 훈련 데이터 다양성 확대가 필요하다는 한계가 있다.
실용적 활용
Multi-LCB는 AI 기반 프로그래밍 도구, 코드 자동화 시스템, 다국적 소프트웨어 개발 프로젝트 등에서 LLM의 다언어 코드 생성 능력을 평가하는 데 활용될 수 있다. 특히, 모델이 특정 언어에 과적합되지 않고, 다양한 언어에서 안정적으로 작동하는지 확인하는 데 유용하다.