13일 전

CodeT: 생성된 테스트를 활용한 코드 생성

Bei Chen, Fengji Zhang, Anh Nguyen, Daoguang Zan, Zeqi Lin, Jian-Guang Lou, Weizhu Chen
CodeT: 생성된 테스트를 활용한 코드 생성
초록

주어진 프로그래밍 문제에 대한 코드 솔루션을 생성하는 작업은 Codex와 같은 사전 훈련된 언어 모델을 활용함으로써 다수의 다양한 샘플을 생성할 수 있어 이점이 있다. 그러나 이 작업의 주요 과제는 사전 훈련된 모델이 생성한 다수의 샘플 중 가장 적절한 솔루션을 선택하는 것이다. 코드 솔루션의 품질과 정확도를 평가하는 자연스러운 방법은 테스트 케이스 세트를 기반으로 코드를 실행하는 것이다. 그러나 이러한 테스트 케이스를 수동으로 작성하는 것은 종종 비용이 많이 들고 시간이 오래 걸리는 작업이다. 본 논문에서는 동일한 사전 훈련된 언어 모델을 활용하여 코드 샘플용 자동 테스트 케이스를 생성하는 새로운 방법인 CodeT를 제안한다. 이를 통해 인간의 노력은 감소하고 테스트 시나리오의 커버리지가 확대된다. CodeT는 생성된 테스트 케이스를 사용하여 코드 샘플을 실행하고, 생성된 테스트 케이스에 대한 출력의 일관성과 다른 코드 샘플들 간의 출력 일치성을 모두 고려하는 이중 실행 일치(dua l execution agreement)를 수행한다. 우리는 HumanEval, MBPP, APPS, CodeContests 네 가지 벤치마크에서 크기와 능력이 다른 다섯 가지 사전 훈련된 언어 모델을 사용하여 포괄적인 실험을 수행하였다. 실험 결과, CodeT는 이전 방법에 비해 코드 솔루션 선택 성능을 크게 향상시켰으며, 다양한 모델과 벤치마크에서 뚜렷하고 일관된 성능 향상을 보였다. 예를 들어, HumanEval에서 CodeT는 pass@1 지표를 65.8%까지 향상시켰으며, code-davinci-002 모델 대비 절대적인 성능 향상 18.8%를 기록했고, 이전 최고 성능 결과 대비 20% 이상의 절대적 개선을 달성하였다.

CodeT: 생성된 테스트를 활용한 코드 생성 | 최신 연구 논문 | HyperAI초신경