hogbal 2022. 12. 6. 11:37

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의 성능을 향상시킨 모델이다.