본문 바로가기
딥러닝

Pretrained Language Model 정리2

by 방구석 데이터사이언티스트 2022. 10. 9.
728x90
반응형

[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번 보게 되는 것이다.

 

728x90
반응형

댓글