XLNet은 2019년 6월 19일에 소개된 자연어 처리를 위한 Artificial intelligence 모델로, 자동 회귀 Transformer (architecture) 아키텍처이다. 이 모델은 BERT의 개선판으로 설계되었으며, 마스크 언어 모델링의 한계를 해결하기 위해 순열 언어 모델링을 사용하여 양방향 문맥을 포착한다. 이 모델은 3억 4천만 개의 매개변수를 가지며 330억 개의 단어로 구성된 말뭉치로 훈련되어 언어 모델링, 질문 응답, 자연어 추론과 같은 작업에서 최첨단 결과를 달성했다. Apache 2.0 라이선스로 공개되어 연구 및 상업적 용도로 자유롭게 사용할 수 있다.
XLNet은 방대한 텍스트 말뭉치로 훈련되어 인간 언어를 이해하고 생성하는 Neural network 시스템인 Large language model 계열에 속한다. 그 개발은 2017년 도입 이후 이 분야에 혁명을 일으킨 Deep learning 및 Transformer (architecture) 아키텍처의 발전을 기반으로 했다. 텍스트를 고정된 왼쪽에서 오른쪽 또는 오른쪽에서 왼쪽 순서로 처리한 초기 모델과 달리, XLNet은 문장의 모든 가능한 순열을 고려하는 새로운 훈련 목표를 도입하여 왼쪽과 오른쪽 문맥을 동시에 학습할 수 있게 했다.
Architecture
XLNet의 핵심 혁신은 순열 언어 모델링이다. 표준 자동 회귀 모델링에서 "My dog is cute"와 같은 문장은 각 단어가 이전 단어가 주어졌을 때 예측되는 조건부 확률의 곱으로 분해된다: Pr(My) × Pr(dog|My) × Pr(is|My, dog) × Pr(cute|My, dog, is). 이 왼쪽에서 오른쪽 순서는 모델이 미래 문맥을 사용하는 능력을 제한한다. 그러나 XLNet은 훈련 중에 단어 순서를 무작위로 섞는다. 예를 들어, 순열 순서가 3-2-4-1인 경우 모델은 "is"를 먼저 예측한 다음 "dog", "cute", 마지막으로 "My"를 예측하며, 각 단계에서 해당 순열에서 이미 생성된 단어를 조건으로 사용한다. 모든 가능한 순열로 훈련함으로써 모델은 BERT와 유사하게 양방향 문맥을 사용하는 법을 배우지만, BERT가 의존하는 인공적인 [MASK] 토큰은 사용하지 않는다.
Two-Stream Self-Attention
순열 언어 모델링을 구현하기 위해 XLNet은 이중 스트림 자기 주의 메커니즘을 사용한다. 첫 번째 스트림인 콘텐츠 스트림은 일반적인 Transformer (architecture) 디코더와 유사하게 표준 인과 마스크 자기 주의를 사용하여 각 단어의 실제 콘텐츠를 인코딩한다. 두 번째 스트림인 쿼리 스트림은 순열에서 지금까지 생성된 문맥 내에서 각 단어의 콘텐츠를 인코딩한다. 이는 쿼리가 쿼리 스트림에서 오고 키-값 쌍이 콘텐츠 스트림에서 오는 마스크 교차 주의 메커니즘을 사용한다. 이러한 분리를 통해 모델은 자신의 콘텐츠를 보지 않고 단어를 예측할 수 있으며, 이는 순열 목표에 필수적이다. 두 스트림은 훈련 중에 결합되며, 추론 중에는 콘텐츠 스트림만 사용된다.
Training and Performance
XLNet은 책, 웹 페이지 및 기타 출처의 텍스트를 포함한 330억 개의 단어로 구성된 대규모 말뭉치로 훈련되었다. 훈련 과정은 순열 언어 모델링 목표를 사용했으며, 모델은 각 훈련 예제에 대해 순열 순서를 무작위로 샘플링했다. 모델의 3억 4천만 개의 매개변수는 BERT-large와 크기가 비슷했지만, 훈련 목표 덕분에 여러 벤치마크에서 더 나은 성능을 달성할 수 있었다. 예를 들어, 여러 작업에 걸쳐 자연어 이해를 테스트하는 GLUE 벤치마크에서 XLNet은 감정 분석, 질문 응답, 텍스트 함의를 포함한 대부분의 작업에서 BERT를 능가했다. 또한 SQuAD 질문 응답 데이터 세트와 언어 모델링 혼란도 작업에서 최첨단 결과를 달성했다.
XLNet의 주목할 만한 장점 중 하나는 더 긴 범위의 의존성을 포착할 수 있다는 점이다. 모든 순열을 고려하기 때문에 모델은 원래 문장에서 멀리 떨어진 단어 간의 관계를 학습할 수 있으며, 특정 순열에서 인접하더라도 가능하다. 이는 문서 분류나 상호 참조 해결과 같은 전역 문맥 이해가 필요한 작업에 특히 유용하다.
Comparison with BERT
2018년에 도입된 BERT는 입력 토큰의 일정 비율을 [MASK]로 대체하고 모델이 원래 토큰을 예측하도록 훈련하는 마스크 언어 모델링 목표를 사용했다. 효과적이지만 이 접근 방식에는 한계가 있다: [MASK] 토큰은 미세 조정이나 추론 중에 존재하지 않아 훈련과 배포 사이에 불일치가 발생한다. 또한 BERT는 마스크된 토큰이 서로 독립적이라고 가정하지만, 이는 항상 사실이 아니다. XLNet은 [MASK] 토큰에 의존하지 않고 모든 토큰 간의 의존성을 포착할 수 있는 순열 언어 모델링을 사용하여 이러한 문제를 해결한다. 이로 인해 XLNet은 훈련과 추론 사이에서 더 일관성이 있으며, 결합 확률 분포를 더 정확하게 모델링할 수 있다.
그러나 순열 접근 방식에는 계산 비용도 있다. XLNet은 각 훈련 예제에 대해 여러 순열을 처리해야 하므로 BERT보다 더 많은 훈련 시간이 필요하다. 이중 스트림 자기 주의 메커니즘도 아키텍처에 복잡성을 추가한다. 이러한 비용에도 불구하고 성능 향상 덕분에 XLNet은 출시 당시 많은 NLP 응용 프로그램에서 인기 있는 선택이 되었다.
Impact and Legacy
XLNet은 Machine learning 및 자연어 처리 분야에 상당한 영향을 미쳤다. 자동 회귀 모델이 마스크 언어 모델의 성능을 능가하거나 동등하게 달성할 수 있으면서도 더 원칙적인 훈련 목표를 제공할 수 있음을 입증했다. 그 성공은 순열 기반 및 순열 등변 모델에 대한 추가 연구를 촉진했다. ELECTRA 및 T5와 같은 많은 후속 모델은 XLNet의 아이디어를 기반으로 구축되었으며, 순열 언어 모델링의 개념은 이후 대규모 언어 모델 설계에 영향을 미쳤다. XLNet은 GPT-3 및 T5와 같은 더 강력한 모델로 대체되었지만, Generative AI 및 Transformer (architecture) 기반 아키텍처 개발에서 중요한 이정표로 남아 있다. Apache 2.0 라이선스로 공개된 오픈 소스 릴리스는 AI 연구의 민주화에 기여하여 전 세계 연구자와 개발자가 모델을 사용하고 수정할 수 있게 했다.
References
- Yang, Z., Dai, Z., Yang, Y., Carbonell, J., Salakhutdinov, R., & Le, Q. V. (2019). XLNet: Generalized Autoregressive Pretraining for Language Understanding. arXiv preprint arXiv:1906.08237.
- Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. (2018). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv preprint arXiv:1810.04805.