BEiT의 기초가 되었던 논문: BERT(Pre-training of Deep Bidirectional Transformers for Language Understanding)


기존 학습 방식의 한계

기존의 언어 모델은 unidirectional한 pre-training을 적용했습니다. 문장의 왼쪽에서 오른쪽으로 이동하면서, 순차적으로 토큰을 학습합니다. 결국 AI 모델은 현재 토큰을 예측하고자 할 때 이전에 나타난 토큰들에 대해서만 주의를 기울이게 됩니다. 하지만 문맥을 양쪽에서 모두 이해해서 해결해야 하는 자연어 task도 있습니다. Question answering이 대표적입니다.

OpenAI에서 개발한 GPT 모델은 대표적인 unidirectional 모델이라고 합니다.

BERT는 unidirectional 학습 문제를 해결하기 위해 MLM(Masked Language Modeling) 전략을 도입했습니다. MLM에 대해서는 뒤에서 설명하겠습니다(컨셉은 간단합니다).

BERT의 Contribution

  1. Bidirectional pre-training을 통해 성능을 높임 - MLM(maked language model)을 소개
  2. Task-specific한 architecture를 준비하는 대신, fine-tuning(모델 전체의 파라미터를 미세하게 조정)을 함으로써 하나의 모델이 여러 task에 대해서도 일반적으로 높은 성능을 보일 수 있음
  3. NLP task(2019년 11월 기준 11가지!)에 대해서 SOTA 성능을 달성

Feature-based vs. Fine-tuning

일반적인 task에 대해 보다 세부적인 task를 downstream task라고 합니다. 인공지능 모델을 활용하는 가장 일반적인 방법은 바로 transfer learning입니다. 사전에 잘 훈련(pre-trained)된 성능 좋은 모델을 가져다쓰되, downstream task에 맞게 세밀하게 맞추기만 하면 됩니다. 밑바닥부터 모델을 새로 학습할 수고를 들이지 않아도 되고 이렇게 하는 것보다 훨씬 성능도 좋습니다.

NLP 분야(컴퓨터 비전도 마찬가지겠지만)에서는 pre-trained된 모델을 downstream task에 적용하기 위해 두 가지 방식을 적용합니다. BERT 논문 introduction에서는 1) feature-based 2) fine-tuning 이렇게 2가지로 나눕니다.

Feature-based 접근은 어떤 전략일까요? 특정 task에 맞춰서 사전학습된 모델을 가져다쓰되, 기존 골격(pre-traine 파라미터)은 그대로 놔두고 제게 맞는 downstream task에 파라미터를 추가 학습하는 방식입니다. ELMo (Peters et al., 2018a)가 feature-based의 대표적인 예시입니다.

반면에 fine-tuning은 downstream task에 대해 추가 학습하는 건 똑같은데, pre-trained된 파라미터를 모두 조금씩 업데이트합니다. 이렇게 하면 task-specific한 파라미터는 최소화할 수 있습니다. OpenAI의 GPT가 대표적인 예시입니다.