호돌찌의 AI 연구소
article thumbnail
Published 2021. 10. 31. 17:29
Pretrained Language Model - 11. GPT AI/NLP

이전 시간에는 Language Model과 Tokenization(BPE Algorithm)에 대해서 다루었습니다. 본격적으로 PLM을 하나씩 언급해볼 예정입니다. 먼저 PLM의 유형들이 어떤 것이 있는지 알아보면 다음과 같습니다. 

 

1. PLM의 유형

- Autoregressive models : Open AI의 GPT와 같이 NLG Task에 강점이 있는 모델을 뜻하며, Transformer의 Decoder만을 이용해 LM을 구성합니다. 

- Autoencoder models : 가장 많이 활용되며, 구글의 BERT와 같이 NLU Task(CLS, NER 등)에 강점이 있는 모델이며, Transformer의 Encoder를 통해 LM을 구성합니다. Bi-directional LM이 구현 가능하며 MLM, NSP와 같은 다양한 objective를 통해 학습합니다. 

- Encoder-Decoder models : FB의 BART 모델이 대표적이며 NLU, NLG Task 모두 Downstream Task에 성능이 좋고, Transformer의 Encoder, Decoder 모두 사용합니다. 

이렇게만 단순하게 보면 BART가 좋은 것 아니냐?라고 생각할 수 있습니다. 하지만 특정 Task에 특화된 것이기 때문에 성능 부분에 Trade-off 가 생기는 구간이 존재합니다. 그래서 무조건 이 모델 쓰세요! 는 정답이 없습니다. 모델의 크기가 증가됨에 따라서 성능의 개선 폭도 더욱 커지긴 하나, 모델이 3배가 커졌다고 생각했는데, 내 모델 성능이 1%밖에 상승하지 않는다면, 상용화 입장이나 사용자가 사용하는 데 있어서 Task에 따라서 적절하게 선택하는 게 중요하다 생각합니다. 

 

2. GPT Pre-train

Open AI가 2018년에 첫 출시를 했습니다. 이전에 다루었던 Transformer에서 Decoder만을 활용해 언어 모델을 Pretrain 후 각 Task에 Transfer Learning을 실시합니다. 거창하게 느껴질 수 있지만 GPT는 그냥 일반적인 언어 모델과 같이 이전 단어들을 기반으로 다음 단어를 예측하는 것이 가장 큰 특징입니다. 

unlabeled token들 

k는 context의 window 크기, theta는 신경망 Parameter

 

 

3. GPT Fine-Tuning

I : 텍스트와 특수한 역할을 하는 토큰(Start, Extract, Delimeter)을 결합하여 하나의 시퀀스로 만듭니다.

O : 마지막 Layer를 추가하여 각 Task에 맞는 y_hat을 구합니다. 

위의 Downstream Task에 따라서 Fine-Tuning을 실시한다고 생각하면 됩니다. 

 

4. 정리

GPT 1, 2는 아마 Downstream Task로써 사용할 일은 없지만 이 GPT가 가지는 의미는 초기 PLM 유형으로써, 이후에 GPT 시리즈의 기반을 다지는데 의의가 존재합니다. 추후에 GPT부분은 GPT-3에서 더 자세히 다룰 예정입니다. 다음 글은 BERT로 찾아뵙겠습니다. 

profile

호돌찌의 AI 연구소

@hotorch's AI Labs

포스팅이 도움이 되셨다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!