[RoBerta]
Roberta는 한마디로 Bert를 최적화시킨 모델이라고 할 수 있다. Bert가 under-trained 되었다는 가정하에 크게 네 가지의 변화를 준다.
1. 더 많은 데이터로, 더 긴 시간 , 더 큰 배치사이즈로 학습
2. NSP 제거
3. 긴 input sequence로 일정하게 학습
4. 동적 마스킹
1. Roberta는 Bert에 사용된 데이터보다 더 다양한 도메인의 데이터를 추가하여 더 긴 시간동안 학습했다.
이때 배치사이즈를 더 크게하고, 배치사이즈에 영향을 받는 파라미터들을 변경했다.
2. Bert는 크게 두 가지 학습 체계가 있다. 첫 번째는 MLM, 두 번째는 NSP 이다. 여기서 NSP가 과연 유용한가에 대한 의문을 제기하며 RoBerta에서는 NSP를 제거한다. 따라서 Roberta의 코드를 보면 token_type_ids가 없는데 이게 바로 그 이유이다. token_type_ids는 Bert에서 NSP를 위한 임베딩이며, 앞 문장과 뒷 문장을 구별해주는 임베딩이다. 하지만 Roberta는 NSP를 제거하기 때문에 token_type_ids를 적용할 이유가 없다.
3. Bert는 학습 속도 개선을 위해 초반 90% step길이를 128로 제한한다. 하지만 RObert는 처음부터 끝까지 512로 유지한다.
4. 데이터를 10배로 늘려, 같은 문장이더라도 다르게 마스킹하여 적용하여 40 에포크동안 10개의 다르게 마스킹한 문장을 학습한다. 즉, 모델은 각 학습 과정동안 같은 mask를 4번 보게 되는 것이다.
'딥러닝' 카테고리의 다른 글
[논문 리뷰] EmotionFlow: Capture the Dialogue Level Emotion Transitions (0) | 2023.01.14 |
---|---|
[딥러닝][NLP] Tokenizer 정리 (0) | 2023.01.13 |
[MLOps][딥러닝][실험] Wandb 간단한 사용법 (0) | 2022.12.12 |
Transformer 정리 (0) | 2022.10.10 |
Pretrained Language Model 정리1 (0) | 2022.09.28 |
댓글