Longformer — 장문서를 위한 Transformer

Digest: 표준 Transformer의 self-attention은 시퀀스 길이 n에 대해 O(n²) 메모리/연산을 요구하여 BERT 계열이 512 토큰 한계에 묶여 있었다. Longformer는 이 한계를 벗어나기 위해 (1) sliding window attention(각 토큰이 좌우 고정 폭 w 내의 이웃만 참조, 복잡도 O(n·w)), (2) dilated sliding window(팽창된 윈도우로 receptive field 확장, WaveNet의 dilated convolution과 유사), (3) global attention(QA의 질문 토큰, 분류의 [CLS] 같은 소수의 태스크 특정 토큰만 전체 시퀀스를 보게 함)을 조합한다. 핵심 통찰은 “모든 토큰이 모두를 볼 필요는 없고, 오직 태스크가 요구하는 소수의 앵커 토큰만 글로벌 정보를 집약하면 충분하다”는 것이다. 이를 character-level LM(text8/enwik8)에서 SOTA, RoBERTa 가중치를 장문서로 continued-pretrain한 뒤 WikiHop/TriviaQA SOTA, HotpotQA/OntoNotes coref/IMDB/Hyperpartisan에서 RoBERTa 대비 개선으로 입증하였고, v2에서는 seq2seq 확장인 **LED(Longformer-Encoder-Decoder)**를 제안해 arXiv 장문서 요약에서 우수한 성능을 보였다. 한계는 (i) 어떤 토큰을 global로 둘지 태스크별 수동 설정 필요, (ii) dilated window의 저수준 효율적 구현이 CUDA 커스텀 커널을 요구, (iii) 디코더 측 cross-attention 효율화는 제한적이라는 점이다. Open Questions: global 토큰을 학습/자동 선택 가능한가(→ BigBird의 random attention), 윈도우 크기·팽창률의 레이어별 최적 스케줄은 무엇인가, linear attention(Performer/Linformer) 대비 품질-속도 파레토는 어디인가?


섹션별 요약

Introduction

  • 배경: BERT/RoBERTa는 positional embedding과 O(n²) self-attention 때문에 512 토큰까지만 처리하며, 장문서 QA·coreference·요약에서 sliding window + 결과 합치기 같은 조잡한 우회가 필요했다.
  • 문제: 문서 전역에 걸친 의존성(예: 멀티홉 QA의 증거 분산, 문서 요약)을 온전히 모델링하지 못함.
  • 기여: (1) O(n)으로 스케일되는 local+global 혼합 attention 패턴 제안, (2) autoregressive character-level LM에서 SOTA, (3) RoBERTa를 장문서로 추가 사전학습하여 6개 다운스트림 태스크에서 개선, (4) seq2seq용 LED 제안.

Methods

  • Sliding Window Attention: 각 토큰 i가 [i-w/2, i+w/2] 윈도우 내의 토큰만 attend. 복잡도 O(n·w). 여러 레이어를 쌓으면 CNN처럼 receptive field가 선형 증가하여 최상층에서는 문서 전역에 가까운 문맥을 통합.
  • Dilated Sliding Window: 윈도우 내 토큰을 간격 d로 건너뛰어 receptive field를 l·d·w로 확장(l=레이어 수). 레이어별·헤드별로 d를 다르게 설정(하위 레이어는 d=1로 로컬 상세, 상위 레이어는 d>1로 장거리 집약).
  • Global Attention: 태스크 특정 소수 토큰(분류: [CLS], QA: 질문 전체 토큰, coref: 멘션 후보)은 (a) 전체 시퀀스를 attend하고 (b) 시퀀스의 모든 토큰도 이들을 attend. Global과 local은 별도 Q/K/V 프로젝션을 두어 두 모드가 표현적으로 분리되게 함.
  • 구현: 순수 PyTorch는 메모리 과다, 따라서 TVM으로 커스텀 CUDA 커널을 작성해 실제 O(n·w) 메모리 달성.
  • LED (v2): BART 가중치 초기화 후 encoder에만 Longformer attention 패턴을 적용(디코더는 full attention). positional embedding은 BART의 1024를 복제 확장하여 최대 16K 토큰 지원.

