본문 바로가기
NLP

Longformer (2020) 논문 리뷰

by 아르카눔 2025. 4. 9.

Longformer 가 나온 의 논문 이름은 Longformer: The Long-Document Transformer다. (링크)

 

저자는 Iz Beltagy, Matthew E. Peters, Arman Cohan다. 

 

Longformer 논문은 sliding window의 attention으로 알게된 논문이다.

 

 

Abstract

트랜스포머 기반의 모델을은 self-attention 연산으로 인해서 긴 시퀀스를 처리할 수 없다. 이 문제를 해결하기 위해서 Longformer 알고리즘을 소개한다. 기존의 self-attention을 대체하는 (drop-in replacement) local windowed attention와 task motivated global attention을 도입하여 기존보다 긴 텍스트를 다룰 수 있다. Character-level language modeling 부분에서 text8과 enwik8에 대해서 SOTA를 달성했다. 또한 다양한 다운스트림 태스크에 대해서 RoBERTa와 견줄만한 성능을 보였다. 구체적으로는 Wiki-Hop, TriviaQA다. 

 

 

Figure 1에서도 볼 수 있듯이 기존의 self-attention은 sequence length가 길어질수록 기하급수적으로 시간과 메모리를 많이 요구한다.

 

 

Attention Patterns

 

 

 

 

Figure 2에서는 다양한 구조의 어텐션을 비교한다.

 

Encoder를 기준으로 

 

(a)는 full self-attention이다.

 

(b)는 sliding window attention으로 고정된 윈도우 사이즈에서 근처의 토큰만을 학습한다. 이때 window size가 w라면 양쪽을 각각 w/2 만큼 학습한다.

 

(c)는 Dilated sliding window attention으로 DeepLab에서 제시한 Atrous convolution (= dilated convolution)에서 영감을 받은 attention이다. (b)와의 차이점은 양옆 인근의 토큰을 학습하지만, 중간 중간 건너 뛰면서 학습한다는 점다. 

 

(d)는 Global attention이 추가된 sliding window이다. BERT의 [CLS] 토큰과 같은 특수한 토큰이 고정된 위치에 있다. Global attention은 이러한 고정된 위치의 토큰을 모든 input query token이 학습하게 만든다. Figure 2 (d)를 보면 0, 1, ..., 5, ... 토큰을 모든 토큰들이 학습하게 된다.  

 

 

Experiments

 

BPC (Bits Per Character)는 언어 모델이 하나의 문자를 예측할 때 평균적으로 몇 비트의 정보가 필요한지를 나타내는 성능 지표로, 그 수치가 낮을수록 모델의 예측력이 좋다.

 

 

BPC가 낮을수록 좋은데 Longformer가 더 좋은 성능이다.

 

 

Sliding window attention의 window size를 입력쪽 레이어 (bottom layer)에서 출력쪽 레이어 (top layer)으로 갈수록 점점 키우는 경우, 그리고 dilation을 수행할 때 더 좋은 성능임을 알 수 있다.

 

입력쪽에서 window size가 작으면 상대적으로 지역적 (local) 정보를 학습하게 되고,

출력쪽은 window size가 크기 때문에 상대적으로 전역적 (global) 정보를 학습하게 된다.

 

 

 

 

 

 

Table 7과 8에서는 QA 데이터, 그리고 coreference resolution 그리고 문서 분류 성능을 비교한다.

RoBERTa-base와 비교해서 SOTA 성능을 달성했음을 보인다.

 

 

 

Coreference resolution은 OneNotes 데이터를 사용했다.

Coreference resolution은 텍스트에서 같은 대상을 가리키는 표현(mention)을 찾아 묶는 작업이다. 

 

 

 

 

References:

https://ncsoft.github.io/ncresearch/f5e43053b8efa07947ea8dd57dbcbb2967c7deb1

https://velog.io/@kangmin/%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-Longformer-The-Long-Document-Transformer

https://sswwd.tistory.com/39

https://jjdeeplearning.tistory.com/26

 

 

'NLP' 카테고리의 다른 글

Embedding Models  (0) 2025.05.04
Tokenizer 간단하게 정리  (0) 2025.04.15
GLU variants (2020) 논문 리뷰  (0) 2025.04.09
MQA (Multi-Query Attention) (2019) 논문 리뷰  (0) 2025.04.09
GPT 2 (2019) 논문 리뷰  (0) 2025.04.09