GPT (Generative Pre-Training)
GPT의 개념
GPT(Generative Pre-Training)는 OpenAI에서 Transformer를 기반으로 하여 구현한 모델이다. GPT는 BERT와 달리 Transformer의 Encoder 부분을 사용하지 않고, Decoder 부분을 변형한 구조이다. 하지만 BERT와 동일하게 Pre-training 및 Fine-tuning 과정을 통하여 성능을 높였다.
GPT의 구조
왼쪽 그림은 GPT 1의 구조를 나타낸 것이다. GPT에는 Encoder 부분이 사용되지 않기 때문에 Transformer 구조 그림에서 보았던 "Multi-Head Attention" 부분이 존재하지 않음을 확인할 수 있다. (이전 포스팅 참고)
왼쪽 그림은 GPT 2의 구조를 나타낸 것이다. GPT 1과의 차이점은 "Layer Norm"의 위치가 입력으로 바뀌었다는 점과 "Masked Multi-Self Attention" 이후로 변경되었다는 것이다. 이는 attention 연산을 최적화하기 위함일 뿐, GPT 1에서의 파라미터와 동일한 파라미터를 사용한다.
GPT vs BERT
GPT는 BERT에 비해 성능은 떨어지지만 언어 모델을 기반으로 만들어졌다는 점에서 언어 생성에 강점을 보인다.
https://ratsgo.github.io/nlpbook/docs/language_model/bert_gpt/