주제: 4-2 RoBERTa / T5 (Pretraining Recipe와 Objective 차이)
문제 설정
BERT는 매우 강력한 언어 이해 모델이지만 이후 연구에서 다음 문제가 발견되었습니다.
- pretraining 데이터 부족
- 학습 step 부족
- Next Sentence Prediction(NSP)의 효과 불확실
이 문제를 해결하기 위해 등장한 모델이 RoBERTa와 T5입니다.
직관 비유
- BERT -> 기본 Transformer Encoder 모델
- RoBERTa -> BERT를 더 잘 학습시킨 버전
- T5 -> 모든 NLP task를 text-to-text 문제로 변환
1. RoBERTa
RoBERTa는 BERT 구조를 유지하면서 pretraining 전략을 개선한 모델입니다.
핵심 변화
- 더 많은 데이터 사용
- 더 긴 학습
- NSP 제거
- dynamic masking
구조
RoBERTa 구조는 BERT와 동일합니다.
기호 의미
- X : 입력 토큰
- H : contextual representation
왜 중요한가
BERT의 성능 향상이 구조 때문이 아니라 학습 레시피 때문임을 보여줬습니다.
2. Dynamic Masking
BERT는 동일한 mask 패턴을 사용합니다.
RoBERTa는 학습마다 mask 위치를 변경합니다.
목표:
왜 필요한가
더 다양한 학습 데이터를 생성할 수 있습니다.
주의점
MLM objective 자체는 동일합니다.
3. RoBERTa Objective
RoBERTa는 NSP를 제거하고 MLM만 사용합니다.
왜 중요한가
NSP가 성능에 큰 영향을 주지 않는다는 것을 확인했습니다.
4. T5 모델
T5(Text-to-Text Transfer Transformer)는 모든 NLP task를 text-to-text 문제로 정의합니다.
구조
Input text
↓
Encoder
↓
Decoder
↓
Output text
수식:
기호 의미
- x : 입력 텍스트
- y : 출력 텍스트
왜 중요한가
모든 NLP 문제를 동일한 방식으로 해결할 수 있습니다.
5. T5 Pretraining Objective
T5는 span corruption을 사용합니다.
예:
Input: The <extra_id_0> sat on the <extra_id_1>
Target: <extra_id_0> cat <extra_id_1> mat
수식:
기호 의미
- input : masked 문장
- target : 제거된 span
왜 필요한가
여러 토큰을 동시에 예측할 수 있습니다.
6. MLM vs Span Corruption
| 방법 | 예측 단위 |
|---|---|
| MLM (BERT) | 개별 토큰 |
| Span corruption (T5) | 연속 토큰 |
7. RoBERTa vs T5
| 모델 | 구조 | 목적함수 |
|---|---|---|
| BERT | Encoder | MLM + NSP |
| RoBERTa | Encoder | MLM |
| T5 | Encoder-Decoder | Span corruption |
8. 핵심 차이 요약
- RoBERTa -> BERT 학습 전략 개선
- T5 -> text-to-text unified framework
코드-수식 연결
| 개념 | 코드 | 설명 |
|---|---|---|
| RoBERTa | transformers.RobertaModel |
BERT 기반 encoder |
| T5 | transformers.T5ForConditionalGeneration |
encoder-decoder 모델 |
| tokenization | T5Tokenizer |
SentencePiece tokenizer |
자주 하는 오해 5개
- RoBERTa는 완전히 새로운 구조라고 생각한다
- T5는 BERT와 동일한 모델이라고 생각한다
- MLM과 span corruption이 같은 objective라고 생각한다
- RoBERTa는 generation 모델이라고 생각한다
- T5는 encoder 모델이라고 생각한다
체크리스트 (스스로 설명 가능해야 하는 질문)
- RoBERTa가 BERT와 다른 점은 무엇인가?
- 왜 NSP가 제거되었는가?
- T5의 text-to-text framework는 무엇인가?
- MLM과 span corruption의 차이는 무엇인가?
- RoBERTa와 T5 구조 차이는 무엇인가?