XLNet은 자연어 처리를 위해 설계된 자기회귀 Transformer (architecture) 모델로, BERT의 개선판으로 소개되었다. 2019년 6월 19일 Apache 2.0 라이선스로 출시되었으며, 3억 4천만 개의 매개변수를 가지고 330억 개의 단어로 학습되었다. 이 모델은 언어 모델링, 질문 응답, 자연어 추론을 포함한 작업에서 최첨단 성능을 달성했으며, Deep learning 연구에서 Large language model 아키텍처의 주목할 만한 사례이다.
BERT가 마스크 언어 모델링을 사용하는 것과 달리, XLNet은 순열 언어 모델링을 사용한다. 이 접근 방식은 시퀀스의 결합 확률을 가능한 모든 순서로 인수분해하여, 마스킹에 의존하지 않고 양방향 문맥을 포착할 수 있게 한다. 이 설계는 BERT의 한계를 해결하기 위한 것으로, BERT에서는 마스크된 토큰이 사전 학습 중에 보이지 않아 사전 학습과 미세 조정 사이에 불일치가 발생한다.
순열 언어 모델링
표준 자기회귀 모델링에서는 시퀀스의 확률이 고정된 왼쪽에서 오른쪽 순서로 인수분해된다. 예를 들어, "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"를 예측하며, 각각 이전에 예측된 토큰에 조건화된다. 모든 순열로 학습함으로써, 모델은 양방향의 문맥을 사용하는 법을 배우며, 장거리 의존성을 포착하는 능력을 향상시킨다.
이중 스트림 자기 주의
순열 언어 모델링을 구현하기 위해, XLNet은 이중 스트림 자기 주의 메커니즘을 사용한다. 첫 번째 스트림인 콘텐츠 스트림은 표준 인과적 자기 주의를 사용하여 각 토큰의 콘텐츠를 인코딩한다. 두 번째 스트림인 쿼리 스트림은 이전에 예측된 토큰의 문맥에서 각 토큰의 콘텐츠를 인코딩하며, 쿼리가 쿼리 스트림에서 오고 키-값 쌍이 콘텐츠 스트림에서 오는 마스크된 교차 주의를 사용한다. 이 설계는 모델이 자신의 콘텐츠를 보지 않고도 토큰을 예측할 수 있게 하면서, 순열된 순서에서 다른 토큰의 콘텐츠를 활용할 수 있게 한다.
학습 및 성능
XLNet은 3억 4천만 개의 매개변수를 가진 모델을 사용하여 330억 개의 단어로 구성된 대규모 말뭉치로 학습되었다. 학습 과정에는 순열 언어 모델링과 세그먼트 재정렬 목표가 모두 포함되었으며, 이는 모델이 문장 간의 관계를 학습하는 데 도움이 되었다. 출시 당시 XLNet은 스탠포드 질문 응답 데이터셋(SQuAD), 일반 언어 이해 평가(GLUE) 벤치마크, 그리고 여러 읽기 이해 작업을 포함한 다양한 벤치마크에서 BERT를 능가했다. 그 성공은 순열 기반 사전 학습의 효과를 입증했으며, 이후 Generative AI 및 Machine learning 연구에 영향을 미쳤다.
영향 및 유산
XLNet은 자기회귀 접근 방식과 자동 인코딩 접근 방식 간의 절충점을 강조함으로써 사전 학습 언어 모델의 진화에 기여했다. BERT의 마스킹 전략은 양방향 문맥을 가능하게 했지만 사전 학습-미세 조정 불일치를 도입했으며, XLNet의 순열 접근 방식은 자기회귀 속성을 유지하면서 양방향 문맥을 달성하는 방법을 제공했다. 이 아이디어는 Transformer-XL 및 기타 변형과 같은 이후 모델에 통합되었다. 더 새로운 아키텍처가 이후 XLNet의 성능을 능가했지만, XLNet은 Artificial intelligence 및 Neural network 연구 역사에서 중요한 이정표로 남아 있다.
같이 보기
- BERT (제공된 슬러그에는 없지만 Transformer (architecture)로 연결될 수 있음)
- Large language model
- Deep learning
- Machine learning