Pretraining (Long-context MLM)

  • Initialization: RoBERTa 체크포인트에서 시작, positional embedding은 512를 복제하여 최대 4096 토큰까지 확장(복제가 랜덤 초기화보다 훨씬 빠르게 수렴).
  • Corpus: 장문 포함 Books+Wikipedia+Realnews+Stories 혼합.
  • Objective: 표준 MLM을 긴 시퀀스로 계속 학습(continued pretraining).
  • Attention 설정: 윈도우 w=512, global attention은 fine-tuning 시 태스크별로 지정.

Experiments

  • Character-level LM: text8/enwik8에서 small/large 모두 SOTA BPC; dilated window의 유효성 검증(ablation에서 dilation 미사용 시 성능 하락).
  • QA:
    • WikiHop(멀티홉): SOTA. 질문+후보 토큰에 global attention.
    • TriviaQA: SOTA. 질문 토큰에 global attention.
    • HotpotQA: 강한 baseline 대비 개선.
  • Coreference: OntoNotes에서 RoBERTa-base 기반 모델 대비 개선.
  • Classification: IMDB(긴 리뷰), Hyperpartisan News(긴 뉴스)에서 RoBERTa 대비 특히 긴 문서에서 큰 격차.
  • Summarization (LED): arXiv 장문서 요약에서 BigBird와 경쟁하거나 상회하는 ROUGE.
태스크데이터셋Longformer비교(RoBERTa/BART 등)핵심 수치 방향
Char LMenwik8 (large)SOTA BPCTransformer-XL 대비 개선dilated 기여
Multi-hop QAWikiHopSOTARoBERTa-large truncated 대비 +5~7pt 수준global=질문+후보
QATriviaQASOTABigBird와 경쟁global=질문
CorefOntoNotes개선RoBERTa-base 대비 +0.x~1pt F1멘션에 global
ClassificationIMDB / Hyperpartisan개선RoBERTa 대비 특히 long-doc[CLS] global
Summ.arXiv (LED)경쟁 SOTABART(truncated) 대비 크게 상회16K 토큰 입력

Discussion

  • 한계: (i) 어떤 토큰에 global attention을 부여할지는 수작업이며 태스크 지식 의존, (ii) dilated window는 CUDA 커널이 필요해 일반 프레임워크 호환성 저하, (iii) 디코더 cross-attention은 여전히 full(LED), (iv) 매우 짧은 문서에서는 이점 없음.
  • 향후: global selection 학습, sparse pattern 자동 설계, generative 양방향 모두에 sparse attention 적용.

Insights

  • 주목할 점: “local + 소수의 global”이라는 단순한 편향이 full attention을 근사하기에 충분하다는 실증. Transformer의 inductive bias를 그래프 희소화 관점으로 재해석.
  • 연결 고리: WaveNet의 dilated convolution(수용장 확장), ETC/BigBird의 global+random 조합, Sparse Transformer(고정 패턴).
  • 시사점: 장문서 처리는 새로운 아키텍처가 아니라 attention 연결 패턴의 설계 문제로 환원 가능.
  • 비판적 코멘트: global 토큰 수동 선택은 모델의 일반성을 제한; BigBird의 random attention 혹은 ETC의 구조화 global이 더 태스크 독립적.

Discussion Points

  • 논쟁점: local window만으로는 진짜 장거리 의존성을 못 본다 vs. 여러 레이어 쌓으면 된다.
  • 검증 필요 가정: dilated pattern의 이점이 언어 모델링 외 downstream에도 유효한가?
  • 후속 연구: BigBird, ETC, LongT5, Performer, Linformer.

메타데이터

항목내용
제목Longformer: The Long-Document Transformer
저자Iz Beltagy, Matthew E. Peters, Arman Cohan
소속Allen Institute for AI (AI2)
연도2020
발표arXiv:2004.05150
링크arXiv, GitHub
키워드sparse attention, sliding window, global attention, long document, RoBERTa, LED

왜 이 연구를 하는가?

핵심 질문

Transformer self-attention의 O(n²) 비용을 깨뜨리면서도 full attention에 준하는 표현력을 유지해 수천 토큰 이상의 문서를 end-to-end로 처리할 수 있는가?

기존 접근법의 한계

