호돌찌의 AI 연구소
article thumbnail
Published 2021. 11. 5. 19:00
Pretrained Language Model - 13. RoBERTa AI/NLP

BERT를 Robust 하게 최적화하는 방법에 대해서 논의해보려고 합니다. 정말 사랑받는 모델인 BERT이지만, 학습하는데 많은 시간과 돈이 들었는데, 정말 hyperparameter가 잘 최적화가 되었는가에 대한 의문으로부터 출발합니다. 

 

1. RoBERTa vs BERT

- BERT보다 10배 이상 더 많은 데이터를 더 오래오래 학습시켰습니다. 

- 안그래도 말 많은 NSP task, 불필요하다고 판단하여 제거를 하였습니다.

- 모든 샘플들에 대해 Max sequence length를 512로 맞춰서 구성하였습니다. 길게 길게 입력을 주었습니다. 

- 기존 BERT에서는 Pretrain 데이터에 대해서 masking을 정적으로 해놓고 들어가는데(한번 빈칸 뚫고 그냥 쭈욱 진행했다는 점), RoBERTa는 동적으로 masking 하는 패턴을 바꾸어 학습을 시킵니다. 

 

2. Results

 

 

- static보다 dynamic하게 masking 했을 때 성능이 크게 오른 건 아니지만 개선이 있었습니다. 

 

 

- 미니배치 사이즈와 Step size도 크면 클수록 좋았다는 것을 알 수 있습니다. 

 

 

- max sequence length를 512로 fix 하고 NSP가 있는지 없는지 비교를 해봤을 때, NSP 안 써도(2번째 without NSP loss) 성능이 비슷하거나 더 좋았다는 것을 알 수 있습니다. (with NSP loss에서 SEGMENT-PAIR 부분이 기존 BERT입니다.)

 

 

- 데이터 셋과 학습 기간에 대한 비교표입니다. BERT(18.10), XLNET(19.06) 보다 더 좋은 성능을 나타났음을 알 수 있습니다. BERT보다 훨씬 복잡한 XLNET보다 더 간단하고 좋은 방법이 RoBERTa임을 알 수 있습니다.

 

 

 

 

3. 정리

BERT이후에 여러 논문이 나왔지만, 기존 BERT는 Underfitting 된 모델이며 더 최적화가 필요하다 여겼습니다. 아래 방법을 고안을 한 것이 RoBERTa입니다.

 

① Masking을 Dynamic 하게 구성하여 MLM Task의 성능을 올린다. 

② NSP Task 제거하고 더 긴 문장으로 학습한다.

③ 더 많은 데이터, 더 큰 배치, 길이 확장하면 성능이 오른다. 

 

충분히 BERT 사상에서 방법을 조금 바꾸어서 좋은 성능을 낼 수 있다는 이야기입니다. 충분히 여러 다른 PLM모델들도 많이 있지만, 더 복잡하거나 더 많은 데이터를 부어서 나타난 결과이지만 가성비 측면에서는 좋지 않습니다. 가성비가 최고라고 할 수 있는 것이 RoBERTa라고 할 수 있습니다. 다음 시간에는 BART에 대해서 이야기해보겠습니다. 

profile

호돌찌의 AI 연구소

@hotorch's AI Labs

포스팅이 도움이 되셨다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!