본 논문에서 제안된 XLNet은 기존 BERT가 가진 한계(Pretrain–Finetune discrepancy, Independence Assumption Problem)를 극복하기 위해 제안된 일반화된 Autoregressive 사전학습 기법을 적용한 모델이다. 핵심 아이디어는 Permutation Language Modeling으로, 문장의 토큰 순서는 유지하되 확률 분해 순서를 무작위로 섞어 학습함으로써, AR 구조임에도 양방향 문맥을 학습할 수 있도록 한다. 이를 위해 XLNet은 two-stream self-attention을 도입하여 content stream은 문맥 표현을, query stream은 예측 전용 표현을 담당하게 함으로써 자기 자신을 직접 보지 않고도 예측 가능하게 설계하였다. 또한 Transformer-XL의 segment recurrence와 relative positional encoding을 결합하여 긴 문맥에서도 안정적인 학습을 지원한다. 실험적으로 XLNet은 GLUE, SQuAD, RACE 등 다양한 벤치마크에서 BERT와 RoBERTa를 능가하며, 언어 이해 전반에서 새로운 성능 기준을 제시하였다.
1. Introduction
NLP 분야에서 Unsupervised pretraining 은 크게 두 가지 방법이 발전해왔다.
- Autoregressive (AR) Language Modeling – 문장을 왼쪽에서 오른쪽(또는 반대)으로 순차적으로 예측하는 방식. GPT 계열이 대표적이다.
- Autoencoding (AE) – 입력을 일부 손상시킨 뒤(ex. Word Masking) 원래 문장을 복원하는 방식 → 대표적으로 BERT가 있다.
BERT는 양방향 문맥을 활용할 수 있다는 강점 때문에 당시 NLP 여러 과제를 압도했지만, 두 가지 문제점이 있었다.
- Pretrain–Finetune discrepancy : 학습 시 [MASK] 토큰이 들어가는데 실제 Downstream Task에는 존재하지 않는다.
- Independence Assumption Problem : 마스크된 단어들을 서로 독립적으로 복원한다고 가정하여, 실제 언어에 존재하는 복잡한 상호의존성을 반영하지 못한다.
XLNet은 이 두 접근법의 장점을 결합하고, 단점을 극복하기 위해 제안되었다. 핵심 아이디어는 다음과 같다:
- Permutation Language Modeling: 모든 가능한 factorization 순서를 고려하여 log likelihood of a sequence를 최대화함으로써, 양방향 문맥을 학습할 수 있도록 한다.
- Autoregressive 구조 유지: [MASK] 토큰 없이 학습하므로, pretrain과 finetune의 불일치를 피할 수 있다.
- Transformer-XL의 통합: 긴 문맥을 다룰 수 있도록 Segment Recurrence와 Relative Positional Encoding을 결합한다.
2. Proposed Method
2.1 AR LM vs BERT 비교
- AR LM: 순방향 또는 역방향으로 확률을 분해한다. 항상 올바른 확률모형을 가지지만, 문맥은 한쪽 방향만 사용한다.
- BERT: 입력을 손상시키고 복원하는 Denoising AE. 양방향 문맥을 활용하지만, [MASK] 토큰 때문에 finetune 시 불일치 발생, 또 독립성 가정이 필요하다.
2.2 Permutation Language Modeling
XLNet의 핵심은 순서 무작위화(permutation) 이다.
- 문장의 토큰 순서는 그대로 유지하지만, 어떤 순서로 예측할지의 factorization 순서를 바꾼다.
- 모든 순서를 고려하면, 각 위치는 양쪽 문맥을 모두 학습하게 된다.
- 이는 AR 구조 안에서 구현되므로, 독립성 가정이나 [MASK] 문제를 피할 수 있다.
2.3 Two-Stream Self-Attention
Permutation LM에서 중요한 점은 예측할 타겟 토큰의 정보가 입력에 섞이지 않아야 한다는 것이다.
이를 위해 XLNet은 두 가지 Stream을 분리한다.
- Content Stream (h): 일반적인 Transformer hidden state, 실제 단어 내용 포함.
- Query Stream (g): 타겟 위치는 알지만 해당 단어 내용은 모른 채 주변 문맥만 본다.
이 구조 덕분에 모델이 자기 자신을 “훔쳐보는” 문제를 막을 수 있다.
2.4 Transformer-XL 통합
- Segment Recurrence: 이전 문맥(hidden state)을 메모리로 캐싱하여 긴 텍스트도 처리 가능.
- Relative Positional Encoding: 위치를 절대값 대신 상대적 관계로 표현, 더 일반화 잘됨.
XLNet은 이를 permutation setting에 맞게 재설계하였다.
2.5 다중 세그먼트 처리
질문-문단(QA)처럼 여러 segment가 있는 입력도 고려해야 한다. BERT는 [CLS], [SEP] 토큰으로 이를 처리했다.
XLNet은 비슷한 입력 포맷을 유지하지만, absolute segment embedding 대신 relative segment encoding을 도입하여 두 세그먼트 간 관계를 더 유연하게 학습한다.
3. Experiments
3.1 학습 세팅
- 데이터: Wikipedia + BooksCorpus + Giga5 + ClueWeb 2012-B + Common Crawl (총 32.89B subword)
- 모델: XLNet-Large (BERT-Large와 동일한 크기)
- TPU v3 512개, 5.5일 동안 500K step 학습
- 토크나이저: SentencePiece
3.2 BERT와의 비교
동일한 데이터셋(Wiki + BooksCorpus)과 동일한 하이퍼파라미터로 학습했을 때, XLNet은 BERT보다 모든 태스크에서 성능이 높았다.
예:
- SQuAD 1.1 F1: BERT 92.8 → XLNet 94.0
- RACE: BERT 75.1 → XLNet 77.4
- MNLI: BERT 87.3 → XLNet 88.4
3.3 확장 학습 결과
대규모 데이터와 더 긴 학습으로 RoBERTa, BERT 대비 우수 성능을 달성.
- RACE (독해): XLNet 85.4, BERT 72.0, RoBERTa 83.2
- SQuAD 2.0 (질문 응답): XLNet F1 90.6, BERT 81.8
- GLUE (자연어 이해 벤치마크): MNLI, QNLI, RTE, SST-2 등 다수에서 SOTA
특히 긴 문맥이 필요한 과제(SQuAD, RACE)에서 이점이 크게 나타났다.
3.4 Ablation Study
XLNet의 설계 요소별 기여도를 검증했다.
- Permutation LM 자체가 큰 향상을 주었다.
- Transformer-XL 메모리 제거 시 긴 문맥 태스크(RACE)에서 성능 급락.
- Span-based prediction, bidirectional data pipeline 모두 중요한 기여.
- 반대로 Next Sentence Prediction (NSP) 은 성능 향상에 기여하지 않아 제거했다.
4. Conclusions
XLNet은 일반화된 Autoregressive 사전학습 방식으로,
- Permutation Language Modeling을 통해 양방향 문맥 활용
- [MASK] 없이 pretrain–finetune discrepancy 해소
- Transformer-XL을 통합하여 긴 문맥 처리 가능
- 다양한 벤치마크에서 BERT를 크게 능가
결국, XLNet은 AR LM과 AE의 장점을 모두 취한 모델이며, 당시 자연어 이해 전반에서 새로운 SOTA를 달성하였다.