위키득계정 ↗
기술

CodeT5

CodeT5기술
발표
2021년
구조
인코더-디코더 Transformer
주요 단서
개발자가 지정한 식별자
학습 요소
식별자 인식과 복원 및 이중 생성
CodeT5는 개발자가 붙인 식별자의 의미를 활용하는 코드 이해·생성 모델이다. 인코더와 디코더를 함께 사용하는 Transformer 구조로 여러 과제를 지원하며 코드와 자연어의 연결도 학습한다.

코드만의 특성 반영

코드를 일반 자연어처럼만 처리하면 토큰 종류와 같은 특성을 놓칠 수 있다. CodeT5는 식별자에 담긴 코드의 의미를 더 잘 활용하려는 방향으로 제안됐다.

식별자를 찾고 복원하기

어떤 코드 토큰이 식별자인지 구분하고 가려진 식별자를 복원하는 사전 학습 과제를 사용했다. 코드에 붙인 이름을 단순 문자열 이상의 학습 단서로 다룬다.

자연어와 코드의 정렬

사람이 작성한 코드 주석을 이용하는 이중 생성 과제를 제안했다. 자연어와 프로그래밍 언어 사이의 표현을 더 잘 맞추기 위한 구성이다.

이해와 생성의 공동 지원

통합 구조로 여러 과제를 함께 학습할 수 있다. 초기 연구는 결함과 유사 코드의 탐지 같은 이해 과제 및 코드·자연어 사이의 여러 생성 방향을 비교했다.

관련 문서

CodeBERT / GraphCodeBERT / PLBART / CodeXGLUE / Transformer / 프로그래밍