Skip to main content
QUICK REVIEW

[논문 리뷰] TACO: Topics in Algorithmic COde generation dataset

Rongni Li, Jie Fu|arXiv (Cornell University)|2023. 12. 22.
Software Engineering Research인용 수 4
한 줄 요약

TACO는 알고리즘, 기술, 난이도 수준에 대한 세밀한 주석을 포함한 26,443개의 프로그래밍 문제를 포함한 대규모이고 오픈소스인 코드 생성 데이터셋으로, 복잡한 대회 수준의 과제에서 코드 생성 모델의 성능 향상과 평가를 목적으로 한다. 이 데이터셋은 특히 정렬이나 동적 프로그래밍과 같은 특정 알고리즘 주제에 특화된 테이닝을 통해 모델 성능 향상에 기여한다.

ABSTRACT

We introduce TACO, an open-source, large-scale code generation dataset, with a focus on the optics of algorithms, designed to provide a more challenging training dataset and evaluation benchmark in the field of code generation models. TACO includes competition-level programming questions that are more challenging, to enhance or evaluate problem understanding and reasoning abilities in real-world programming scenarios. There are 25433 and 1000 coding problems in training and test set, as well as up to 1.55 million diverse solution answers. Moreover, each TACO problem includes several fine-grained labels such as task topics, algorithms, programming skills, and difficulty levels, providing a more precise reference for the training and evaluation of code generation models. The dataset and evaluation scripts are available on Hugging Face Hub (https://huggingface.co/datasets/BAAI/TACO) and Github (https://github.com/FlagOpen/TACO).

연구 동기 및 목표

  • 기존 코드 생성 벤치마크의 한계를 해결하기 위해, 과제가 너무 쉬운 편이며, 테스트 세트의 품질이 떨어지고, 세밀한 주석이 부족하다는 점을 개선한다.
  • 실제 세계의 프로그래밍 추론과 문제 해결 능력을 평가하기 위해 더 도전적이고 품질이 높은 평가 벤치마크를 제공한다.
  • 세밀한 주석을 활용해 특정 알고리즘 주제에 특화된 훈련을 가능하게 하여 모델 성능을 향상시킨다.
  • 구조화된 알고리즘 메타데이터를 통해 코드 이해, 교육, 알고리즘 추천, LLM 향상 등의 다양한 응용 분야를 지원한다.

제안 방법

  • 공개 데이터셋과 오픈소스 리포지터리에서 26,443개의 프로그래밍 문제를 수집하여, 더 깔끔한 문법을 위해 파이썬 3 솔루션에 집중한다.
  • 원시 태그를 체계적으로 36개의 주요 알고리즘 주제(예: 동적 프로그래밍, 정렬)로 분류하고 프로그래밍 기술 주석을 추가한다.
  • 각 문제에 알고리즘 주제, 프로그래밍 기술, 난이도 수준, 시간 복잡도 등 다중 레이블을 주석 처리한다.
  • 25,433개 문제로 구성된 훈련 세트와 1,000개 문제로 구성된 테스트 세트를 구성하였으며, 최대 155만 개의 다양한 솔루션 답변을 포함한다.
  • 평가 스크립트를 제공하고, Hugging Face Hub와 GitHub에 데이터셋을 호스팅하여 접근성과 재현 가능성을 확보한다.
  • 특정 주제 기반 서브셋을 사용해 모델 테이닝을 가능하게 하여 타겟 알고리즘 과제에서의 성능 향상을 도모한다.

실험 결과

연구 질문

  • RQ1대규모이고 세밀한 주석이 부여된 코드 생성 데이터셋은 복잡한 실세계 프로그래밍 과제에서 모델 성능 향상에 기여할 수 있는가?
  • RQ2TACO의 주제 기반 서브셋으로 테이닝한 결과는 전체 데이터셋으로 테이닝한 것과 비교해 코드 생성 성능에 어떤 영향을 미치는가?
  • RQ3세밀한 주석(예: 알고리즘 유형, 기술 수준, 난이도)은 모델의 추론 능력과 코드 품질 향상에 어느 정도 기여하는가?
  • RQ4TACO는 HumanEval나 MBPP와 같은 표준 벤치마크를 넘어서 코드 생성 모델 평가에 신뢰할 수 있는 기준이 될 수 있는가?
  • RQ5TACO는 알고리즘 추천 및 코드 이해와 같은 후속 응용 분야에서 얼마나 효과적인가?

주요 결과

  • GPT-4는 Leetcode(하드) 과제에서 pass@1 점수 7%를 기록하여, 현재의 벤치마크가 한계가 있음을 보여주며, TACO와 같은 더 도전적인 평가 세트의 필요성을 시사한다.
  • TACO의 훈련 세트를 활용해 StarCoder-1B와 같은 모델을 특정 알고리즘 기술(예: 자료구조, 그리디 알고리즘, 정렬)에 특화해 테이닝한 결과, 전체 데이터셋 테이닝 대비 성능 향상이 눈에 띄게 관찰되었다.
  • TACO 데이터셋의 세밀한 레이블(예: 알고리즘 주제, 기술 수준, 난이도)은 더 정확한 모델 훈련과 평가를 가능하게 하여 성능 평가의 모호성을 감소시킨다.
  • 풍부한 주석 스키마 덕분에 자동 코드 문서화, 알고리즘 추천, 교육용 도구 개발 등 고급 응용 분야를 지원할 수 있다.
  • TACO는 알고리즘 다양성과 복잡성을 더 잘 포괄하여 기존의 벤치마크보다 모델 능력 평가에 더 현실적인 기준을 제공한다.
  • APPS나 CodeContest보다 TACO를 평가에 활용하는 것이 바람직하다. TACO는 철저한 총괄 및 수동 검증을 통해 테스트 케이스 커버리지의 오진(false positives) 문제를 완화하기 때문이다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.