Paper: RoBERTa: ARobustly Optimized BERT Pretraining Approach
ELMo, GPT, BERT, XLM, XLNet과 같은 기존 Self-training methods는 성능 향상을 크게 이루었지만, 이 성능 향상의 원인이 어떤 부분인지 단정짓기는 어려움.
또한, Training 시에 비용이 너무 많이 들고, 학습 데이터 size가 정말 다양하고 비공개적이라는 점은 모델링 기법의 효과를 측정하는 데에 한계로 작용함.
BERT의 pretrainig 방식을 재현할 수 있는 연구를 진행했고, 분석 결과 BERT가 충분히 학습되지 않는다는 것을 확인함.
따라서, 본 논문에서는 BERT를 개선한 모델 RoBERTa를 제안하고자 함.
<RoBERTa의 주요 변경 사항>
(1) training the model longer, with bigger batches, over more data
: 더 길게, 더 큰 배치 사이즈, 더 많은 데이터를 사용하여 모델을 trainig
(2) removing the next sentence prediction objective
: NSP(Next Sentence Prediction) objective를 제거하여서 성능을 향상시킴
(3) training on longer sequences
: 더 긴 시퀀스를 training에 사용
(4) dynamically changing the masking pattern applied to the training data
: training data에 적용되는 masking pattern을 다양하게 변경
(5) collect a large new dataset (CC-NEWS)
: 새로운 large dataset(CC-NEWS) 구축
<RoBERTa의 주요 기여점>
(1) BERT의 중요한 전략을 분석하고 개선하여 더 나은 성능을 구현할 수 있도록 함
(2) 새로운 데이터셋 활용을 통해 사전 학습 데이터를 늘리는 것이 성능 향상에 도움을 줌을 확인
(3) 설계 선택을 올바르게 진행하여 training 한다면, 최근 발표된 모델들과 충분히 경쟁 가능한 수준임을 입증함
BERT의 pre-training 방식 및 training choice
BERT는 2개의 segment(sequences of tokens)를 하나의 sequence로 결합하여 처리함.
2개의 segment는 하단과 같이 special token을 포함한 단일 입력 sequence로 BERT에 제공됨.

