논문

RoBERTa: A Robustly Optimized Bert Pretraining Approach

Frog Photo Developer 2021. 3. 29. 19:13

Abstract

  • pretrain 언어모델은 중요한 효과를 얻을수있도록 이끌어왔다 하지만 다른 방법들과의 비교는 조심스러운 도전이다.
  • 학습을 하는것은 계산량이 많이들고, 종종 다른사이즈의 개인 데이터셋에서 작동하며, 하이퍼파라미터의 선택은 최종결과에 중요한 효가를 미친다
  • 하이퍼파라미터와 학습데이터 사이즈를 조절하여 조심스럽게  양을 조절한 BERT pretraining의 복제 연구를 소개한다.
  • 버트는 상당히 덜 이해되었으며, 이후에 발표된 모든 모델의 성능이 비슷하거나 초과하는 것을 발견하였다.
  • RoBERTa는 GLUE, RACE, SQuAD에서 최고 점수를 달성하였다.
  • 이러한 결과는 이전에는 간과 되었던 설계선택의 중요성을 강조하고, 최근에 보고된 개선점의 소스에 대해 의문을 제기한다.

1. Introduction

  • BERT의 하이퍼파라미터를 튜닝 효과와 학습데이터 셋의 사이즈의 영향에 대해 미세한 평가를 포함하는 BERT의 복제연구를 제시
  • 버트는 상당히 덜 이해되었으며, 이후에 발표된 모든 모델의 성능이 비슷하거나 초과하는 것을 발견하였고 RoBERTa라고 부르는 개선된 방법의 BERT모델의 학습을 제공한다, 이것은 BERT이후의 모든 성과를 초과하거나 비슷하다.
  • BERT대비 단순한 변경점

(1) 배치사이즈를 크게하고 모델의 학습을 길게, 더 많은 데이터 를 사용

(2) NSP 제거 ( removing the next sentence prediction objective )

(3) 길이가 긴 시퀀스를 학습

(4) 동적인 마스킹(masking) 패턴을 사용하여 데이터를 학습

(5) 새로운 대용량 데이터셋 CC-NEWS 사용

 

  • GLUE leaderboard(MNLI, QNLI, RTE, STS-B) : 88.5
  • SQuAD and RACE :  비슷한 결과

 

  • In summary

(1) BERT의 중요한 설계 선택과 학습방법과 이전 시스템보다 개선된 방법을 소개한다.

(2) novel dataset CC-NEWS 사용

(3) masked language model pretraining 을 개선하였다.

 

3.Experimental Setup

  • Implementation
  • warmup stemp 에 따라 learning_rate를 선택함
  • Adam optimizer 사용 $\beta$2 = 0.98, sequence길이는 최대 512

 

3.2 Data

  • 총 160GB의 5개의 영어 데이터셋
  • BookCorpus + WIKIPEDIA (16GB)
  • CC-NEWS 뉴스데이터의 일부를 크롤링하여 영어데이터 수집 63만개의 영어뉴스 본문, 2016년 9월부터 2019년 2월사이의 뉴스 본문 데이터크롤링 (76GB)
  • OpenWebText 오픈소스를 개량하여 배포한 웹문서코퍼스, Reddit에서 최소 3개의 찬성(좋아요?)을 받은 공유딘 URL의 웹문서 추출 (38GB)
  • Stories, Stroy data,Winograd schema의 스토리같은 스타일과 비슷하도록 필터링된 크롤링데이터의 하위집합이 포함되어있음. (31GB) (이해가 잘안됨)

 

3.3 Evaluation

  • GLUE, SQuAD. RACE를 사용하여 모델을 평가함

 

4. Training Procedure Analysis

 

4.1 Static vs. Dynamic Masking

  • BERT는 랜덤 마스킹과 토큰을 예측한다.
  • 트레이닝시 각epochs마다 같은 mask를 사용하는것을 방지하기 위해, 학습데이터를 10개를 복사하고 각시퀀스는 10개의 다른 방법(토큰)을 마스킹하여서 총 40 epoch를 학습한다. ( 한개의 masking 당 4번의 epoch수행)

Bert Base와 RoBERTa static masking and dynamic masking 비교

 

 

4.2 Model Input Format and Next Sentence Prediction

 

  • BERT pretraining 절차에서 별개의문서나 비슷한문서로부터 연속적으로 샘플링된 두개의 문서(document)를 concatenated한다.
  • 추가적으로 mask language modeling objective를 사용하고, BERT는 문서 세그먼트가 NSP loss를 통해 유사하거나 별개의 문서 인지를 예측하도록 학습되어진다,  
  • Devline et al.(2019) 에서 NSP를 제거함으로써 QNLI, MNLI, SQuAD 1.1에서 성능이 크게 저하되는것을 관찰함.
  • 하지만 최근 몇몇 연구에서 NSP loss의 필요성에 대해 의문을 제기해왔다.
  • SEGMENT-PAIR+NSP : BERT의 입력포맷과 NSP loss를 그대로 사용함, 각 입력은 세그먼트 쌍을 가지며,각 입력은 여러 자연어 문장을 포함한다. segment의 총 길이는 512보다 작아야 한다.
  • SENTENCE-PAIR+NSP: 각각의 입력은 하나의 문서의 연속적인 일부 또는 별도의문서로부터 샘플링 된 자연어 문장쌍이 포함된다. 전체 길이는 512개의 토큰보다 현저히 짧기때문에 배치사이즈를 늘려서 토큰의 총수가 SEGMENT-PAIR+NSP와 비슷해지도록 한다.
  • FULL-SENTENCES : 하나의 문서또는 더많은 문서로 부터 연속된 전체 문장을 입력으로 사용한다. 전체길이는 최대 512개이다. 문서의 경계도 포함 하여 입력, 입력시 다음문서로의 시작시 문서사이 구분자를 넣어 구분을 함 NSP loss는 제거
  • DOC-SEGMENTS : 문서의 경계없이 하나의 문서만을 입력 입력은 512토큰 이하가 되어야됨 ( NSP없이 하나의 문서만 )

 

NSP를 포함한 BERT와 NSP를 사용하지않은 roberta test비교

  • 개별문장을 사용하는것에서 성능을 손상 시키는것을 발견함( 모델이 넓은 범위(거리)의 의존성을 학습할수 없기때문)
  • NSP가 성능을 약간 향상시키거나 비슷한 성능을 냄 ( 효과가 미미함 
  • DOC-SENTENCES가 성능이 약간 우수하지만 다양한 사이즈의 batch적용을 위해 FULL_SENTENCES(multiple document) 사용

4.3 Training with large batches

  • 대규모 배치도 분산 데이터 병렬 훈련을 통해 병렬화하는 것이 더 쉬우며, 이후 실험에서 우리는 8K 시퀀스를 사용하여 훈련한다.

 

Large batch Training

4.4 Text Encoding

  • BPE(Byte-Pair Encoding) 사용

5. RoBERTa ( Robustly optimized BERT approach )

  • 다이나믹 마스킹
  • full sentence without NSP
  • 큰사이즈의 mini batch 학습
  • larger byte-level BPE
  •  
  • BERTLAGE 아키텍처(L = 24, H = 1024, A = 16, 355M 파라미터)와 동일한 파라미터로 RobERTA를 학습
  • BOOKCORPUS와 위키백과 데이터 세트에 대해 100K step을 사전 훈련

RESULT

동일한(조건?)으로 ROBERTA 다른 모델 비교

 

 

GLUE
SQuAD
RACE