RoBERTa
BERT보다 좋은 결과가 나왔다고 반드시 새로운 architecture가 필요한 것은 아니다. RoBERTa는 BERT-Large와 MLM을 유지한 채, 원 BERT가 충분히 학습되었는지 묻는다. Data, batch, input length, masking 등 같은 구조를 어떻게 학습시키는가를 강화한 연구다. NSP를 뺐다는 한 문장만으로 핵심을 설명할 수 없다.
- BERTLarge / MLM
- noNSP + Dynamic masking + full512 + larger batch/data + Byte BPE
- stronger encoder
Training Recipe
RoBERTa는 BERT-Large architecture와 MLM을 유지한다. 변경은 NSP 제거, presentation마다 dynamic masking, full 512 sequences, batch 256×1M→8K×up to 500K steps, data 16→약 160GB, Vocabulary 30K WordPiece→50K byte BPE다. BERT의 10개 static mask variants를 40 epochs에서 재사용하는 setting과 비교한다.
Combined Effects
Static masking에서는 미리 만들어 둔 corruption variants를 학습 중 재사용한다. BERT의 비교 setting은 10 variants를 40 epochs에 걸쳐 쓰는 것이었다. Dynamic masking에서는 같은 the cat sat on the mat를 다시 제시할 때 cat, mat, sat 등 targets를 새로 뽑아 같은 문장으로 다른 문제를 만들 수 있다.
교수님은 원 BERT가 학습의 약 90%를 128-token inputs, 마지막 약 10%를 512-token inputs로 사용한 점도 언급했다. RoBERTa는 full 512-token sequences의 학습을 강화한다. Maximum input이 512라고 적혀 있다는 것과 training에서 긴 sequences를 충분히 보았다는 것은 다르다.
Batch 256 × 1M과 8K × up to 500K steps는 steps 수만으로 학습량을 비교할 수 없음을 보여 준다. 더 큰 batch와 data 약 160GB, byte-level BPE Vocabulary까지 여러 조건이 함께 바뀌었다. Dynamic masking 하나는 comparable 또는 slightly better였고, 주요 이득은 combined recipe에서 나왔다. 강의의 KLUE BERT/RoBERTa backbone 결과도 한국어 이해 task에서 이런 training 선택의 영향을 보여 주는 예시다.
BERT · RoBERTa · ELECTRA
Encoder 발전은 objective와 training recipe의 서로 다른 축을 건드렸다.
| Aspect | BERT | RoBERTa | ELECTRA |
|---|---|---|---|
| Objective | MLM + NSP | MLM, NSP 제거 | Generator MLM + Discriminator RTD |
| Loss 위치 | MLM 15% targets | MLM 선택 positions | RTD 모든 positions |
| 주요 변화 | Bidirectional reusable backbone | Data/batch/length/dynamic mask/vocab | Small generator로 plausible replacements |
| 이후 사용 | Task head fine-tuning | Task head fine-tuning | Discriminator fine-tuning |
Check
RoBERTa의 성능 향상을 NSP 제거 하나만으로 설명하면 왜 부족한가?
Answer
Masking,input length,batch,data,Vocabulary까지 함께 바꾼 recipe다. 단독 dynamic masking과 combined gains를 구분한다.
Static masking과 Dynamic masking은 무엇을 재사용하거나 바꾸는가?
Answer
BERT의 강의 setting은 미리 만든 mask variants를 재사용한다. RoBERTa는 입력을 다시 볼 때 새 mask를 적용한다.