목록으로
Feed2025.06.01

BigCodeBench Leaderboard

요약

BigCodeBench는 LLM의 코딩 능력을 평가하는 Leaderboard이며, 실용적이고 어려운 프로그래밍 Task를 통해 모델을 벤치마킹합니다.
평가는 Pass@1을 기준으로 Hard Set과 Full Set에서 이루어지며, "Complete" (코드 완성)와 "Instruct" (자연어 지시 기반 코드 생성) 두 가지 변형으로 모델의 코딩 및 의도 이해 능력을 평가합니다.
ℹ️ 이 Leaderboard는 모델의 개방성(open weights/data), 평가 설정(chat setting 등), 그리고 모델 크기 등 상세 정보를 제공하며, 다양한 LLM 코딩 벤치마크들과 함께 참고하도록 권장합니다.

상세 내용

본 문서는 BigCodeBench 리더보드에 대한 설명으로, LLM(Large Language Model)의 프로그래밍 능력을 평가하는 실용적이고 도전적인 벤치마크인 BigCodeBench에 대해 상세히 기술하고 있습니다.

평가 방법론 및 세부 사항:

BigCodeBench는 LLM이 실제 프로그래밍 작업을 얼마나 잘 수행하는지 측정하는 데 중점을 둡니다. 평가는 크게 두 가지 데이터셋으로 진행됩니다.
* Hard Set: 약 150개의 BigCodeBench 작업으로 구성된 서브셋으로, 사용자에게 더 직접적이고 도전적인 시나리오를 제시합니다.
* Full Set: 1140개의 전체 BigCodeBench 작업으로 이루어진 포괄적인 셋입니다.

모델들은 greedy decoding을 사용하여 생성된 코드의 Pass@1 점수에 따라 순위가 매겨집니다. Pass@1은 첫 번째 시도에서 생성된 코드가 모든 테스트 케이스를 통과하는 문제의 비율을 나타내는 측정항목입니다. 여기서 calibrated는 점수 보정 과정을 거쳤음을 의미할 수 있습니다. greedy decoding은 각 단계에서 가장 확률이 높은 토큰을 선택하여 하나의 최종 결과물을 생성하는 방식입니다.

평가 시나리오는 두 가지 주요 변형으로 나뉩니다:
* Complete: 구조화된 장문의 Docstring을 기반으로 코드 완성(Code Completion)을 수행하는 방식입니다. 이는 모델의 실제 코딩 능력을 직접적으로 테스트합니다.
* Instruct (🔥Vibe Check🔥): 간략한 자연어(NL-oriented) 지침을 기반으로 코드 생성(Code Generation)을 수행하는 방식입니다. 이 시나리오는 모델이 인간의 의도를 얼마나 잘 이해하고 코드로 구현할 수 있는지를 평가합니다.

추가적인 평가 설정 및 고려 사항:

* 🧠 표기: 생성 과정에서 응답 사전 채우기(response prefilling) 없이 평가되었음을 나타내며, 이는 모델의 추론(reasoning) 과정을 더 명확히 드러낼 수 있습니다.
* 표기: 해당 모델이 채팅 설정(chat setting)에서 평가되었음을 의미하며, 다른 모델들은 직접적인 코드 완성(direct code completion)을 수행합니다. 일부 Instruction-tuned 모델은 토크나이저(tokenizer) 설정에 채팅 템플릿이 누락될 수 있다는 점이 지적됩니다.
* 데이터 오염(Data Contamination): 모델 제공자는 데이터 오염을 방지할 책임이 있으며, 유사한 데이터로 학습된 모델은 오염의 영향을 받을 수 있습니다.
* 오픈 소스 여부:
* 💚: 가중치(weights)와 데이터(data) 모두 공개된 모델입니다.
* 💙: 가중치와 SFT(Supervised Fine-Tuning) 데이터는 공개되었지만, 베이스 모델의 데이터는 공개되지 않은 경우입니다.
* 💚💙: 데이터가 공개되어 오염 가능성에 대해 구체적으로 추론할 수 있는 모델을 의미합니다.
* Size: 추론(inference) 시 사용되는 모델 매개변수(parameters)의 수를 나타냅니다.

BigCodeBench 외에도 LLM의 코딩 능력을 종합적으로 이해하기 위해 SWE Arena, EvalPlus Leaderboard, Spider 2.0, Chatbot Arena Leaderboard, CrossCodeEval, ClassEval, CRUXEval, Code Lingua, Evo-Eval, HumanEval.jl, HumanEval with EvalPlus test cases, InfiCoder-Eval, LiveCodeBench, NaturalCodeBench, RepoBench, SWE-bench, TabbyML Leaderboard OOP 등 다양한 벤치마크 및 리더보드를 함께 살펴보는 것이 권장됩니다. 본 설명서의 작성에 EvalPlus 팀과 BigCode 커뮤니티의 기여에 감사를 표합니다.

원본 보기
Web
Shared by Anonymous