BERT 모델과 비교했을 때 어떤 차이가 있는지 알아봅니다.
- MLM 태스크를 동적 마스킹 방법으로 학습 적용
- NSP 태스크를 제외함
- 배치 크기를 증가해서 학습
- BBPE 토크나이저 사용
동적 마스킹(Dynamic masking)
기존 BERT 모델은 MLM 사전 학습에서 정적 마스킹을 사용한다.
→ 정적 마스킹은 전처리 단계에서 단 한번 수행되어 epoch 마다 동일한 마스킹을 예측하도록 학습한다.
동적 마스킹은?
→ 학습 데이터(문장) 하나 당 $\times$10개의 문장을 복제해서 각각 다른 마스킹 결과가 나오도록 전처리한다. 40epoch을 돌리는 동안 10개의 마스킹된 문장이 학습되도록 하여 같은 문장이더라도 다른 마스킹 단어를 맞히는 태스크를 부여한다. 이렇게 되면 40epoch이 진행될 동안 마스킹까지 동일한 문장은 총 4번씩 학습하게 된다.
→ 결론적으로 정적 마스킹보다 MLM 태스크량이 증가하고, 그만큼 성능의 향상을 기대한다.
NSP 태스크 제거
RoBERTa 논문에서는 NSP 태스크가 모델 성능 향상에 유용하지 않다는 실험 결과를 공개했다.
위 실험 결과는 MLM+NSP와 without NSP 태스크로 나누어 batch-size를 265으로 설정하여 1M 스탭을 진행한 결과(BERT설정)이다. 전반적으로 NSP를 제외한 결과의 F1 스코어가 좀 더 높은 것을 확인할 수 있다.
→ 결론적으로 RoBERTa 사전 학습에서는 FULL-SENTENCES 설정을 사용해 학습을 진행했다.
DOC-SENTENCES의 성능이 실험 결과 더 좋은 것으로 나타나긴 했으나 하나의 문서로만 학습을 진행한 케이스는 문서의 끝자락에서 512 token보다 작은 경우가 발생하므로 batch-size를 동적으로 변화를 주면서 FULL-SENTECES의 실험환경과 최대한 비슷하게 하기 위한 변수가 추가되었다. 그러므로 일관된 512 token과 batch-size를 준수한 FULL-SENTENCES를 채택했다.
큰 배치 크기로 학습
BERT는 256 batch-size를 1M 스탭으로 학습한 모델이다. 하지만 RoBERTa는 여기서 batch-size를 위와 같이 크게 설정한 뒤 모델 스코어를 비교한 실험을 진행했다. 결론적으로 batch-size를 키우는 것이 성능 향상에 도움이 된다는 실험 결과를 보여주면서 배치 크기를 키우는 것이 학습 데이터 분포에 더 빨리 수렴하면서 성능도 향상시킬 수 있다고 주장한다.
byte-level BPE 토크나이저 사용
위 논문에서 언급한 바와 같이 텍스트 인코딩 과정에서 unicode characters 대신 byte-level에서 subword vocabulary를 구성하여 토크나이징을 진행하면 어떠한 다른 언어에 대한 토크나이징에서도 UNK에 대한 사전 정의 없이 바로 진행할 수 있음을 주장한다.
→ 그래서 기존의 BERT 모델의 vocabulary-size가 30k였지만 RoBERTa 모델은 50k로 증가한다.
'데이터사이언스 이론 공부' 카테고리의 다른 글
BERT의 파생모델 [SpanBERT] (0) | 2022.12.29 |
---|---|
BERT의 파생모델 [ELECTRA] (0) | 2022.12.26 |
BERT의 파생 모델 [ALBERT] (1) | 2022.12.20 |
BERT 모델에서의 임베딩 벡터 추출 방식에 관하여 (0) | 2022.12.17 |
하위 단어 토큰화 알고리즘 정리 (sub-word tokenize) (0) | 2022.12.14 |