
Encoder
1. 총 6개의 동일한 layer 구성되어 있습니다.
2. 각 layer 안에 multi-head self-attention mechanism으로 만든 layer와 단순한 position-wise fully connected feed forward layer 총 2개의 sub layer를 가집니다.
3. 각 sub layer에는 residual connection과 layer normalization을 사용합니다.
Decoder
1. 총 6개의 동일한 layer 구성되어 있습니다.
2. 각 layer 안에는 2개의 multi-head attention layer와 1개의 feed forward layer 총 3개의 sub layer를 가집니다.
3. encoder와 유사하게 residual connection과 layer normalization 사용합니다.
4. multi-head attention layer 중 하나는 encoder의 출력을 받아 multi-head attention을 수행하는 부분입니다. (= encoder-decoder attention layer)
5. self-attention을 수행하는 sub layer의 경우 masking을 적용해 해당 위치보다 미래의 정보는 참조하지 않도록 설계되었습니다.
Attention
👏 query : 현재 우리가 집중할 단어
👏 key : 모든 단어의 특징
👏 value : key에 해당하는 정보를 담고 있는 값
Self-Attention
Multi-Head Attention
BERT는 Transformer의 encoder 부분을 사용한 대표적인 Autoencoding model입니다.(Link)

GPT-1은 Transformer의 decoder 부분을 사용한 대표적인 Autoregressive model입니다.(Link)

BERT : Transformer의 Encoder를 베이스로 모델을 구성
→ Mask 단어와 두 문장간의 관계를 예측해야하는 BERT의 특성 때문입니다.
GPT-1 : Transformer의 Decoder를 베이스로 모델을 구성
→ 다음 단어를 예측해야하는 GPT-1의 특성 때문입니다.
BERT :
1. MLM(Masked Language Model)
입력 텍스트 일부를 마스킹한 후 해당 부분을 예측하는 방식으로 학습합니다.
2. NSP(Next Sentence Prediction)
두 문장이 주어졌을 때 두 문장의 관계를 예측하는 방식으로 학습합니다.
GPT-1 :
1. NWP(Next Word Prediction)
주어진 문장의 다음에 나올 단어를 예측하는 방식으로 학습합니다.
BERT : 다양한 NLP Task에서 더 좋은 성능을 내도록 설계되어 GPT-1보다 대부분의 NLP문제에서 좋은 성능을 보입니다.
GPT-1 : 텍스트 생성 작업에 특화되었습니다.
BERT : 양방향으로 데이터를 해석합니다.
GPT-1 : 단방향으로 데이터를 처리합니다.