
💡 Robustly optimized BERT approach
0. Abstract으로 부터 살 붙여서 논문 요약
RoBERTa 모델의 의의: BERT 모델의 훈련 과정과 설계에서 한계 보완
0.1 BERT 모델의 한계점
- 훈련 데이터와 훈련 시간 부족: BERT 모델의 훈련 시간과 데이터 양이 부족함 → BERT 모델 성능이 최적화 덜 된 체 학습 종료됨 ⇒ 더 많은 데이터와 훈련 시간이 주어진 경우 성능 향상할 수 있지 않을까?
- Next Sentence Prediction(이하 NSP) 목표 비효율: BERT는 NSP를 목표로 두 문장이 연속해서 등장하는지를 중점에 두고 훈련함 → 연구 결과에 따르면 NSP가 NLP 과제에 기여 X, 오히려 성능에 부정적인 영향!!
- 고정된 마스킹 패턴: 동일한 텍스트가 동일한 패턴으로 마스킹 되는 한계 → 데이터 다양성 반영 🔽 → 성능에 제약
0.2 RoBERTa의 목표 및 개선점
- 더 많은 데이터와 긴 훈련 시간 사용 → 더 깊이 있는 패턴 학습 and 다양한 NLP 과제에서 성능 향상(범용성 🔼)
- 데이터 처리: 기존 BERT에는 BookCorpus, Wikipedia 데이터셋 + CommonCrawl News(CC-NEWS), OpenWebText, Stories 추가 사용 → 약 160GB 텍스트 데이터로 훈련 → BERT에 비해 10배 데이터(데이터 양이 체고시다…)
- 학습 시간 증가: RoBERTa > BERT
- BERT: 100만 번 업데이트
- RoBERTa: 50만 업데이트 but 배치 크기 늘림 → 성능 최적화
- NSP 목표 제거 → 효율적인 훈련 and 일부 과제에서 오히려 성능 개선
- NSP 목표 제거 및 문장 의미 학습에 집중 → NLP 벤치마크에서 성능 향상
- GLUE: 다양한 데이터셋으로 NLP 평가. 9개의 하위 데이터셋으로 구성 → 문장 분류, 문장 간 관계 판단, 문장 의미 유사성 등 다양한 과제 포함
→ BERTLARGE, XLNetLARGE와 비교해서 9개 중 4개에서 최고 성능. 전체 평균에서도 최고
- SQuAD: 주어진 문서에서 질의응답. V1.1 → 모든 질문에 답이 있음. V2.0 답이 없는 질문도 있음
→ BERTLARGE, XLNetLARGE와 비교해서 모두 최고
- RACE: 중고등학생 상대 영어 독해 시험 데이터셋 → 주어진 지문에 선다형 문제. 긴 문맥, 복잡한 추론 및 질문
→ SOTA(2019 기준으로 논리 독해 최고)
- 동적 마스킹(Dynamic Masking) 사용 → 훈련 중 매번 새로운 마스킹 패턴 → 훈련 데이터에서 새로운 패턴 학습 가능
- 큰 배치(Batch) 크기과 긴 입력 시퀀스 → 모델이 한 번에 더 많은 데이터를 처리하고 더 긴 문맥을 학습 → 긴 문장과 복잡한 문맥을 다루는 능력 향상(우리(네부캠 ODQA 테스크) 같은 길고 복잡한 문맥에서 긍정적으로 작용할 듯?)
2. Background
2.1 기존 모델 논의
- ELMo: 문맥에 따라 단어 의미를 다르게 파악하여 성능 향상, 그러나 단방향 모델로서 문장 전체 맥락 파악에 한계
- GPT: 트랜스포머 모델을 활용한 단방향 언어 모델로 우수한 성능 → 양방향 정보를 충분히 활용하지 못함 → BERT에 비해 성능이 떨어짐
- 단방향 vs 양방향
단방향: 이전 시퀀스를 바탕으로 다음 시퀀스 예측
양방향: 이전/이후 시퀀스 전부 사용
- BERT: 위에서 지적한 내용
- XLM/XLNet: 다중 언어 또는 비순차적 학습 방법 → 일부 과제에서 BERT보다 좋음 → RoBERTa도 XLM/XLNet애 비비기 가능
2.2 기존 연구의 한계
- 훈련 데이터 양, 훈련 시간 부족 → 위에서 설명
- 하이퍼파리미터 최적화 부족 → 하이퍼파라미터 튜닝을 충분히 하지 않아 성능에 부정적인 영향이 있었음
한계 및 개선 방안
한계
- 고성능 GPU와 대규모 자원 필요 → 1024개의 V100 GPU를 사용해 하루 동안 사전 훈련을 진행
- 다양한 데이터셋에서 한계 → 일부 벤치마크에서 추가 데이터 미사용 시 성능 저하
ex) SQuAD 데이터셋: 다중 작업 미세 조정(multi-task-fine-tuning) 적용 안 함
- 동적 마스킹이 고정 마스킹에 비해 성능 향상 → 이를 넘어서는 성능 향상은 불가 → 추가 연구 필요하다고 함
개선 방안
- 더 길게, 더 많이! → 50만 번 돌려도 과적합 안 일어나네? → 추가 훈련 ㄱㄴ(어디까지 올라가는 거예요?)
- multi-task fine-tuning: 다른 최신 모델은 했는데 얘만 안함 → RoBERTa에 적용해서 성능 향상 ㄱㄴ
- 데이터셋 크기와 다양성이 성능에 미치는 영향 → 몰루? 연구 필요 특히 두 요소를 분리해서 각각의 영향력 연구하는 것이 중요함!