한계설명
Truncation512 토큰으로 잘라 사용 → 장거리 의존성 손실
Chunk + aggregate청크별로 인코딩 후 결합 → 청크 경계 정보 유실, 태스크별 조합 규칙 필요
Transformer-XL세그먼트 recurrence로 확장되나 양방향(BERT-style) 사전학습에 부적합
Sparse Transformer고정 패턴(strided/fixed)은 autoregressive LM 전용으로 설계
ReformerLSH attention은 random projection noise, 배치·구현 복잡

핵심 통찰

  • 모든 토큰이 모든 토큰을 볼 필요는 없다: 로컬 문맥으로 대부분 해결.
  • 소수의 앵커 토큰(질문/CLS 등)만 전역을 보면 full attention을 근사.
  • Dilation은 CNN에서 검증된 receptive field 확장 도구이며 attention에도 그대로 이식 가능.

방법 (Method)

프레임워크 개요

flowchart TB
    subgraph Input["입력 시퀀스 (예: n=4096 tokens)"]
        T["t1  t2  t3  ...  tn"]
    end
    Input --> Emb["Token + Position Emb (512→4096, copy-init)"]
    Emb --> L1["Layer 1: sliding window (w=512, d=1)"]
    L1 --> L2["Layer 2: sliding window (w=512, d=1)"]
    L2 --> Lm["... 중간 레이어: dilated sliding (d>1, 일부 헤드)"]
    Lm --> Lg["상위 레이어: sliding + GLOBAL attention on task tokens"]
    Lg --> Out["Output representations"]

    subgraph GlobalTokens["Global tokens (task-specific)"]
        CLS["[CLS] / 질문 토큰 / 멘션"]
    end
    GlobalTokens -. "attend to all & attended by all" .-> Lg

Attention Pattern 행렬 (핵심 시각화)

graph TD
    subgraph Pattern["n x n attention matrix"]
        direction LR
        A["대각선 밴드 = Sliding Window (폭 w)"]
        B["밴드 안 간격 건너뛰기 = Dilated Window (간격 d)"]
        C["몇 개 전체 행/열 = Global Tokens (task-specific)"]
        A --- B --- C
    end

개념적 ASCII:

   col →  1 2 3 4 5 6 7 8 ... n
row ↓
 1   [G G G G G G G G G G]     ← global token: 행 전체 attend
 2   [G X X . . . . . . .]     ← local window (±w/2)
 3   [G X X X . . . . . .]
 4   [G . X X X . . . . .]
 5   [G . . X X X . . . .]
 6   [G . . . X X X . . .]
 ...
 k   [G . . d . d . X X d]    ← dilated: 간격 d로 추가 참조
 ...
 n   [G . . . . . . . X X]
  • G: global attention 행/열 (전체 시퀀스 ↔ 이 토큰)
  • X: sliding window 내 인접 토큰
  • d: dilated 위치(특정 헤드/레이어에만)

핵심 구성요소

  1. Sliding Window: 레이어당 O(n·w) 복잡도. 최상위 레이어의 receptive field ≈ l·w.
  2. Dilated Sliding Window: 일부 헤드에서 d>1 적용, 나머지 헤드는 d=1로 로컬 상세 유지(멀티스케일).
  3. Global Attention: 별도의 Q_g/K_g/V_g 선형사상을 두어 pretrained local attention을 훼손하지 않음.
  4. 커스텀 CUDA 커널(TVM): banded matmul을 효율적으로 구현해 이론 복잡도를 실제 메모리/속도로 구현.

발견 (Findings)

주요 결과 (정성 요약)

태스크 / 벤치마크Longformer비교 baseline관찰
enwik8 (char LM, small/large)SOTA BPCTransformer-XLdilation 제거 시 열화
WikiHopSOTARoBERTa-large(512 truncated)멀티홉에서 큰 격차
TriviaQASOTABigBird와 경쟁질문 global만으로 충분
HotpotQA개선RoBERTa 기반paragraph ranking 없이 end-to-end
OntoNotes coref개선SpanBERT/RoBERTa멘션 global의 이득
IMDB / Hyperpartisan개선RoBERTa긴 문서일수록 격차 확대
arXiv summarization (LED)SOTA급BART (truncated)최대 16K 입력

핵심 발견

  • Positional embedding 복제 초기화가 랜덤 초기화보다 극적으로 빠르게 수렴(저자 보고).
  • Global attention을 올바른 토큰에 부여하는 것이 윈도우 크기보다 성능에 더 큰 영향.
  • Downstream 다수 태스크에서 dilation은 선택적; 문자 LM에서 가장 효과.

