Skip to main content
QUICK REVIEW

[논문 리뷰] PanGu-Coder: Program Synthesis with Function-Level Language Modeling

Fenia Christopoulou, Γεράσιμος Λάμπουρας|arXiv (Cornell University)|2022. 07. 22.
Software Engineering Research인용 수 23
한 줄 요약

PanGu-Coder는 두 단계 학습 전략을 사용하는 텍스트-코드 생성을 위한 디코더 전용 사전 학습 모델이며, 더 작은 컨텍스트 및 데이터 요구사항으로도 기능적으로 올바른 코드 생성에서 경쟁력 있는 성능을 달성합니다. 또한 도메인 내 미세 조정과 후처리 필터를 통한 이점을 보여줍니다.

ABSTRACT

We present PanGu-Coder, a pretrained decoder-only language model adopting the PanGu-Alpha architecture for text-to-code generation, i.e. the synthesis of programming language solutions given a natural language problem description. We train PanGu-Coder using a two-stage strategy: the first stage employs Causal Language Modelling (CLM) to pre-train on raw programming language data, while the second stage uses a combination of Causal Language Modelling and Masked Language Modelling (MLM) training objectives that focus on the downstream task of text-to-code generation and train on loosely curated pairs of natural language program definitions and code functions. Finally, we discuss PanGu-Coder-FT, which is fine-tuned on a combination of competitive programming problems and code with continuous integration tests. We evaluate PanGu-Coder with a focus on whether it generates functionally correct programs and demonstrate that it achieves equivalent or better performance than similarly sized models, such as CodeX, while attending a smaller context window and training on less data.

연구 동기 및 목표

  • PanGu-α 기반의 디코더 전용 모델로 텍스트-코드 생성을 촉진한다.
  • 원시 코드 데이터와 NL-코드 쌍을 활용하기 위한 두 단계 학습 전략을 제안한다.
  • 도메인 관련 데이터에 대한 파인튜닝과 그것이 기능적 성능에 미치는 영향을 탐구한다.
  • 향상된 코드 합성을 위한 디코딩 전략, 학습 목표 및 데이터 유사성을 조사한다.
  • 함수적 벤치마크의 합격률을 높이기 위한 후처리 기법을 제안한다.

제안 방법

  • 다음 토큰 예측을 위한 추가 쿼리 레이어를 갖춘 PanGu-α 스타일의 디코더 전용 트랜스포머를 사용한다.
  • 1단계는 원시 코드에 대해 인과적 언어 모델링(CLM)로 사전 학습한다(문서 문자열/주석을 통해 NL 신호를 포함).
  • 2단계는 Code-CLM, Docstr-MLM, Docstr-MCLM 목표의 조합을 사용하여 정렬된 NL-코드 쌍에 대해 학습한다.
  • 경쟁 프로그래밍 문제 및 CI 테스트 함수와 같은 도메인 관련 데이터에 대해 PanGu-Coder를 파인튜닝한다(PanGu-Coder -FT).
  • 기능적 올바름에 초점을 맞춘 HumanEval 및 MBPP 벤치마크에서 제로샷 성능을 평가한다.
  • 패스율 향상을 위한 few-shot 유사성 기반 데이터 선택 및 후처리 필터(유닛 테스트, 타입 검사, 구문)를 조사한다.

실험 결과

연구 질문

  • RQ1함수 수준에 초점을 맞춘 텍스트-코드 생성을 디코더 전용 모델이 효과적으로 수행할 수 있는가?
  • RQ2두 단계 학습 목표(CLM 및 MLM 변형)가 기능적 코드 생성 품질에 어떠한 영향을 미치는가?
  • RQ3도메인 내 파인튜닝 데이터가 기능적 정합성 점수에 미치는 영향은 무엇인가?
  • RQ4유사성 기반 데이터 선택이 성능 유지 또는 향상을 보장하면서 학습 계산량을 줄일 수 있는가?
  • RQ5생성 후 필터(유닛 테스트, 타입 검사, 구문 확인)가 벤치마크에서 합격률을 크게 높이는가?

주요 결과

  • PanGu-Coder는 컨텍스트 창이 더 작고 데이터가 적은 상태에서도 기능적으로 올바른 코드 생성을 수행하는 데 있어 CodeX와 같은 동급 규모의 모델과 동등하거나 더 나은 성능을 달성한다.
  • 도메인 내 데이터(PanGu-Coder -FT)에 대한 파인튜닝은 도메인 외 데이터에 비해 MBPP에서 특히 합격률의 개선 속도를 더 빠르게 만든다.
  • 프롬프트의 유닛 테스트 및 후처리 필터가 MBPP 합격률을 크게 향상시키며, HumanEval에는 다양한 영향을 준다.
  • 타이핑 기반 필터링 및 구문 검사로 후보 해를 줄이면서도 합격률을 더 높이거나 유지할 수 있다.
  • Few-shot 유사성 기반 데이터 선택은 전체 데이터 파인튜닝 성능과 같거나 더 높은 성능을 25-50%의 데이터로 달성할 수 있어 연산 비용을 줄인다.
  • PanGu-Coder -FT는 도메인 정렬된 데이터의 이점을 얻으며 파인튜닝 데이터의 분포 변화에 대해 민감하게 반응한다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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