BERT는 먼저 large unlabeled text data로 pre-training 됨.
그 후, end-task labeled data를 사용해서 fine-tuning 됨.
BERT는 많이 사용되는 transformer architecture 기반.
L개의 layer로 구성된 transformer architecture 사용.
각 block은 A개의 self-attention heads와 H차원의 hidden dimension 포함.
BERT는 pre-training 시 하단 두 가지 objective 사용
1. MLM(Masked Language Modeling)
input sequence에서 random으로 일부 token을 선택해서 [MASK] token으로 대체 후, 이걸 예측하도록 모델 훈련 진행.
Masked tokens 예측 시 cross-entropy loss를 사용함.
input token 중 15%를 select해서 masking 진행.
이 15% 중의 80%는 [MASK]로 대체되고,
10%는 unchanged하게 남겨지고,
10%는 random하게 selected된 vocabulary token으로 대체됨.
2. NSP(Next Sentence Prediction)
두 문장이 원래 연속되는 문장인지 아닌지를 예측하는 binary classification 작업.
이때, positive/negative examples의 비율은 50:50으로 sampling 됨.
두 문장 간의 관계를 잘 파악할 수 있도록 하기 위해 만들어진 작업으로, NLI(자연어 추론) 같은 task의 성능 향상을 이루어 내고자 함.
BERT는 Adam Optimizer을 사용하여 학습됨.
<하이퍼 파라미터>
BERT Data는 하단과 같이 구성
해당 부분에서는 BERT replication setup 설명
FAIRSEQ 라이브러리 사용하여 BERT replication 진행.
최대 학습률(peak learning rate) & 워밍업 스텝 수(warmup steps)는 별도로 조정함.
Adam optimizer의 경우, 입실론 값이 sensitive하다는 점을 발견함.
때문에, 입실론 값을 좀 더 조정하여 좋은 성능과 안정성을 얻고자 했음.
또한, large batch size에서 β2 값을 0.98로 설정하여 안정성이 향상됨을 확인할 수 있었음.
기존 원래 BERT 모델과는 다르게,
최대 sequence 길이 T=512 token으로 pre-training 실시.
randomly short sequences를 삽입하지 않았고,
학습 시작 후 90% 동안은 시퀀스 길이를 줄여서 학습하지 않음.
즉, 항상 full-length 시퀀스로 학습 진행했다는 것.
BERT에서는 large quantities of text가 필요함.
데이터 size를 increase하면, 최종 성능(end-task)가 향상될 수 있다고 함.
기존 BERT 연구에서 사용된 데이터 중 일부가 비공개이기 때문에, 본 연구에서는 최대한 많고... 다양한 데이터 수집하여 실험 진행함.
(다양한 size와 도메인의 5가지 영어 데이터셋 사용/160GB)
(BOOKCORPUS, WIKIPEDIA, CC-NEWS, OPENWEBTEXT, STORIES)
GLUE, SQuAD, RACE를 사용하여 성능 평가를 진행함.
BERT pre-training에서 중요한 요소들 분석 및 평가하는 부분.
BERT_BASE 모델과 같은 구성으로 BERT 학습
(L=12, H=768, A=12, 110M params)
기존 BERT는 Static Masking 방식이었음.
데이터 전처리 단계에서 masking 1번만 수행!
따라서, 같은 문장이 여러 번 학습되어도, 동일한 token이 반복해서 masking 되었던 구조.
해당 한계를 극복하기 위해 training data를 10번 중복해서 저장(동일한 문장이 10가지의 다른 방식으로 masking되는 형태) 후 40epoch 동안 학습되어서, 각 sequence는 같은 masking pattern으로 4번 반복 됨.
매번 input sequence를 모델에 전달할 때마다 새로운 masking pattern 생성.
즉, 훈련 때 마다 새로운 pattern으로 학습해서, 더 많은 학습 스텝/더 큰 dataset에서 효과적인 학습 가능

결과적으로, Dynamic Masking 방식이 좀 더 높은 성능을 도출해냄을 확인할 수 있었음.
따라서, 향후 실험에서 Dynamic Masking 방식을 사용하고자 결정함.
최근 일부 논문에서는 NSP가 반드시 필요하지는 않다고 밝혀짐.
따라서, 여러 input format을 고려하여 비교 실험을 진행함.
(1) SEGMENT-PAIR+NSP
(2) SENTENCE-PAIR+NSP
(3) FULL-SENTENCES
(4) DOC-SENTENCES

결과적으로,
SENTENCE-PAIR를 사용하면 downstream task 성능이 저하됨을 확인.
문서 경계를 유지하는 DOC-SENTENCES가 성능이 가장 좋았으나,
실험의 비교 일관성을 유지하기 위해(DOC-SENTENCES 방식이 Batch size가 변동되는 문제가 있음) 향후 FULL-SENTENCES 방식을 사용하고자 함.
large batch 학습이 속도/성능 방면에서 기여를 함을 확인.
BERT에도 해당 방법이 적합함을 확인.
기존 BERT_BASE는 1M step 동안 배치 size = 256으로 학습됨.
배치 size를 2K로 늘리면, 학습 step은 125K step,
8K로 늘리면 31K step으로 연산량을 유지하면서 학습 가능.
즉, batch size가 증가할수록, 학습 step은 줄어들지만, 전체 연산량은 동일함.

