위키득계정 ↗
기술

CodeBERT

CodeBERT기술
발표
2020년
기반 구조
Transformer
입력 범위
자연어와 프로그래밍 언어
사전 학습 요소
대체 토큰 탐지를 포함한 혼합 목표
CodeBERT는 자연어와 프로그래밍 언어를 함께 다루는 사전 학습 모델이다. 두 종류의 표현을 연결해 자연어 코드 검색이나 코드 설명 생성에 활용할 범용 표현을 학습한다.

설명과 코드의 공동 표현

자연어로 원하는 기능을 설명하는 방식과 코드로 그 기능을 표현하는 방식은 다르다. CodeBERT는 두 표현을 함께 학습해 자연어와 코드가 만나는 후속 과제를 지원한다.

대체 토큰의 탐지

생성기가 제시한 그럴듯한 대체 토큰을 탐지하는 과제를 혼합 학습 목표에 포함했다. 단순히 두 자료를 모으는 것과 별개로 토큰 수준의 판단을 사전 학습에 이용한다.

짝 자료와 단일 자료

자연어와 코드의 쌍은 모델 학습의 입력 토큰을 제공한다. 단일 형태의 자료는 더 나은 생성기를 학습하는 데 이용해 서로 다른 자료의 역할을 나눴다.

미세 조정과 탐침 평가

소개 연구는 코드 검색과 코드 문서 생성에서 매개변수를 미세 조정해 평가했다. 별도로 자연어·코드 탐침 자료를 만들고 사전 학습 매개변수를 고정한 상태의 지식도 살폈다.

관련 문서

CodeSearchNet / CodeXGLUE / GraphCodeBERT / BERT / Transformer / 자연어 처리