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)
- Decoding block 개수는 성능과 비례했다.
- 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