반복적으로 편집되는 코드
실제 코드는 처음부터 끝까지 한 번에만 작성되지 않고 수정과 정제를 반복한다. InCoder는 왼쪽에서 오른쪽으로 쓰는 생성과 중간을 채우는 편집을 하나의 생성 모델로 다루려 했다.
양쪽 문맥을 이용하는 학습
학습할 코드 파일에서 구간을 무작위로 가리고 끝으로 옮겼다. 이런 구성을 통해 빈 부분의 앞뒤 문맥에 조건을 두고 코드를 채우도록 한다.
제로샷 채우기의 평가
소개 연구는 추가 과제 학습 없이 코드의 빈 부분을 채우는 능력을 타입 추론과 주석 생성, 변수 이름 변경 등에서 평가했다. 뒤쪽 문맥까지 볼 수 있는 조건의 이점을 살폈다.
생성과 편집의 비교
양방향 문맥은 초기 실험의 편집 관련 과제에서 성능을 개선했다. 연구는 비슷한 규모로 사전 학습한 단방향 모델과 일반 프로그램 합성 평가도 함께 비교했다.
관련 문서
CodeGen / StarCoder / Code Llama / CodeT5 / HumanEval / 프로그래밍