- Auto regression
- 특징 : generation, transformer의 decoder부분. 자연어 생성에 강함
- GPT
- XLNet
- Encoder
- 특징 : understanding에 강함
- BERT
- ALBERT
- RoBERTa
- Electra : bert에 task를 바꿔볼까?
GPT
GPT : Generative Pre-trained Transformer
ALBERT
"A Lite BERT for Self-supervised Learning of Language Representations"
- 기존 문제점
- 모델 규모가 커지면 자원의 한계
- 모델의 파라미터 수 증가가 성능과 완전 비례하지 않음
- Parameter Reduction ( 파라미터 수를 감소시키면서 성능은 유지 = 건강한 파라미터 수 다이어트 )
- Factorized embedding parameterization
- 처음에 취한 방식 : input embedding dimension < hidden size
- Cross layer parameter sharing : attention layer의 weight를 동일하게 쓰더라도 성능이 비슷하게 나왔다!
- NSP : MASKED Language model 과 Next Sentence Prediction 방식으로 훈련을 시켰었는데, NSP task를 Sentence Order Prediction으로 바꿈!
- Memory 사용량 down
- Train Time down
- 실제 Service할 때 잘 사용된다!!
RoBERTa
"A Robustly Optimized BERT Pretraining Approach"
- 기존의 bert가 덜 학습되었다는 주장으로
- 학습시간, 배치사이즈, 학습데이터 10배, 데이터 길이를 높임
- NSP task 제거 : 모델이 embedding을 학습하는데 큰 의미가 없다
- Masking Pattern 변화
- 기존 : 문장 내 토큰 중 15% 중 80%는 mask, 10%는 그대로, 10%는 임의의 토큰으로 대체 => 미리 해놓고 들어감! => epoch가 될 때마다 (같은 문장 두세번째 훈련때마다 ) 문장의 패턴이 그대로 유지됨 => 문장의 다양성이 방해됨
- 그때그떄 변경?
- NLU에 강점