Original Paper (Arxiv) : RoBERTa (https://arxiv.org/pdf/1907.11692)
입력 텍스트의 15%를 랜덤으로 마스킹한다.
해당 토큰들 이외에 다른 토큰에 대한 예측은 무시한다.

[그림1] Masking 후 출력되는 과정 (출처 : BERT 논문 발췌)
다음에 올 문장을 예측하는 과정으로, 2개의 문장을 준 후에 서로 이어지는 문장인지 아닌지를 맞추는 방식이다.
1. 실제 이어지는 2개의 문장 & 랜덤으로 이어붙인 2개의 문장 input


2. segment embedding
[CLS] He went to school [SEP] He studied math [SEP]
[CLS], [SEP]도 Segment A, B 중 하나로 처리3. transformer encoder 통과
두 문장의 정보를 종합한 벡터를 계산한다.
4. 앞서 Masked 벡터만 가져와서 softmax에 넣은 것처럼 [CLS] 벡터를 softmax에 넣어서 확률 출력

[그림2] NSP classifier (출처 : 딥러닝을 이용한 자연어 처리 입문 - 17장 https://wikidocs.net/115055)
- "YES" (1) → 문장 A와 B가 실제 연속된 문장 - "NO" (0) → 문장 A와 B가 랜덤하게 선택된 문장5. 손실함수 계산 및 학습
y_hat과 y를 비교하여 Cross-Entropy Loss 계산한다.
📌 왜 BERT를 재학습할 필요가 있었는가?
BERT의 성능은 모델 구조 때문이라기보다는, 학습 설정과 데이터 양, 마스킹 전략 등 다양한 요소에 의해 좌우된다는 연구들이 잇따라 등장하였다.
- NSP가 실제로 downstream task에서 유의미한 역할을 하는지
- 고정된 마스킹 방식(static masking)은 충분히 다양한 문맥을 모델이 접하지 못하게 한다는 한계
RoBERTa는 BERT의 모델 구조, 즉 Transformer encoder는 동일하게 가져가지만, 학습 과정과 데이터, 마스킹 전략, objective 등 사전학습의 모든 구성요소를 재설계하였다.
🧠 핵심적인 변경사항
1. NSP 제거: 문장 간 관계 예측을 위한 NSP task를 제거
2. Dynamic Masking: 학습 중 각 배치마다 다른 마스킹을 적용하여 다양한 문맥을 학습
3. 10배 이상 큰 데이터: BookCorpus 외에도 CC-News, OpenWebText 등 총 160GB 이상의 데이터를 사용
4. 더 큰 배치 사이즈, 더 긴 학습 시간: 학습 배치 사이즈를 8k로 늘리고, 학습 스텝도 최대 1.5M까지 증가시킴
이러한 변화들을 통해 RoBERTa는 GLUE, SQuAD, RACE 등 다양한 벤치마크에서 BERT를 압도하며, 단순한 구조 변경보다 학습 전략 최적화의 중요성을 부각시켰다.
BERT는 NLP 분야에 큰 성과를 가져다주었지만, 그 학습 설정은 최적이 아니었을 수 있으며, 구조보다는 설정의 한계일 수 있다는 문제를 제기한다.
📌 주요 의문
- NSP가 downstream task 성능에 기여하는가?
- 고정된 마스킹 방식은 문맥 다양성을 제한하지 않는가?
- 더 많은 데이터와 연산량이 주어졌다면 더 좋은 성능이 가능했을까?
해당 목차에서는 BERT의 사전훈련 접근 방식과 훈련 과정에서 선택한 설정에 대해 이야기한다.
BERT는 입력으로 두 개의 segment를 [CLS], [SEP] 등 특수 토큰과 함께 연결하여 처리한다. Segment는 일반적으로 하나 이상의 문장으로 구성되며, 전체 시퀀스 길이는 최대 길이 T 이하로 제한된다. 사전학습은 라벨 없는 대규모 텍스트로 진행되며, 이후 다운스트림 태스크에 대해 파인튜닝된다.
BERT는 Transformer 인코더 아키텍처를 사용한다.
구성
- L: 레이어 수
- A: self-attention head 수
- H: hidden dimension
RoBERTa는 BERT와 동일한 아키텍처를 사용하며, base 모델은 110M, large 모델은 355M 파라미터를 가진다.
- optimizer: Adam (β1=0.9, β2=0.999, ε=1e-6), weight decay=0.01
- learning_rate: warm-up 후 선형 감소 (peak=1e-4)
- dropout: 0.1, activation: GELU
- max seq length = 512, batch size = 256, 총 1M step 학습
- FAIRSEQ 프레임워크로 BERT 재구현
- 일부 하이퍼파라미터 (learning rate, warmup step, Adam ε 등)는 별도 튜닝
- full-length sequence만 사용 (short sequence 사용 안함)
- mixed precision, 1024 V100 GPU 기반 분산 학습
총 160GB 이상의 영어 코퍼스
- BookCorpus + Wikipedia (BERT와 동일): 16GB
- CC-News: CommonCrawl 뉴스 데이터 (76GB)
- OpenWebText: Reddit 링크 기반 웹 텍스트 (38GB)
- Stories: story-like 스타일 (31GB)
3개의 벤치마크 사용
- GLUE: 9개의 자연어이해 태스크 포함
- SQuAD 1.1/2.0: span prediction (2.0은 unanswerable 포함)
- RACE: 중고등학생용 시험에서 추출된 100,000개의 질문 포함
BERT
마스킹된 토큰의 위치가 학습 전에 고정(static)되어 있으며, 학습 도중 동일한 마스크 조합만 사용된다.
RoBERTa
dynamic masking 방식을 도입하여 각 학습 step마다 새로운 마스킹 위치를 샘플링한다. 이렇게 하면 모델이 보다 다양한 문맥을 접할 수 있으며, 단일 예제에 대해서도 더 넓은 분포의 예측 패턴을 학습할 수 있게 된다.
실험 결과, dynamic masking이 static masking보다 SQuAD 및 GLUE 태스크에서 약간의 성능 향상을 보였으며, 특히 계산 효율성 측면에서도 동적 마스킹이 유리한 것으로 나타났다. 따라서 RoBERTa는 기본적으로 dynamic masking을 채택하였다.
RoBERTa는 NSP의 제거가 성능에 미치는 영향을 분석하기 위해 다양한 입력 포맷을 실험했다.
결과적으로 NSP를 제거한 FULL-SENTENCES 또는 DOC-SENTENCES 방식이 NSP를 유지한 방식보다 MNLI, RACE 등에서 더 좋은 성능을 보였다. 이는 NSP가 사전학습 효율에 기여하지 않으며, 오히려 더 많은 양의 시퀀스를 활용하는 것이 성능 향상에 유리하다는 것을 보여준다.
RoBERTa는 batch size 증가가 학습 효율과 성능에 미치는 영향을 분석했다.
실험
결과
이러한 실험은 대규모 GPU 자원이 있다면 더 큰 배치와 더 긴 시퀀스를 활용하는 것이 효과적이라는 점을 실증적으로 보여준다.
RoBERTa는 텍스트 전처리 방식에도 변화를 주었다. 기존 BERT는 character-level BPE vocabulary (30K)를 사용했지만, RoBERTa는 byte-level BPE vocabulary (50K)를 사용하였다.
byte-level BPE vocabulary
- 모든 문자를 byte 단위로 처리하기 때문에 텍스트 전처리의 복잡도를 줄이고, 다양한 언어 및 특수 문자 표현에 보다 유연하게 대응 가능
- 실험 결과 char-level BPE에 비해 성능 차이는 거의 없었으나, 확장성과 범용성이 뛰어나 기본 설정으로 채택되었다.
RoBERTa는 Section 4에서 분석한 모든 요소를 반영하여 구성된 최종 모델이다.
주요 특징
- Dynamic masking 적용
- NSP 제거 (FULL-SENTENCES 방식 채택)
- Large batch training (최대 8K)
- Byte-level BPE 사용
- 160GB 대규모 텍스트 데이터
- 최대 500K step 이상 학습
GLUE 벤치마크에서 RoBERTa는 9개 모든 태스크에서 BERT, XLNet을 상회하는 성능을 기록했다. 특히 MNLI, RTE, QNLI, SST-2 등 다양한 영역에서 높은 정확도를 보였다. 실험에서는 single model 기준이며, ensemble 없이도 SOTA 성능을 기록했다.
또한 RoBERTa는 MNLI에서 학습한 모델을 RTE, MRPC 등 다른 태스크에 전이하여도 좋은 성능을 보여 transfer learning 효과도 탁월했다.
RoBERTa는 SQuAD 1.1과 2.0에 대해 데이터 증강 없이 fine-tuning만으로 최고 성능을 달성했다.
이는 당시 기준 모든 모델을 능가하는 성능으로, pretraining 설정만 변경해도 큰 성능 향상이 가능함을 보여준다.
RACE 데이터셋은 지문, 질문, 보기, 네 개 중 정답을 고르는 다지선다 문제이다. RoBERTa는 입력 시 passage, question, 각 candidate를 연결하여 4-way classification을 수행했다.
결과
- RoBERTa-large: 전체 Accuracy 83.2%
- BERT-large 대비 약 11.2%p 향상 (BERTLARGE 72.0%)
- XLNet-large 대비 1.5%p 향상 (XLNetLARGE 81.7%)
특히 RACE-Middle과 RACE-High 두 하위 데이터셋 모두에서 가장 우수한 성능을 기록했다.