LiveCodeBench
LiveCodeBench는 AI 코딩 모델을 평가하는 날짜가 표시된 벤치마크로, 코드 생성, 수정, 실행 추론 및 새로운 문제에 대한 성능을 테스트합니다.
LiveCodeBench는 AI 언어 모델이 프로그래밍 문제를 얼마나 잘 해결하는지 평가하기 위해 지속적으로 업데이트되는 벤치마크입니다. 모델이 작동하는 코드를 작성하고, 오류를 수정하며, 프로그램 동작을 추론할 수 있는지 테스트합니다. LiveCodeBench의 차별점은 시간 요소입니다. 문제에 공개 날짜가 표시되어 있어 평가자는 모델의 학습 종료 시점, 즉 학습 자료에 포함된 최신 날짜 이후에 공개된 문제로 모델을 테스트할 수 있습니다. 이를 통해 실제 문제 해결 능력과 이전에 접한 해법을 기억하는 능력을 구분할 수 있습니다.
기원 및 벤치마크 설계#
2024년 논문 코드용 대규모 언어 모델의 종합적이고 오염 없는 평가: LiveCodeBench에서 소개된 LiveCodeBench는 Naman Jain이 이끄는 UC Berkeley, MIT, Cornell University 연구진이 만들었습니다. LiveCodeBench는 LeetCode, AtCoder, Codeforces의 경쟁 프로그래밍 문제를 수집합니다. 초기 주요 기준선 모델에는 GPT-4 Turbo와 Claude 3 Opus가 포함되었으며, 두 모델은 평가 작업 전반에서 강력한 성능을 보였습니다. DeepSeek-Instruct-33B와 Phind-34B는 최초 비교에서 선두를 차지한 오픈 액세스 기준선 모델이었습니다. 이 모델들은 영구적인 리더보드 선두가 아니라 과거의 참고 지표입니다.
초기 버전인 release_v1에는 2023년 5월부터 2024년 3월까지 공개된 400개 문제가 포함되었습니다. 이후 Hugging Face에서 공개된 릴리스를 통해 컬렉션이 확장되었으므로 LiveCodeBench의 고정된 단일 규모는 없습니다. 재현 가능한 결과를 위해서는 릴리스 버전과 평가 기간을 명시해야 합니다.
다른 벤치마크 데이터셋과 마찬가지로 LiveCodeBench는 모델 비교를 위한 공통 작업과 채점 절차를 제공합니다. 또한 날짜가 표시된 평가 설계를 통해 평가자가 새로 공개된 문제의 공통 기간을 선택할 수 있습니다.
LiveCodeBench가 측정하는 항목#
LiveCodeBench는 소스 코드를 포함한 텍스트를 생성하고 해석하는 시스템인 대규모 언어 모델의 서로 연관된 네 가지 역량을 평가합니다.
- 코드 생성: 문제 설명과 입력 및 출력 예시를 바탕으로 프로그램을 생성합니다. 평가자는 추가 테스트를 사용해 솔루션을 실행합니다.
- 자체 수정: 예외 또는 테스트 실패와 같은 실행 피드백을 받은 후 잘못된 솔루션을 수정합니다.
- 코드 실행: 지정된 입력에 대해 제공된 프로그램의 출력을 예측합니다. 여기서 “실행”은 모델의 추론 작업을 의미하며, 평가자는 실제 실행 결과와 모델의 예측을 비교합니다.
- 테스트 출력 예측: 구현을 제공받지 않고 문제 명세와 입력을 바탕으로 예상 출력을 추론합니다.
마지막 두 작업의 차이는 중요합니다. 코드 실행은 기존 프로그램이 무엇을 하는지 묻고, 테스트 출력 예측은 올바른 구현이 무엇을 해야 하는지 묻습니다. 자체 수정은 AI 시스템이 코드를 계획하고, 작성하고, 실행하고, 수정하는 에이전트형 코딩에도 사용되는 피드백 및 수정 동작을 평가합니다.
코드 생성에서 기능적 정확성이란 필수 테스트를 모두 통과하는 것을 의미합니다. 프로그램이 성공적으로 실행되더라도 잘못된 답을 출력할 수 있으며, 실행 오류가 발생하면 답을 전혀 출력하지 못할 수 있습니다. 두 경우 모두 벤치마크 성능에 영향을 미칩니다.
점수 해석 및 오염 이해하기#
Pass@1은 생성된 솔루션 하나가 모든 필수 테스트를 통과할 가능성을 문제 전체에 걸쳐 평균한 값입니다. 보고된 값이 60%라면 지정된 평가 절차에서 문제 열 개 중 약 여섯 개를 해결했다는 뜻입니다. 각 프로그램이 테스트의 60%를 통과한다는 의미는 아닙니다.
공정한 비교를 위해서는 데이터셋 릴리스, 날짜 범위, 작업 및 생성 설정을 일치시켜야 합니다. 프롬프트 엔지니어링, 샘플링 설정, 출력 제한 및 수정 기회에 따라 결과가 달라질 수 있습니다. 쉬움, 보통, 어려움으로 나눈 결과를 살펴보면 전체 평균에 가려진 차이도 확인할 수 있습니다.
벤치마크 오염은 평가 문제가 모델의 학습 데이터에 포함되거나 해당 문제의 해답이 학습 데이터에 나타나는 경우를 의미합니다. 이러한 형태의 데이터 누수는 모델이 이미 해당 자료를 접했기 때문에 점수를 부풀릴 수 있습니다. 모델의 학습 종료 시점 이후 공개된 문제를 선택하면 이러한 위험을 줄일 수 있지만, 학습 종료 시점의 신뢰성과 이후 모델 업데이트도 여전히 중요합니다.
따라서 특정 모델이 “LiveCodeBench를 선도한다”는 주장을 하려면 날짜가 명시된 리더보드 스냅샷과 일치하는 평가 설정이 필요합니다. 이러한 맥락이 없는 순위는 해석하기 어렵습니다.
활용 사례 및 관련 벤치마크#
LiveCodeBench는 코딩 모델을 비교하고, 솔루션 생성, 코드 이해 또는 실패 수정 중 어느 부분에 약점이 있는지 진단하는 데 활용됩니다. 대회 기반 작업은 알고리즘 프로그래밍 역량에 대한 근거를 제공하지만, 더 폭넓은 소프트웨어 개발 평가에는 저장소 탐색, 종속성 관리 및 통합 동작에 대한 테스트도 필요합니다.
LiveBench는 추론, 수학, 언어 및 코딩과 같은 영역을 다루는 별도의 더 광범위한 벤치마크입니다. 이름이 비슷하다고 해서 두 벤치마크의 점수를 서로 바꿔 사용할 수 있는 것은 아닙니다.
Ultralytics YOLO를 활용해 개발하는 개발자에게 LiveCodeBench는 코딩 어시스턴트를 평가할 때 참고할 수 있는 하나의 지표입니다. 이를 보완하는 구체적인 워크플로로는 Ultralytics Agent Skills를 활용하는 방법이 있습니다. Ultralytics Agent Skills는 호환되는 코딩 에이전트에 데이터셋 준비, 학습, 추론 및 내보내기 지침을 제공합니다.
해당 어시스턴트를 사용해 YOLO26 애플리케이션을 구축할 때는 어시스턴트가 생성한 코드를 비전 모델과 별도로 평가해야 합니다. 검증 모드는 예측 품질을 측정하고, 벤치마크 모드는 배포 형식별 정확도와 추론 속도를 비교합니다.










