Natural Language Processing

Improving language understanding by generative pre-training

xyz1 2023. 6. 8. 13:23

GPT

  • 설명Conclusion: 학습된 모델에 downstream task를 추가해서 supervised fine-tuning 하면 성능이 더 좋았다.Unsupervised pre-training을 학습하는 과정과 의미는 다음과 같다.
    • k size context window를 설정한다.
    • 특정한 단어가 만약 i번째라면 i-1 부터 i-k번째까지의 단어를 보고, i번째가 나올 가능성을 최대화하는 방법을 통해 라벨이 없는 데이터에서도 학습이 가능하도록 한다.
    • 비지도 학습을 설계
    • 즉, i번째 text가 나올 확률에 대해서 최대화 하는 것이기 때문에 maxmize likelihood(우도 최대화) 기법을 loss function으로 설정하여 학습한다!!!
    • SGD를 활용하여 backpropagation을 한다.
  • Unlabeled dataset을 어떻게 학습을 하는 것일까?
  • Background: Unlabeled dataset이 labeled dataset 보다 훨씬 많다. 우리는 unlabeled dataset을 활용해서 학습을 하고자 한다. 그때 당시, unlabeled dataset를 사용하는 것이 challenge이었다.

 

Model Architecture

Transformer decoder (Masked Self-Attention + Add & Norm + FFNN)

auto-regressive

Fine-tuning

Pre-training 되어있으면, supervised model fine-tuning 시에 generalization을 향상 시켜주며, 학습 수렴속도도 빠르다.

GPT는 downstream task별로 input을 다르게 변환 시켜 주어야 한다.

추가 실험 결과 (Decoder layer / pre-training)

  1. Decoding block 개수는 성능과 비례했다.
  2. Unsupervised로 pretained 되었을 때, find tuning을 진행했을 때 성능이 더 올라가는 것을 볼 수 있다.




  • 한계
  • RNN 같은 구조를 탈피해서 transformer 구조를 사용했다는 것에 의의가 있다. 하지만 한계는 unsupervised learning을 지향했음에도 특정 task에 적용할 때 성능 향상을 위해서 fine-tuning 과정과 input transformation이 들어갔다는 것이다. 결국 fine-tuning과정에서 supervised learning이 필요로하는 한계가 있다. 비지도 학습만으로 모델이 만들어지면 더욱 다양하고 범용적으로 사용할 수 있을 것이다. 따라서 비지도 기반의 언어 모델 GPT-2를 만듬. #변경됨에 따라 GPT-2부터는 fine-tuning 과정이 없다.

 

Reference

https://www.youtube.com/watch?v=o_Wl29aW5XM