[transformer 시리즈-4] Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context
안녕하세요 근 한달만에 다시 돌아온 것 같습니다. 원래 1주일에 한 포스트는 작성하자고 마음 먹었었는데, 그동안 회사일이 바쁘기도 했고 비전일제로써, 박사과정에 입학하게 되면서 야간 수업을 듣는걸 처음 적응하느라 조금 시간이 걸렸던 것 같습니다.
그러면 각설하고 바로 본문으로 들어가게 되었습니다. Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context이라는 논문을 왜 4번째 transformer 시리즈로 작성하게 되었냐면 기존 트랜스포머 모델이 가진 고정된 문맥 길이 제한 문제를 효과적으로 해결하면서, 긴 문맥을 다루는 언어 모델링의 새로운 가능성을 열었다는 점에서 중요한 의미를 갖기 때문입니다.
이 논문의 초록(abstract)에서는 다음과 같이 기술되어 있습니다.
Transformers have a potential of learning longer-term dependency, but are limited by a fixed-length context in the setting of language modeling. We propose a novel neural architecture Transformer-XL that enables learning dependency beyond a fixed length without disrupting temporal coherence. It consists of a segment-level recurrence mechanism and a novel positional encoding scheme. Our method not only enables capturing longer-term dependency, but also resolves the context fragmentation problem. As a result, TransformerXL learns dependency that is 80% longer than RNNs and 450% longer than vanilla Transformers, achieves better performance on both short and long sequences, and is up to 1,800+ times faster than vanilla Transformers during evaluation. Notably, we improve the state-ofthe-art results of bpc/perplexity to 0.99 on enwiki8, 1.08 on text8, 18.3 on WikiText-103, 21.8 on One Billion Word, and 54.5 on Penn Treebank (without finetuning). When trained only on WikiText-103, Transformer-XL manages to generate reasonably coherent, novel text articles with thousands of tokens. Our code, pretrained models, and hyperparameters are available in both Tensorflow and PyTorch1 .
Transformer-XL은 기존 트랜스포머가 고정된 문맥 길이 때문에 장기 의존성을 학습하는 데 한계가 있었던 문제를 해결하기 위해 제안된 신경망 아키텍처이다. 이 모델은 세그먼트 단위의 재발 메커니즘과 새로운 위치 인코딩 방식을 도입하여 문맥 단편화 문제를 극복하고, RNN보다 80%, 기존 트랜스포머보다 450% 긴 의존성을 효과적으로 학습하며 평가 시 최대 1,800배 빠른 속도를 달성한다. 그 결과, enwiki8, text8, WikiText-103, One Billion Word, Penn Treebank 등 다양한 데이터셋에서 최첨단의 bpc/perplexity 성능을 보였으며, WikiText-103만으로도 수천 토큰에 달하는 일관된 텍스트를 생성할 수 있다. 또한, 관련 코드와 사전 학습된 모델은 TensorFlow와 PyTorch에서 모두 제공된다.
초록에서부터 해당 논문은 transformer의 고질적인 문제인 고정된 context length로 인하여 장기 의존성을 학습하는데 한계가 있는 문제를 해결하겠다고 합니다. 그렇다면 고정된 context length는 왜 장기 의존성을 학습하는데 문제를 일으키는걸까요?
기존의 transformer의 경우, 평균 200 단어 정도를 context로 활용하는데 그렇게 된다면 굉장히 긴 문서를 학습할 때 텍스트를 일정 길이로 잘라 처리해야 합니다. 이로 인해 세그먼트 간의 자연스러운 연결이 끊겨 이전 문맥의 중요한 정보가 전달되지 않기 때문입니다. 이는 모델이 세그먼트 경계에 위치한 단어나 구절을 예측할 때 충분한 문맥 정보를 활용하지 못해, 장기간에 걸친 의존성을 학습하는 데 한계를 보이는 문제를 발생시키게 됩니다. 이 논문에서는 이를 고정된 길이의 세그먼트로 나누어 학습할 경우 문장이나 의미 단위와 무관하게 텍스트가 잘려 필요한 정보가 누락되는 ‘문맥 단편화(context fragmentation)’ 문제라고 표현합니다.
Transformer-XL은 이전 세그먼트의 은닉 상태를 재사용하는 재발(recurrence) 메커니즘과, 재사용된 상태 간의 시간적 혼란을 방지하기 위한 상대적 위치 인코딩(relative positional encoding)을 도입하여, 긴 문맥에서도 정보가 원활히 전달되도록 설계되었습니다. 그 결과, 이 모델은 기존 RNN이나 표준 트랜스포머보다 훨씬 긴 의존성을 효과적으로 학습할 수 있으며, 다양한 데이터셋에서 우수한 성능을 보이고 수천 토큰에 달하는 일관된 텍스트 생성을 가능하게 합니다.
먼저, 세그먼트 단위 재발 메커니즘에 대해 설명하면, Transformer-XL은 긴 텍스트를 처리할 때 전체 문장을 한 번에 입력으로 사용하지 않고, 일정 길이의 구간(세그먼트)으로 나눕니다. 기존 모델들은 각 구간을 독립적으로 처리하기 때문에, 한 구간의 정보만 사용하게 되고, 구간 경계에서 중요한 문맥 정보가 끊겨 버리는 ‘문맥 단편화’ 문제가 발생합니다. Transformer-XL은 이를 극복하기 위해 이전 구간에서 계산된 은닉 상태 전체(즉, 각 토큰에 대한 은닉 표현)를 메모리처럼 저장해둡니다. 그 후, 새로운 구간을 처리할 때 이 저장된 은닉 상태를 입력과 함께 결합하여 모델이 이전 구간의 정보까지 활용할 수 있도록 합니다. 이 방식은 일종의 ‘재발(recurrence)’을 도입한 것으로, 여러 구간에 걸친 장기 의존성을 학습할 수 있게 도와줍니다. 또한, 평가 단계에서는 이미 계산된 이전 구간의 은닉 상태를 다시 사용하기 때문에, 매번 전체 구간을 처음부터 다시 처리하지 않아도 되어 계산 속도가 크게 향상됩니다.
두 번째로, 상대적 위치 인코딩의 필요성에 대해 이야기하면, 일반적인 Transformer에서는 각 토큰에 절대적인 위치 정보를 부여하기 위해 사인-코사인 방식 등의 절대 위치 인코딩을 사용합니다. 그러나 세그먼트 단위 재발 메커니즘을 도입하게 되면, 서로 다른 구간에서 온 은닉 상태들을 결합할 때, 이 절대 위치 인코딩 정보가 서로 충돌하게 됩니다. 즉, 이전 구간과 현재 구간에 동일한 ‘위치 번호’가 존재하게 되어, 모델은 두 구간에 걸친 토큰들의 순서를 올바르게 구분하지 못하게 됩니다. 이를 해결하기 위해 Transformer-XL은 각 토큰의 절대적 위치 대신, 토큰 간의 상대적인 거리를 인코딩합니다. 즉, 두 토큰이 서로 몇 번째 차이에 있는지를 계산하여 그 정보를 주입함으로써, 모델이 이전 구간과 현재 구간에 걸친 토큰들의 상대적 순서를 정확하게 파악할 수 있도록 합니다. 이렇게 하면, 캐시된 은닉 상태를 재사용할 때도 올바른 문맥 정보와 순서가 유지되어, 모델이 긴 텍스트 내에서 일관된 문맥을 이해할 수 있습니다.
결과적으로, Transformer-XL은 이 두 가지 기술을 결합하여 고정된 문맥 길이로 인한 한계를 극복하고, 긴 텍스트에서도 효과적으로 장기 의존성을 학습하며, 평가 시에도 계산 효율성을 크게 향상시킵니다.
이러한 방법론을 통해서, Transformer-XL은 낮은 perplexity 수치를 기록하며, 기존의 RNN과 Transformer보다 훨씬 긴 범위의 의존성을 효과적으로 모델링하고, 평가 단계에서 상당한 속도 향상을 이루며, 일관된 텍스트를 생성할 수 있습니다. 이러한 성능은 텍스트 생성, 비지도 특징 학습, 이미지 및 음성 모델링 등 다양한 분야에서 혁신적인 응용 가능성을 열어주며, Transformer-XL이 앞으로의 연구와 실용적 적용에 있어 중요한 역할을 할 것임을 시사합니다.
'AI > Transformers 시리즈' 카테고리의 다른 글
AN IMAGE IS WORTH 16X16 WORDS:TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE (0) | 2025.03.15 |
---|---|
Improving Language Understandingby Generative Pre-Training (0) | 2025.02.12 |
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (0) | 2025.01.31 |
Attention Is All You Need : AI 혁명의 시작 (0) | 2025.01.20 |