MarianCG: 기계 번역에 영감을 받은 코드 생성 트랜스포머 모델
컴퓨터가 자체적으로 프로그램을 생성할 수 있다는 아이디어는 매우 중요한 의미를 지니며, 많은 연구자들이 이 도전 과제에 몰두하고 있다. 코드 생성은 자연어 요구사항을 충족시키면서 직접 컴퓨터에서 실행 가능한 코드를 생성하는 과정으로 정의된다. 이는 개발자가 새로운 소프트웨어 기술이나 프로그래밍 언어를 학습하는 데 도움을 줄 수 있으며, 자연어로 코드의 동작을 설명함으로써 코딩을 보다 간편하게 수행할 수 있는 기술적 접근 방식이 될 수도 있다. 본 논문에서는 자연어 설명에서 파이썬 코드를 생성하는 코드 생성 문제에 대응하기 위해 사용되는 코드 생성 Transformer 모델인 MarianCG를 제안한다. 마이크로소프트 트랜슬레이터의 핵심 모델인 Marian 신경 기계 번역(NMT)이 본 연구의 자연어-코드 번역 엔진의 기반이 되며, 학습 모델의 핵심 요소이다. MarianMT는 본 연구에서 사용된 교사 언어 모델로서, 가장 성공적인 기계 번역 Transformer 중 하나이다. 본 연구에서 우리는 텍스트 내 각 토큰의 위치를 표현하기 위해 사인 함수 기반의 위치 임베딩 기법을 사용하며, 레이어 정규화 임베딩은 사용하지 않는다. 제안하는 코드 생성 방법인 MarianCG는 기계 번역 전처리 언어 모델을 미세 조정(fine-tuning)한 기반으로 구축되어 있으며, 이는 사전 훈련된 번역 모델이 코드 생성 모델로서도 효과적으로 작동할 수 있음을 입증한다. CoNaLa 및 DJANGO 데이터셋에서 훈련된 결과, 제안된 모델은 최근 최신 기술 수준의 모델들을 초월하는 성능을 보였다. MarianCG 모델은 CoNaLa 데이터셋에서 BLEU 점수 34.43과 정확 일치 정확도 10.2%를 기록하였으며, DJANGO 데이터셋에서는 BLEU 점수 90.41과 정확 일치 정확도 81.83%를 달성하였다. MarianCG 모델의 구현 및 관련 자료는 https://www.github.com/AhmedSSoliman/MarianCG-NL-to-Code 에서 공개되어 있다.