Unlabeled Text Corpora
를 가지고 Generative Pre-Training of a Language Model
을 가지고 임베딩 벡터를 찾자. 그리고 downstream task에 대해 Supervised Learning
을 수행하자.Unsupervised Pretraining
+ Supervised Finetuning
= Semi-supervised learning
Transformer
의 Decoder Block
을 사용함
Encoder-Decoder block
도 제외
Self-attention과 Masked self-attention의 차이 : 이전 토큰만 본다. 전부 다 본다.
Decoder only block
인데, 원래의 트랜스포머의 encoder-decoder self-attention은 제외.
또한 Decoder block을 몇개쌓느냐는 하이퍼파라미터가 된다.
예를 들면 분류 Task(Classfication)의 경우에는 labeled Text를 Input으로 사용하고 Transformer decoder block의 마지막 부분에서 Linear 함수를 적용하여 최적화한다.
두 종류의 Corpus를 pretrain에 사용.
supervised learning에 대한 Task는 4가지 분류로, 다음과 같은 데이터셋을 사용하였고 여러 부문에서 SOTA를 달성
gpt 블록을 몇개 쌓아야 하는가?
최대 12개로 쌓았을때 점점 성능이 향상됨을 보임.
Zero-shot 학습과 labeled corpus 주어진 학습 비교.
supervised learning이 성능이 훨씬 향상됨.
⇒ 결론 : 데이터셋이 작으면 LM을 사용하지 않는게 차라리 낫다. task specific한 데이터를 파인튜닝하지 않는게 차라리 낫다. LSTM을 사용한것은 하나의 데이터셋에 대해서만 더 강세를 보임(RTE)