이론적 의의

Attention을 그래프 희소화로 재해석

Full attention = complete graph. Longformer는 이를 band graph + star graph 합집합으로 근사. 이 관점은 이후 BigBird의 random graph, ETC의 구조화 global 등으로 일반화된다.

”Drop-in replacement” 패러다임

기존 Transformer 파이프라인/체크포인트를 거의 그대로 쓰면서 attention 모듈만 교체 가능 — 장문서 처리의 진입장벽을 낮춘 공학적 기여.

Pretraining-Finetuning 연속성

RoBERTa로부터 continued pretraining만으로 장문서 모델을 얻을 수 있음을 보여 scratch 사전학습 없는 길이 확장의 실현 가능성 입증.


재현성 및 신뢰도 평가

항목등급비고
코드 공개allenai/longformer + HuggingFace 통합
데이터 공개공개 벤치마크 및 공개 코퍼스 사용
하이퍼파라미터논문·레포에 학습 스크립트 존재
실험 환경GPU/메모리 요건 명시, TVM 커널 제공
통계적 신뢰도⚠️다중 seed/분산 보고는 제한적
종합 등급A널리 재현·활용된 표준 구현 존재

주장별 신뢰도

#주장근거신뢰도
1Local+Global로 O(n²)→O(n) 실현알고리즘적으로 자명 + 커스텀 커널로 실증🟢
2WikiHop/TriviaQA SOTA공식 리더보드 수치🟢
3Dilated가 char-LM에서 유효Ablation 제공🟢
4RoBERTa continued-pretrain이 장문서로 일반화다수 다운스트림 개선🟡
5Global 토큰 수동 선택이 실용적 최적자동 선택 비교 부재🟡

읽기 난이도: ⭐⭐

필요 배경지식: Transformer/self-attention, BERT·RoBERTa 사전학습, dilated convolution 개념, QA/coref 태스크 이해.


관련 연구 비교 매트릭스

LongformerSparse Transformer (Child+2019)Reformer (Kitaev+2020)BigBird (Zaheer+2020)
핵심 접근Sliding window + dilated + task-specific globalStrided/fixed 고정 패턴LSH(해시) 버킷 내 attentionWindow + Random + Global
Attention 패턴Band(+dilation) + star(global tokens)Strided band + fixed headsHash-bucketed (data-dependent)Band + Random edges + Global
복잡도O(n·w)O(n√n)O(n log n)O(n) (w/ random)
방향성Encoder(+LED decoder)Autoregressive (이미지/텍스트)AutoregressiveEncoder
PretrainingRoBERTa에서 continuedScratchScratchBERT/RoBERTa에서 확장
Global token 설계태스크별 수동 (질문, CLS 등)없음없음ITC/ETC 변형 with global
이론적 근사 보장없음 (경험적)없음확률적 근사Full attention에 대한 universal approximator 증명
주요 벤치마크WikiHop/TriviaQA/enwik8/arXivenwik8/ImageNet64enwik8/imagenet/syntheticQA/Genomics/Summ.
코드 공개
주요 약점global 수동 설계, dilation 커널 의존downstream 활용 사례 적음LSH noise, 구현 복잡random edge의 해석 난이도

관련 연구


원자적 인사이트 (Zettelkasten)

💡 Attention의 “별 모양(star) 토폴로지”가 장거리 의존성의 저렴한 대리자이다

출처: Longformer - The Long-Document Transformer (Beltagy et al., 2020)
유형: 이론적

소수의 global 토큰을 모든 토큰과 양방향으로 연결하는 star graph 구조는, local band graph와 합쳐졌을 때 full attention의 핵심 정보 경로(2-hop 도달성)를 보존한다. 즉 어떤 두 토큰이든 “임의의 global 허브”를 거쳐 2홉에 도달 가능하므로 장거리 의존성을 표현할 수 있다.

핵심 조건/맥락: global 토큰이 태스크의 정보 병목(질문, CLS)에 배치될 때 가장 효과.
연결: BigBird(random edge를 추가해 star+random 혼합), ETC(structured global).
활용 가능성: 그래프 신경망의 hub node 설계, MoE의 routing token 등에 유추 적용 가능.

