AI가 아직 코딩 그랜드마스터가 아닌 이유 (그리고 AI를 효율적으로 처리하는 방법)
Published on
September 1, 2025
Read time:
6 mins
AI가 아직 코딩 그랜드마스터가 아닌 이유 (그리고 AI를 효율적으로 처리하는 방법)

대규모 언어 모델 (LLM) 의 최근 발전으로 추론 기능이 크게 향상되었습니다. OpenAI의 'o' 시리즈 및 DeepSeek-R1과 같은 모델은 사고 체인 (CoT) 을 통합하여 단계별 논리적 사고와 효과적인 테스트 시간 확장을 촉진하고 다양한 작업에서 유망한 성능을 보여줍니다.이 중에서도 코딩은 절대적인 구문 정밀도와 장거리 종속성 추적이 필요하기 때문에 매우 어려운 영역으로 알려져 있습니다.다양한 코딩 작업에서 경쟁 프로그래밍 (CP) 은 특히 지적 요구 사항이 높은 분야로 두드러집니다.일반적인 소프트웨어 엔지니어링 작업과 비교할 때 CP 문제는 직접적인 해결책을 제시하는 경우가 거의 없으며, 대신 날카로운 분석적 사고를 통해 도출된 전문적이고 종종 비표준적인 알고리즘이 필요합니다.

격차 측정: 라이브코드벤치 프로 소개

우리의 최신 연구는 최첨단 모델조차 뛰어난 인간 프로그래머와의 사이에 여전히 상당한 추론 격차가 존재한다는 것을 보여줍니다. 이 격차를 정확히 측정하기 위해 우리는 LiveCodeBench Pro를 도입했습니다. 이는 경쟁 프로그래밍 과제를 통해 LLM을 엄격하게 평가하도록 설계된 지속적으로 업데이트되는 벤치마크입니다.

뉴욕 대학교, 프린스턴 대학교, 캘리포니아 대학교 샌디에이고 등의 연구원들과 공동으로 개발한 LiveCodeBench Pro는 데이터 오염과 같은 기존 평가의 한계를 극복합니다.LiveCodeBench Pro는 코드포스, ICPC, IOI와 같은 최상위 콘테스트에서 실시간으로 고품질 문제를 제공합니다.또한 각 문제와 제출된 모든 실패한 모델을 분석하는 올림피아드 메달리스트 팀의 상세한 주석도 포함되어 있습니다.

그림 1.쉬운, 중간, 어려운 CP 문제 전반의 성능 모델링

LiveCodeBench Pro는 대부분의 벤치마크가 종료되는 지점에서 시작됩니다. 즉, 코드포스, ICPC 또는 IOI 라운드가 종료되는 즉시 시작됩니다.크롤러는 에디토리얼이 나타나거나 솔루션이 GitHub에 전파되기 전에 즉시 모든 문장, 입력-생성기 및 판단을 캡처한 다음 원래의 시간 및 메모리 제한을 고정시켜 평가에 라이브 콘테스트 샌드박스를 반영합니다.각 과제는 Codeforces의 “해킹” 단계와 커버리지가 정체될 때까지 엣지 케이스를 변경하는 사내 퍼즈 테스터 (fuzz-tester) 를 거쳐야 합니다. 따라서 숨겨진 테스트도 적어도 인간 결선 진출자들이 직면하는 것만큼이나 적대적입니다.마지막으로, 모든 제출물은 결정론적 컴파일러 및 월클럭 타이머와 함께 통일된 Docker 이미지 내에서 실행되므로 언어나 하드웨어에 따른 런타임 편차가 발생하지 않는 결과를 얻을 수 있습니다.

모든 것을 하나의 패스 @k 지표로 묶는 대신, 모든 문제에 인간 상위 참가자들의 과거 해결률 (≤2000 Easy, 2000-3000 Medium, > 3000 Hard) 의 과거 해결률에서 파생된 ELO 스타일의 난이도를 할당합니다.이러한 평점은 더 많은 사람과 모델이 과제를 시도할수록 업데이트되기 때문에 순위표가 발전하더라도 코퍼스의 균형을 유지할 수 있습니다.이 3계층 구조는 신호 혼잡으로 인한 쉬운 문제를 방지하고 Codeforces가 사용자 순위를 매기는 것과 같은 방식으로 모델 점수를 보고할 수 있게 해주기 때문에 인간과 LLM을 직관적이고 공정하게 비교할 수 있습니다.

