1) 강의 수강
2) 과제
3) 오피스 아워
4) 멘토링
Masked Language Model
- 원인: 기존의 Language model은 오직 왼쪽 혹은 오른쪽 문맥만 사용한다. 하지만, 언어를 이해하기 위해서는 bi-directional하게 살펴봐야 한다.
- 방법: 각 단어를 일정 확률로 Mask로 치환해서 맞추도록 한다.
- 단어의 15%를 예측하도록 한다.
- 80%는 [MASK]로 치환된다.
- 10%는 random한 단어로 치환된다.
- 10%는 유지한다.
the man went to the [Mask] to buy a [MASK] of milk
- making이 너무 적다면 학습이 안되고, 너무 많다면 문맥을 파악할 수 없다.
Next Sentence Prediction (NSP)
- 두 문장 A, B를 주어, B가 실제로 A의 뒤에 오는 문장인지 예측하도록 한다.
BERT 요약
1. Model Architecture
- BERT BASE: L = 12, H = 768, A = 12
- BERT LARGE: L = 24, H = 1024, A = 16
- Input Representation
- WordPiece embeddings (30,000 WordPiece)
- Learned positional embedding
- [CLS] - Classification embedding
- Packed sentence embedding [SEP]
- Segment Embedding
- Pre-training Tasks
- Masked LM
- Next Sentence Prediction
BERT: Fine-tuning Process
BERT vs GPT-1
- Traning 데이터 사이즈
- GPT: 800M words (BookCorpus)
- BERT: 2,500M words (BookCorpus and Wikipedia)
- Training tokens during training
- BERT: [SEP], [CLS], sentence A/B embedding을 학습한다.
- Batch size
- GPT: 32.000 words
- BERT: 128,000 words
- Task-specific fine-tuning
- GPT: 5e-5의 학습률을 동일하게 적용
- BERT: task별로 다른 lr을 적용
BERT: GLUE Benchmark Results
SQuAD 1.1
SQuAD 2.0
GPT-2: Datasets
- 웹 크롤링과 같은 방법으로 다양한 text를 모을 수 있었음.
- 레딧, 소셜 미디어 플랫폼, 웹텍스트 등으로 부터 스크랩함.
- 45M links
- 사람이 페이지를 필터링
- 최소 좋아요 3개를 받은 페이지
- Byte pair encoding (BPE)로 전처리
GPT-2: Model (변경점)
- Layer normalization은 각 sub-block의 인풋으로 옮겨졌다.
- 마지막 self-attention block뒤에 layer normalization이 추가 되었다.
- 모델 깊이에 따른 residual path의 누적에 관한 부분의 초기화 방법이 변경되었다.
- N이 residual layer의 수라 할 때, residual layer의 가중치에 을 곱했다.
Zero-shot: 오직 자연어의 서술만으로 답을 예측
One-shot: 하나의 예제를 추가
Few-shot: 약간의 예제를 추가
Performance
- Zero-shot performance는 모델 사이즈와 함께 일정하게 증가
- Few-shot performance는 더욱 빠르게 증가
다음의 해결책들이 제시되었다.
1) Factorized Embedding Parameterization
2) Cross-layer Parmeter Sharing
3) (For Performance) Sentence Order Prediction
GLUE Results