💡 “복제 초기화(copy-init)“가 positional embedding 길이 확장의 가장 단순하고 강한 베이스라인이다

출처: Longformer - The Long-Document Transformer (Beltagy et al., 2020)
유형: 방법론적

512 → 4096 positional embedding 확장 시, 학습된 512개를 그대로 8번 복제하는 초기화가 랜덤 초기화보다 훨씬 빠르게 수렴한다. 이는 pretrained 모델이 상대적 위치 근방의 패턴에 민감하며, 복제가 그 국소 구조를 보존하기 때문이다.

핵심 조건/맥락: absolute positional embedding에 국한; RoPE/ALiBi는 자연스럽게 extrapolate됨.
연결: RoPE, ALiBi, Position Interpolation.
활용 가능성: 장문 파인튜닝 시 저비용 길이 확장, curriculum extension의 초기화 전략.

💡 Dilation은 convolution뿐 아니라 attention에도 “거의 공짜로” 수용장을 확장한다

출처: Longformer - The Long-Document Transformer (Beltagy et al., 2020)
유형: 방법론적

윈도우 내 토큰을 간격 d로 샘플링하면 연산량은 그대로인 채 receptive field가 d배 확장된다. 일부 헤드만 dilated로 설정하여 멀티스케일 표현을 얻는 것이 실무적 권장.

핵심 조건/맥락: 문자 LM에서 효과가 크고 downstream token-level 태스크에서는 상대적으로 작음.
연결: WaveNet, Dilated Convolution.
활용 가능성: 긴 오디오·DNA 시퀀스, hierarchical attention 설계.

💡 Global attention을 위한 “별도 Q/K/V 파라미터” 분리는 pretrained 로컬 표현을 보호한다

출처: Longformer - The Long-Document Transformer (Beltagy et al., 2020)
유형: 방법론적

Global과 local이 같은 프로젝션을 공유하면 fine-tuning 시 local behavior가 훼손된다. 별도 Q_g/K_g/V_g를 두되 local projection 값으로 초기화하면 안정적 수렴.

핵심 조건/맥락: continued pretraining 체제에서 특히 중요.
연결: Adapter, LoRA(파라미터 분리 철학 공유).
활용 가능성: 새로운 attention 모드 추가 시 기존 능력 보존 전략.

💡 장문서 태스크의 성능 향상은 “모델 용량”이 아니라 “정보 경로”의 문제다

출처: Longformer - The Long-Document Transformer (Beltagy et al., 2020)
유형: 연결

같은 RoBERTa-base 파라미터 수로도 attention 연결 패턴만 재설계하면 IMDB/Hyperpartisan/WikiHop에서 큰 개선. 즉 장문 성능 병목은 파라미터가 아니라 정보가 흐를 수 있는 그래프 구조.

핵심 조건/맥락: 문서 내부에 실제로 장거리 의존성이 존재하는 태스크.
연결: Retrieval-Augmented Generation, State Space Models.
활용 가능성: 효율 모델 설계 시 “파라미터 늘리기 vs 경로 늘리기” 의사결정 프레임.


핵심 용어 정리

용어정의
Self-attention시퀀스 내 모든 토큰 쌍에 대한 Q·K 내적으로 가중합을 계산하는 연산. 표준 복잡도 O(n²).
Sliding window attention각 토큰이 좌우 고정 폭 w의 이웃만 attend하는 패턴. O(n·w).
Dilated attention윈도우 내 토큰을 간격 d로 샘플링하여 receptive field를 d배 확장.
Global attention소수의 토큰이 전체 시퀀스를 양방향으로 attend하는 패턴.
Receptive field한 출력 위치가 입력의 어느 범위까지 영향을 받는지의 범위.
Continued pretraining사전학습된 체크포인트에서 새로운 도메인/길이로 학습을 이어가는 방식.
LEDLongformer-Encoder-Decoder. BART 초기화 + 인코더에 Longformer attention 적용한 seq2seq 모델.
Position embedding copy-init기존 길이의 positional embedding을 반복 복제하여 더 긴 길이로 초기화하는 기법.
BPCBits Per Character. 문자 단위 언어 모델의 perplexity 지표.

태그

paper #2020 sparse-attention long-context transformer longformer attention-pattern