올림피아드 메달리스트들은 3개의 헤드라인 버킷으로 분류된 20개의 레이블로 구성된 온톨로지를 사용하여 각 문제를 검토하고 주요 인지적 부담을 태그합니다.

  • 지식이 많음: 표준 기법 또는 데이터 구조 템플릿 (예: Fenwick 트리, FFT) 을 기억하면 잠금이 해제됩니다.
  • 로직 헤비: 코드를 작성하기 전에 단계별 추론, 증명 또는 DP 상태 설계를 요구합니다.
  • 관찰력이 많음: 짧고 창의적인 “아하!” 에 달려 있습니다.그러면 검색 공간이 줄어듭니다. 인사이트를 얻으면 코드 작성이 간단해집니다.

이러한 태그는 공개 테스트 로그와 함께 제공되므로 연구자는 결과를 버킷별로 구분하여 예를 들어 지식이 많은 쉬운 작업에서는 모델의 정확도가 70%, 관찰이 많은 중간 작업에서는 8% 에 불과하다는 것을 확인할 수 있습니다.

실패한 모든 실행은 컴파일러 출력, 런타임 트레이스, 판정 레이블 (구문 오류, 오답, TLE 또는 메모리 오류) 과 함께 저장되며, 크래시보다 더 미묘한 경우의 개념적 실수를 설명하는 사람이 작성한 짧은 메모도 함께 저장됩니다.작업, 태그 및 추적이 모두 버전에 따라 제어되기 때문에 누구나 실험을 복제하고, 절제를 추가하거나, 실측 정보가 왜곡될 염려 없이 모델을 재교육할 수 있습니다.그 결과, 단순히 모델의 순위를 매기는 데 그치지 않고 모델이 왜 실패했는지, 그리고 다음에 어떤 추론이 필요한지를 정확히 알려주는 벤치마크가 됩니다.

라이브코드벤치 프로를 사용한 분석을 통해 다음과 같은 몇 가지 주요 인사이트를 확인할 수 있었습니다.

  • 성능은 문제 유형에 따라 다릅니다. 모델은 알려진 템플릿이나 구조화된 사고를 적용해야 하는 “지식이 많은” 문제와 “논리가 많은” 문제에서 잘 작동합니다.그러나 게임 이론이나 탐욕스러운 알고리즘과 같이 새로운 통찰력을 필요로 하는 “관찰이 많은” 문제에서는 성능이 떨어집니다.
  • 모델은 인간과 다르게 실패합니다. o3-mini 모델의 제출 실패를 자세히 진단한 결과, 비슷한 등급의 인간 경쟁자에 비해 알고리즘 로직에서 개념적 오류가 훨씬 더 많이 발생하는 것으로 나타났습니다.이와 대조적으로, 이 모델의 구현은 사람에 비해 낮은 수준의 코딩 오류가 적다는 점에서 매우 적합합니다.
  • 성능은 외부 보조 장치의 영향을 많이 받습니다. 모델에 여러 번 시도 (pass @k) 를 허용하면 등급이 크게 향상되지만 가장 어려운 등급에서는 여전히 실패합니다.o4-mini와 같은 모델에서 가장 높은 점수를 받은 것도 주로 로컬 컴파일 및 테스트를 위한 터미널 액세스와 같은 도구 사용에 기인합니다.

이 연구를 통해 LLM은 강력하지만 경쟁 프로그래밍의 미묘한 추론을 극복하려면 단순히 확장하는 것 이상이 필요하다는 것이 확인되었습니다.이를 통해 코딩 성능이 어떻게 확장되는지 더 잘 이해할 수 있게 되었습니다.

Dobby-CP (경쟁 프로그래머) 를 통한 효율적인 코드 크래킹

이를 체계적으로 조사하기 위해 우리는 감독형 미세 조정 (SFT) 을 통해 이러한 복잡한 기술을 오픈 소스의 소규모 모델에 가장 잘 가르치는 방법을 탐구했습니다.우리는 여러 영역에서 영감을 얻었습니다.

  • 지식 증류. 기존 작업은 대규모 모델에서 생성된 사고 궤적을 활용하여 더 작은 모델을 가르칩니다.이러한 형태의 지식 증류를 통해 보다 효율적인 모델은 대규모 모델로부터 복잡한 추론 패턴과 문제 해결 전략을 학습할 수 있습니다.
  • 인간의 전문성. 인간 프로그래머는 일반적으로 전문가가 작성한 엄선된 교육 자료를 통해 배웁니다.이러한 전문 지식을 AI 모델이 추적할 수 있는 데이터로 변환하는 것은 LLM 코딩 능력을 향상시키는 또 다른 방법이며 모델 생성 데이터를 고품질로 보완하는 역할을 합니다.
  • 도메인 간 지식. 인간의 인지에서 얻은 통찰에 따르면 프로그래밍 능력은 종종 수학과 같은 다른 영역의 지식과 기술로 향상됩니다.