결과적으로, 배치 size를 증가시키면 MLM perplexity가 줄어들고, downstream task 성능이 향상됨.
large batch는 distributed training(분산 학습)에서 병렬화하기 쉽기에,
향후 연구에서는 8K batch size를 사용하기로 결정.
BPE(Byte-Pair Encoding)는 문자 기반 표현 & 단어 기반 표현의 중간 형태(hybrid between character- and word-level rep
resentations)임.
전체 단어를 사용하지 않고, subword 단위로 분할하여 학습하며, 자연어 데이터에서 흔하게 나타나는 large vocabularies 문제를 해결하기 위해 사용됨.
일반적으로 BPE vocab size는 10K~100K subword 단위로 구성되지만, 유니코드 문자가 많아지면 불필요한 어휘가 많아질 수 있음.
따라서, 유니코드가 아닌 bytes 단위를 subword의 기본 단위로 사용하고자 하는 'byte-level BPE' 도입.
이를 통해, subword vocab size를 상대적으로 작은 50K로 유지할 수 있으며, 어떠한 input text도 인코딩 가능하며, unknown token을 도입하지 않아도 됨.
기존 BERT에서는 문자(character) 기반 BPE를 사용하였고, vocab size는 30k였음.
다만, 본 연구에서는 byte 기반 BPE이기에, vocab size를 50k로 늘리고, input 시에 별도 전처리 없이 바로 BPE로 변환하여 학습함.
초기 실험 결과, 바이트 기반 BPE가 일부 task에서 성능 저하가 일어남. 다만, universal한 인코딩 방식의 장점이 더 큰 부분을 차지한다고 판단했기에, 향후 모든 실험에서 바이트 기반 BPE 사용하기로 함.
앞서 제안된 기존 BERT의 개선 사항을 모두 고려하여 좀 더 향상된 모델을 RoBERTa(Robustly optimized BERT approach)라고 함.
(1) Dynamic Masking
(2) FULL-SENTENCES 방식 사용
(3) large mini-batches 사용
(4) Byte-level BPE 적용
(5) pre-training data size 추가 분석(기존 BERT에서 덜 강조)
(6) data 반복 학습 횟수 분석(기존 BERT에서 덜 강조)
BERT_LARGE 아키텍처를 유지하여 초기 실험 진행
↑ RoBERTa vs BERT_LARGE
결과적으로 RoBERTa는 BERT_LARGE보다 성능이 크게 향상된 것을 확인할 수 있음.
또한, 학습 step을 100K → 300K → 500K로 증가시키면서 성능을 비교하였고, 결과적으로 학습 step이 증가할수록, downstream task 성능이 향상됨을 확인할 수 있었음.
GLUE 벤치마크 평가를 위해 single-task 설정과 앙상블 설정을 사용함.

결과적으로, single-task에서는 GLUE의 9개 set에서 모두 최고 성능을 기록함.
앙상블 task에서는 9개 set 중 4개에서 최고 성능을 기록함.
특히, RoBERTa는 single-task만으로도 성능이 최고 수준이라는 점.
기존 연구보다 좀 더 simple한 approach를 진행.

결과적으로, SQuAD v1.1에서는 XLNet이 기록한 최고 성능과 동일한 점수를 기록함.
SQuAD v2.0에서 또한 새로운 최고 성능을 기록함.
추가적인 데이터 없이 학습한 모델 중에 SQuAD 리더보드에서 최고의 성능을 구현해 냄.
passage 1개, question 1개, 선택지 4개가 주어지고, 모델이 올바른 정답을 classify하도록 함.

결과적으로, RoBERTa는 middle-school, high-school dataset 모두에서 최고 성능을 기록함.
BERT 모델 pre-training 시에 중요한 사항들을 심층적으로 평가했으며,
주요 성능 향상 요인은 하단과 같다고 판단했음.
(1) Longer training
(2) Larger batche size
(3) Longer sequences
(4) More data
(5) Remove NSP
(6) Dynamic masking pattern
=> 이것이 RoBERTa!
이는 GLUE, RACE, SQuAD 벤치마크에서 높은 성능을 기록하였으며, BERT라는 학습 방법이 여전히 강력한 모델임을 시사함.