-
[논문리뷰] RoBERTa: A Robustly Optimized BERT Pretraining Approach(2019)카테고리 없음 2023. 12. 6. 22:46
# 요약
언어 모델 사전 학습은 상당한 성능 향상을 가져왔지만 서로 다른 접근 방식을 비교하기 어려움. 본 논문은 BERT Pretraining 방법에서 주요 하이퍼파라미터와 훈련 데이터 크기가 미치는 영향을 분석한 후 개선된 BERT 모델 훈련 방법, RoBERTa를 제안.
# 인트로
기존 BERT의 Pretraining 방법에서 다음을 개선
(1) 더 많은 데이터에 대해 더 큰 배치로 모델을 더 오래 훈련
(2) 다음 문장 예측 목표를 제거
(3) 더 긴 시퀀스에 대해 훈련
(4) 훈련 데이터에 적용된 마스크 패턴을 동적으로 변경
(5) 새로운 대규모 데이터 세트(CC-NEWS)를 수집하여 적용
# Pre-training 전략 분석
## Static vs Dynamic Masking
각 epoch에서 text에 대한 동일한 masking을 피하기 위한 전략이 필요
- Static Masking: 기존 BERT에서는 데이터를 10개로 복제한 후 10개의 고정된 Masking을 적용함
- Dynamic Masking: 모델에 데이터를 입력할때 마다 Masking 패턴을 생성하여 적용
=> Dynamic Masking이 조금 더 나은 성능을 보임
## Model input format and Next sentence prediction
Input data 추출 방법과 NSP적용 여부를 비교
1) Segment Pair + NSP: 기존 BERT에서는 512토큰 이내의 여러문장의 합인 Segment Pair와 NSP를 적용
2) Sentence Pair + NSP: Segment 대신 단일 문장 Pair와 NSP를 적용
3) Full Sentences: 하나 이상의 문서에서 연속적으로 샘플링된 512토큰 이내 문장, NSP 미적용
4) Doc Sentences: Full Sentences와 동일하나 문장 추출시 한개의 문서에서만 추출. NSP 미적용
=> 4) > 3) >1) >2) 순으로 성능이 좋음
## Training with large batches
Batch 사이즈를 늘렸을때 전반적으로 성능이 향상 되었으며, Batch 사이즈가 2K일때 가장 성능이 좋았음
# 제안 모델(RoBERTa)
상기 Pre-training 전략에서 우수한 방법을 조합한 RoBERTa(Robustly optimized BERT approach)를 제안
(Dynamic Masking + Full Sentences without NSP + Large mini batches + Larger byte-level BPE)
그리고 기존 BERT 대비 더 많은 양의 데이터와 Training step을 적용
# 결과
Task별 Fine-tuninig 없이 GLUE, SQuAD, RACE 데이터셋에서 대부분 Task에 대해 SOTA
# 결론
- BERT 모델의 Pre-training Approach를 항목별로 분석 후 개선
- RoBERTa: 더 많은 데이터, 더 큰 배치, 더 긴 시퀀스에 대한 더 많은 훈련, NSP제거, Dynamic Masking 적용
- GLUE, SQuAD, RACE에서 Fine-tuninig 또는 추가 데이터 학습 없이 SOTA 달성
- Pre-training Approach 설계가 중요함을 입증
# 참고한 자료
https://arxiv.org/abs/1907.11692