이러한 통찰력을 바탕으로 Dobby-CP 모델에 대한 우리의 작업은 경쟁 프로그래밍 작업에서 LLM 성능 향상을 좌우하는 효율성 법칙을 조사하는 것을 목표로 합니다.구체적으로, 다음 세 가지 핵심 요소가 교육 효율성에 어떤 영향을 미치는지 살펴보겠습니다.

  • 데이터 소스. 어떤 유형의 교육 데이터 (예: 사람이 주석을 추가한 솔루션, 고급 모델에서 추출한 데이터, 감독된 증류된 데이터) 가 가장 효율적인 학습을 제공합니까?
  • 데이터 도메인. 순수 CP에 초점을 맞춘 데이터를 사용하여 학습하는 것이 가장 효과적입니까, 아니면 더 넓은 영역의 데이터를 통합하면 효율성이 향상됩니까?
  • 데이터 수량.학습 데이터의 양이 증가함에 따라 모델 성능은 어떻게 확장되나요?

LiveCodeBench에서 경쟁력 있는 결과를 얻을 수 있는 소규모 데이터 세트 (14B의 경우 24k, 7B의 경우 40k 교육 예제) 를 기반으로 훈련된 효율적이면서도 강력한 경쟁 프로그래밍 어시스턴트 그룹인 Dobby-CP (7B 및 14B) 모델을 소개합니다.Dobby-CP의 Pass @1 모델은 R1-Distill-Qwen-7B/14B (800k 보고) 와 같이 훨씬 더 많은 데이터를 기반으로 학습한 모델에 필적하며 OpenAI-O1-mini와 같은 클로즈드 소스 모델의 성능에 접근합니다.주요 연구 결과는 리소스 효율적인 미세 조정을 위한 실용적인 가이드를 제공합니다.

  1. 적합한 선생님 찾기. 우리는 인간 편집의 감독하에 LLM에서 추출한 CoT 데이터가 사람이 작성하거나 순전히 증류한 데이터보다 더 나은 학습 신호를 제공한다는 것을 발견했습니다.
  2. 혼합형 커리큘럼은 교육에 도움이 됩니다. 경쟁적인 프로그래밍 작업과 일반적인 교차 영역 추론 문제를 결합한 혼합 커리큘럼은 순수한 영역별 교육보다 성능이 뛰어납니다.
  3. 효율적인 스케일링 법칙. 가장 중요한 것은 이러한 현상이 증가하고 있다는 것입니다. 문제 다양성 성능 향상의 가장 중요한 요소인 반면, 문제당 솔루션 샘플 수를 늘리면 수익이 감소합니다.그림 1은 데이터 볼륨의 미세 조정이 모델 성능과 어떻게 상관되는지를 보여줍니다. 이를 통해 Dobby를 가장 효율적인 분야로 포지셔닝하고 미세 조정 비용을 최소화하면서 최고 수준의 추론 정확도를 제공합니다.
그림 2.SFT 성능은 데이터세트 크기 증가보다 앞서갑니다

결론

라이브코드벤치 프로 오늘날 최고의 LLM과 노련한 경쟁 코더 간의 추론 격차를 무시할 수 없게 만들었지만 Dobby-CP는 적절한 교사와 올바른 커리큘럼을 연결하면 이러한 격차가 급격히 줄어들 수 있다는 것을 보여줍니다.프론티어 모델에서 얻은 일련의 사고의 흔적, 올림피아드 수준의 인간 통찰력, 다양한 영역 간 퍼즐을 결합하여 엄청난 데이터 볼륨보다 문제의 다양성을 중요시하는 효율성 법칙을 찾았습니다.그 결과 공개적으로 사용 가능한 간결한 7B/14B 제품군이 탄생했습니다. 이 제품군은 미세 조정 예산의 일부만 요구하면서 훨씬 더 크거나 폐쇄형 모델에서 사용하던 성능을 그대로 유지했습니다.진정한 “코딩 그랜드마스터” 지위를 얻기 위해서는 관찰이 많은 추론과 실시간 도구 사용에 있어 여전히 혁신이 필요합니다. 하지만 LiveCodeBench Pro는 계속해서 새로운 도전 과제를 제시하고, Dobby-CP가 데이터 효율성 달성을 위한 명확한 경로를 제시하고 있는 상황에서 이러한 격차를 좁힐 수 있는 전략은 그 어느 때보다 명확해졌습니다.