인트로

BERT는 Bidirectional Encoder Representations from Transformers의 약어로, 말 그대로 Bidirectional 한 (양방향 문맥을 캐치할 수 있다) 트랜스포머 기반의 모델이다.

기존 모델들은 전부 예측을 진행할 때 LTR(Left to right) 혹은 RTL(Right to left)방식으로 인풋을 분석했고, 이는 다른 말로는 한 토큰이 참조할 수 있는 토큰이 제한되었다는 것을 의미한다.

왜 그럴 수 밖에 없었을까?

그것은 기본적으로 언어모델은 예측(train/eval 둘 다 해당)과정에서 “다음 토큰 예측”을 목표로 삼았기 때문이다. 예를 들면 학습 과정에서, “I am a gay. I like a man” 이라는 문장을 주고 나서는 예측 과정에서는 “I am a gay. I like a …” 다음에 올 단어를 맞추게 했다는 말이다.

그럼 당연하게도 모델은 양방향 참조를 할 수 없게 된다. 왜? 만약 왼쪽 토큰이 오른쪽 토큰(i.e. 다음에 올 말)을 참조할 수 있다면 정답 (man)을 이미 보게 되버리니까!

그런 연유로, 기존의 모델은 전부 LTR이나 RTL, 혹은 이 둘을 합쳐 사용하는 BiLSTM을 사용했다.

그런데 BERT는 이 문제를 MLM(Masked Language Model)이라는 pre-training objective를 도입함으로서 해결했다. 여기에 대해서는 차후 자세히 설명하기로 하고, 어쨌든 BERT는 진정한 의미에서 Bidirectional한 attention을 가능하게 만들었다. 즉, 토큰이 자기 자신을 제외한 다른 토큰들을 얼마든지 참조할 수 있게 한 것이다.

사실 이렇게만 말하면 BERT가 문장 내 토큰의 양방향 참조에만 특화된 모델로 오해를 할 수 있는데, 그렇지 않다. BERT는 더 큰 단위에서의 맥락 (i.e. 문장/문장 간) 또한 학습시키기 위해 NSP(Next Sentence Prediction) 또한 objective로서 사용하여 총 11가지의 NLP Benchmark에서 전부 신기록을 갈아치우는 기염을 토했다.

마지막으로, BERT의 마지막 장점은 Fine-tuning과 Feature-based approach 모두 거의 동일하게 SOTA급 성능을 보여주었다는 것이다. ELMo같은 경우는 Feature-based approach를 사용하고, GPT-1은 Fine-tuning approach를 사용한데에 반해 BERT는 기본적으로는 Fine-tuning approach를 사용하여 NLP task를 수행하였지만, Ablation study에서 Feature-based approach가 가진 이점과 성능에 대한 연구도 빼먹지 않았다.

Transfer Learning; 전이학습

BERT모델을 이해하기 위해서는 전이학습과, 그 하위 카테고리에 속하는 Fine-tuning approach와 Feature-based approach 가 무엇인지에 대한 간략한 이해가 필수적이다.

전이학습은 각 downstream task에 대해서 일일히 end-to-end architecture를 설계하고, 학습을 진행하는것은 비효율적이기 때문에, 이를 타파하고자 한 작업에서 학습된 지식을 다른 관련 작업에 적용하여 성능을 향상시키는 기법이다. 이를 NLP에서 구현하기 위해 크게 두가지 접근이 바로 Fine-tuning approach와 Feature-based approach이다.

ref: 나

ref: 나

첫번째로 Fine-tuning은, pre-trained model에게 downstream task에 맞는 head를 달아준 뒤, 모델 전체를 학습시키는 방법이다. 이 경우 head는 선형 레이어 등 아주 단순한 레이어가 될 가능성이 높다. BERT 또한 Fine-tuning접근에서 전부 단순한 선형 기반 레이어를 사용했다.

두번째로 Feature-based는, pre-trained model은 freeze한 상태에서, head만 교체한 뒤, head만 학습시키는 접근법이다. 이렇게 보면 Feature-based가 더 편하고 computationally cheap한게 아니냐는 의문이 들 수 있지만, 이 경우 단순한 Head를 사용할 때 성능이 제한되며, 레이블 간 의존성을 잡아줘야 하는 복잡한 task의 경우에는 BiLSTM + CRF 조합 등, 복잡한 head의 사용이 강제된다.

이런 연유로 최근에는 Fine-tuning approach가 조금 더 선호되는 추세이다.

BERT

Model Architecture & Input/Output Representations