RoBERTa
는 기존의 BERT
를 활용한 모델에서 hyper paramter에 대한 실험이 제대로 진행되지 않았기 때문에 기존의 BERT
모델을 유지하면서, 학습 단계의 hyper parameter들을 조정하여 성능을 높이는 방법을 공개했다.
Dynamic Masking
기존의 BERT
의 pre-training에서 사용한 MLM
은 주막위로 token에 mask를 씌워서 예측하는 방식이다. 그리고 이러한 mask를 학습을 시작하기 전에 씌우기 때문에 학습단계에서 똑같은 mask를 보게 된다. 하지만 이러한 문제점을 해결하려고 기존의 BERT
는 같은 문장을 여러번 복사한뒤 mask를 씌움으로써 해결하려고 했다. 하지만 이는 비효율적이다.
그렇기 때문에 RoBERTa
에서는 epoch마다 mask를 새로 씌우는 dynamic masking을 사용했다. 매번 masking을 새로하니 학습시간은 늘어나지만 메모리를 아낄수 있었고 더 좋은 성능을 보여줬다.
NSP
또한 기존의 BERT
는 두 개의 문장을 이어붙여 input을 만들었고 두 문장이 문맥상으로 연결된 문장인지 판단하는 NSP를 pre-training에 사용했다. 하지만 RoBERTa
는 NSP에 의문을 제기하여 NSP 없이 MLM만으로 pre-training을 했다. 실험결과 NSP가 없을때 기존의 BERT
보다 더 좋은 성능을 보였다.
Batch Size
RoBERTa
는 batch size에 대한 연구도 진행했다. 결과적으로 batch size가 크면 클수록 완전한 비례관계는 아니였지만 성능이 좋아지는 것을 확인할 수 있었다.
결과
RoBERTa
모델은 BERT
와 큰차이가 없고 pre-training에서 NSP
를 사용하지 않았다는 점과 학습할 때 Dynamic Masking
를 적용했다는 점이 다르다. 또한 다양한 hyper parameter를 바꿔가면서 BERT
의 성능을 향상시킨 모델이다.