Sparse Transformer — 희소 어텐션으로 긴 시퀀스 생성하기
Digest: 표준 Transformer의 dense self-attention(모든 토큰 쌍에 대한 가중합)은 시퀀스 길이 N에 대해 O(N²) 의 메모리·연산 비용을 가지므로, 수천~수만 토큰 규모의 장문 텍스트·고해상도 이미지·긴 오디오를 한 번에 모델링하기 어렵다. 저자들은 학습된 dense attention의 head별 attention 패턴을 시각화한 결과, 대부분의 head가 지역적(local) 또는 주기적(strided) 패턴 으로 수렴한다는 관찰을 얻는다(Figure 2). 이 통찰을 바탕으로 attention을 두 개의 sparse-head로 factorize(분해) 하여, 각 위치가 O(√N)개의 원소만 참조하면서도 composition을 통해 모든 위치에 도달 가능하도록 설계한다. 구체적으로 strided pattern(주기적 stride, 이미지·오디오 등 주기성 있는 데이터)과 fixed pattern(고정 요약 토큰, 텍스트처럼 주기성이 불분명한 데이터) 두 변형을 제시하고, pre-LayerNorm 재구성과 gradient checkpointing을 결합하여 128개 레이어·최대 30,720 토큰 컨텍스트의 모델을 단일 GPU에 학습시킨다. Enwik8 1.03 bpb, CIFAR-10 2.80 bpd, ImageNet 64×64 3.44 bpd로 당시 SOTA 를 달성(Table 1–3)하면서도 dense Transformer 대비 수 배 빠른 속도를 보인다. 저자는 attention pattern이 여전히 수작업(handcrafted)이라는 점과 학습된 sparse 패턴이 아니라는 점을 한계로 인정하며, 이 논문은 이후 Longformer·BigBird·Reformer 로 이어지는 sparse/efficient attention 계보의 출발점이 된다. 남은 질문은 “데이터 의존적으로 sparse 패턴을 학습할 수 있는가”, “O(N√N)보다 더 타이트한 복잡도 하한이 존재하는가” 이다.
섹션별 요약
Introduction
- Transformer는 강력하지만 self-attention이 시퀀스 길이에 대해 O(N²) 로 스케일하여 수천 토큰 이상의 시퀀스에는 적용이 어렵다.
- 기존 해결책(hierarchical, recurrence 기반)은 장거리 의존성을 손상시키거나 병렬성을 잃는다.
- 본 논문은 factorized self-attention 으로 복잡도를 O(N√N) 으로 줄이고, 텍스트·이미지·오디오 세 modality에서 SOTA를 달성한다.
Methods
- 관찰: 128-layer dense Transformer를 CIFAR-10에 학습시키고 각 head의 attention map을 시각화한 결과, 학습된 패턴 대부분이 local window 또는 일정 stride의 주기적 구조로 수렴한다(Figure 2).

Figure 2 해설 — 학습된 Dense Attention은 자발적으로 Sparse해진다
무엇을 보여주는 그림인가: CIFAR-10 (32×32 픽셀을 raster-scan으로 직렬화한 1024 길이 시퀀스) 에 학습한 128-layer dense Transformer 의 attention head들이 한 픽셀(흰색 ☆ 표시) 을 예측할 때 어디를 보는지 를 시각화한 것. 밝은 점 = attention weight가 큰 위치. 네 패널 (a)-(d) 는 서로 다른 레이어에서 추출되어, 깊이에 따른 attention 구조의 변화를 한눈에 보여준다.
📺 Raster-scan 직렬화란?
2D 이미지를 1D 시퀀스로 펼치는 가장 단순한 방법으로, TV 브라운관(CRT) 의 전자빔이 화면을 그리는 순서에서 이름이 유래했다. 화면 좌상단에서 시작해 한 행을 왼쪽→오른쪽으로 훑은 뒤 한 줄 아래로 내려가 다시 왼쪽부터 훑는 식이다. CIFAR-10(32×32) 의 경우 픽셀을(row=0,col=0), (0,1), ..., (0,31), (1,0), (1,1), ..., (31,31)순서로 나열해 길이 32×32=1024 시퀀스로 변환한다 (RGB 채널까지 풀면 3072). 이 변환의 핵심 부산물:
- 인접 시퀀스 위치 = 가로 인접 픽셀 → “직전 토큰” 에 주목하는 것이 곧 (a) 의 local pattern.
- 거리 32만큼 떨어진 토큰 = 한 줄 위의 같은 열 픽셀 → stride 32 로 점프하는 것이 곧 (b) 의 column-like pattern.
- 따라서 strided pattern (head 1: local, head 2: stride l) 의 stride 값을 l = 이미지 width 로 두면 2D 격자의 상하좌우 이웃이 자연스럽게 복원된다.
- 단점: 세로 인접 픽셀이 시퀀스상으로는 32 토큰 떨어져 있어 2D locality의 일부가 파괴됨 (Discussion 의 한계로 명시).
(a) Layer 19 — Local attention pattern
예측 위치 바로 이전의 좁은 윈도우(직전 몇 픽셀)에만 주목한다. 자연 이미지의 국소 상관성(인접 픽셀 유사성) 을 그대로 반영한 결과로, CNN의 receptive field와 본질적으로 동일한 구조다. → 이 관찰이 strided pattern의 head 1 (local window) 설계로 직결된다.(b) Layer 20 — Row/column-like (strided) pattern
같은 행(row) 또는 같은 열(column) 의 픽셀들에만 주목한다. 이미지가 width=32로 직렬화되었기 때문에 “32 간격으로 떨어진 토큰” = “한 칸 위의 픽셀” 이 된다. 즉 head가 2D 격자 구조를 stride=32 로 재발견 한 것. → strided pattern의 head 2 (stride l 간격 참조) 설계 근거.(c) Layers 6, 36 — Data-dependent global pattern
이미지 내용에 따라 위치적으로 비국소적인 영역(예: 동일한 객체의 다른 부분, 유사 텍스처) 에 주목한다. 패턴이 입력마다 달라지므로 단일 고정 마스크로는 포착이 어렵다 — 이는 sparse attention의 잔여 expressiveness 한계 를 시사하며, 후속 연구(Reformer의 LSH, Routing Transformer) 의 동기가 된다.(d) Layers 64-128 — Highly sparse, data-dependent
깊은 층으로 갈수록 attention이 극도로 희소 해지면서, 한 픽셀이 입력 의존적으로 선택된 소수의 “핵심 단서” 픽셀에만 주목한다. → “dense 계산의 대부분이 0에 가까운 가중치로 낭비되고 있다”는 주장의 직접적 증거.요약: (a)·(b) 같은 구조적·반복적 패턴은 handcrafted sparse mask로 그대로 모사 가능 → 이것이 본 논문의 factorized strided/fixed attention 의 핵심 정당화. (c)·(d) 같은 데이터 의존 패턴은 본 논문 범위 밖이며, 이후 Reformer·BigBird·Routing Transformer가 다루게 된다. 즉 Figure 2는 본 논문의 출발점이자 한계 지점을 동시에 드러낸다.
- Factorized Self-Attention: 하나의 dense attention을 p개의 sparse attention head로 분해. 각 head는 위치 i에서 subset 만 참조하며, p=2일 때 각 subset 크기를 √N으로 두면 전체 복잡도가 O(N√N) 이 된다.
- Strided pattern (주기적 데이터): head 1은 최근 l개 토큰(local), head 2는 stride l 간격의 토큰(column-like). 이미지·오디오처럼 주기성이 명확한 데이터에 적합.
- Fixed pattern (텍스트 등 비주기 데이터): head 1은 같은 블록 내부, head 2는 각 블록의 마지막 몇 개 토큰(요약 토큰)을 모든 후속 위치가 참조. 주기 구조가 없는 텍스트에 적합.
- 구조적 변경:
- Pre-activation residual (pre-LN): 매우 깊은 네트워크(128층) 학습 안정화.
- Gradient checkpointing: 중간 activation을 저장하지 않고 재계산하여 메모리 대폭 절감. 수만 토큰 컨텍스트를 단일 GPU에 학습 가능.
- Mixed precision + 효율적 sparse attention 커널: 커스텀 GPU 커널로 sparse 패턴을 고속 연산.
- Relative position embedding 및 이미지 raster-scan 직렬화.
Results
| Model/Method | Dataset | Metric | Score | vs. Baseline |
|---|---|---|---|---|
| Sparse Transformer | enwik8 | bpb | 0.99 (test) / 1.03 | 이전 SOTA(Transformer-XL) 대비 개선 |
| Sparse Transformer | CIFAR-10 | bpd | 2.80 | PixelCNN++ 2.92 대비 개선 |
| Sparse Transformer | ImageNet 64×64 | bpd | 3.44 | 이전 SOTA 대비 개선 |
| Sparse Transformer | Classical music (raw audio, 65K samples) | — | 생성 가능 | Dense 불가능한 길이 |
- 동일 파라미터 수 기준 dense Transformer 대비 학습 속도와 메모리 효율 우위.
Discussion
- 한계:
- Attention 패턴이 여전히 수작업(handcrafted) — 데이터 의존적 학습 불가.
- 모달리티별로 적합한 패턴(strided vs fixed)을 수동 선택해야 함.
- 이미지 raster-scan 직렬화는 2D locality의 일부를 파괴.
- 향후 방향: 데이터 의존적 sparse 패턴 학습, 더 긴 시퀀스(수십만~수백만), 다른 modality로 확장.
Insights
- 주목할 점: 학습된 dense attention이 이미 sparse-like 구조를 자발적으로 발견했다는 실증적 관찰이 희소화 설계의 경험적 정당성 을 부여한다.
- 연결 고리: Factorization 아이디어는 convolution의 depthwise-separable 분해, low-rank attention(Linformer)과 정신적으로 유사.
- 시사점: O(N²)의 “물리적 당위성”은 없으며, 구조적 prior 로 대부분의 경우를 커버할 수 있음을 보여줌.
- 비판적 코멘트: 패턴을 수동 설계한 점은 곧 “어떤 데이터에서 어떤 패턴이 최적인가?”라는 질문을 남겼고, 이것이 Longformer·BigBird·Reformer의 차별화 축이 됨.
Discussion Points
- 논쟁점: Sparse 패턴은 표현력(expressiveness)을 얼마나 희생하는가? 이론적으로는 composition으로 full receptive field를 보장하지만 실제 근사 품질은 별개.
- 검증 필요 가정: “학습된 dense head가 대부분 sparse하다”는 관찰이 모든 도메인·규모에서 성립하는지.
- 후속 연구: Longformer (2020), BigBird (2020), Reformer (2020), Routing Transformer, Performer 등.
왜 이 연구를 하는가?
핵심 질문
“Self-attention의 O(N²) 복잡도를 모델 성능을 유지하면서 어떻게 줄일 수 있는가?”
기존 접근법의 한계
| 한계 | 설명 |
|---|---|
| Dense self-attention O(N²) | 시퀀스 길이가 수천을 넘어가면 메모리·연산이 폭증 |
| Hierarchical / recurrent 대안 | 장거리 의존성을 유실하거나 병렬성을 잃음 |
| Truncated context | 긴 문맥 정보 자체를 버리게 됨 |
핵심 통찰
- 학습된 dense attention head의 패턴은 실제로는 대부분 local + periodic (strided) 로 수렴함 — 모든 쌍을 연산하는 것은 낭비.
- 두 개의 희소 head로 factorize 하면 composition을 통해 full receptive field를 보존하면서 O(N√N)으로 낮출 수 있음.
방법 (Method)
프레임워크 개요
graph TB A["입력 시퀀스 (길이 N)"] --> B[Token + Position Embedding] B --> C[Pre-LN Residual Block 반복 × L] C --> D{Factorized Self-Attention} D -->|"Head 1"| E["Local Attention<br/>(최근 √N 토큰)"] D -->|"Head 2 (Strided)"| F["주기 √N 간격 토큰<br/>(이미지·오디오)"] D -->|"Head 2 (Fixed)"| G["블록 요약 토큰<br/>(텍스트)"] E --> H[FFN + Residual] F --> H G --> H H --> I["다음 레이어 또는 Output (다음 토큰 분포)"] style D fill:#ffeaa7 style F fill:#a8dadc style G fill:#f7cac9
Strided pattern (주기성 있는 데이터):
토큰 위치: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Head1(local,l=4): ■ ■ ■ ■ ← i=15
Head2(stride,l=4): ■ ■ ■ ← j ≡ i (mod 4)
Fixed pattern (텍스트 등 비주기 데이터):
블록 크기 l=4, 요약 영역 c=2
블록: [0 1 2 3] [4 5 6 7] [8 9 10 11] [12 13 14 15]
↑↑ ↑↑ ↑↑↑↑ ← i=15
Head1(같은 블록 내부): 12,13,14
Head2(이전 블록의 마지막 c=2 토큰을 전역 요약으로 사용): 2,3, 6,7, 10,11
핵심 구성요소
- Factorized attention (p=2): 위치 i에서 참조하는 집합 Aᵢ = Aᵢ⁽¹⁾ ∪ Aᵢ⁽²⁾, |Aᵢ⁽ᵐ⁾| = O(√N).
- Strided: Aᵢ⁽¹⁾ = {i−l, …, i−1}, Aᵢ⁽²⁾ = {j : (i−j) mod l = 0}. 2D 격자 구조에 자연스러움.
- Fixed: Aᵢ⁽¹⁾ = 현재 블록 내부, Aᵢ⁽²⁾ = 이전 블록의 마지막 c개 토큰(전역 요약). 언어 모델링에 적합.
- Integration 방식 세 가지: (1) 한 residual block당 한 head만 사용하고 교차, (2) 두 head의 출력을 concat·project, (3) multi-head로 분산 — (1)이 가장 효율적.
- Pre-LN residual:
x + Attn(LN(x))형태로 매우 깊은 네트워크의 gradient flow 개선. - Gradient checkpointing: 메모리 O(L) → O(√L) 수준으로 절감.
- 커스텀 sparse attention 커널: block-sparse 연산을 GPU에서 효율적으로 실행.
발견 (Findings)
주요 결과
| 모델 | 데이터셋 | Bits/byte 또는 Bits/dim | 비고 |
|---|---|---|---|
| Sparse Transformer (strided) | enwik8 (12,288 ctx) | 0.99 test / 1.03 val bpb | 당시 SOTA |
| Sparse Transformer | CIFAR-10 | 2.80 bpd | PixelCNN++ 2.92 대비 개선 |
| Sparse Transformer | ImageNet 64×64 | 3.44 bpd | 당시 SOTA |
| Sparse Transformer | Classical audio (65,536 samples) | 질적 생성 | Dense로는 불가능한 규모 |
핵심 발견
- Factorization으로 O(N²) → O(N√N) 이 가능하면서 표현력 손실 없이 SOTA 달성.
- Modality에 맞는 패턴 선택이 중요: 이미지/오디오 → strided, 텍스트 → fixed.
- 깊은 네트워크(128 레이어)의 학습 안정성에 pre-LN + gradient checkpointing이 필수.
이론적 의의
Dense attention의 낭비 실증
학습된 head 대부분이 이미 sparse-like한 구조로 수렴한다는 관찰은, “모든 토큰 쌍을 계산하는 것”이 필연적이 아니라 낭비 임을 보인 첫 대규모 증거다.
Composition을 통한 Full Receptive Field
각 head가 √N개만 보더라도 두 head의 composition으로 모든 위치가 서로 2-step 내에 도달 가능하다. 이는 graph 관점에서 small-world network 설계와 유사한 아이디어로, 이후 BigBird의 이론적 universal approximation 증명으로 확장된다.
Sparse Attention 계보의 시초
본 논문은 “structured sparsity + local + global” 세 축을 최초로 제시했고, Longformer(dilated sliding + global), BigBird(local + global + random), Reformer(LSH)가 각 축을 변형·확장하는 구도로 발전한다.
재현성 및 신뢰도 평가
| 항목 | 등급 | 비고 |
|---|---|---|
| 코드 공개 | ⚠️ | OpenAI에서 blocksparse 커널 공개(https://github.com/openai/blocksparse). 전체 학습 코드는 부분적. |
| 데이터 공개 | ✅ | enwik8, CIFAR-10, ImageNet 64×64 모두 공개 표준 벤치마크. |
| 하이퍼파라미터 | ⚠️ | 주요 설정은 보고되었으나 일부 학습 스케줄 세부는 누락. |
| 실험 환경 | ⚠️ | GPU 수, 학습 시간 언급되나 완전한 재현 레시피는 부족. |
| 통계적 신뢰도 | ⚠️ | 단일 실행 결과 중심, 표준편차·다중 실행 부재. |
| 종합 등급 | B | 아이디어·커널은 공개되어 재구현 활발, 완전 1:1 재현은 다소 제약. |
주장별 신뢰도
| # | 주장 | 근거 | 신뢰도 |
|---|---|---|---|
| 1 | Factorized sparse attention은 O(N√N)으로 dense 성능을 달성한다 | Table 1–3, 3개 modality에서 SOTA | 🟢 |
| 2 | 학습된 dense attention head가 대부분 sparse-like 구조로 수렴한다 | Figure 2 시각화(CIFAR-10 head 분석) | 🟡 (특정 데이터·규모에서 관찰) |
| 3 | Pre-LN + gradient checkpointing으로 128-layer 학습이 안정적이다 | 실제 수렴·성능 | 🟢 |
| 4 | Strided는 이미지·오디오에, Fixed는 텍스트에 각각 최적이다 | Ablation(Table 4류) | 🟡 (도메인별 선험적 설계) |
읽기 난이도: ⭐⭐
Transformer·언어모델링·이미지 픽셀 모델링(PixelCNN 계열) 기본기를 알고 있으면 무리 없음. Factorization 수식과 블록-sparse 커널 세부가 약간 난이도를 올림. 필요 배경: self-attention, auto-regressive generative model, GPU 메모리/연산 특성.
관련 연구 비교 매트릭스
| 축 | Sparse Transformer (본) | Longformer (2020) | BigBird (2020) | Reformer (2020) |
|---|---|---|---|---|
| 핵심 접근 | Factorized strided/fixed sparse | Dilated sliding window + global tokens | Local + global + random | LSH-based clustering |
| 패턴 종류 | Strided / Fixed (handcrafted, 주기성·블록 요약) | Dilated sliding window + task-specific global | Local + global + random (3축 혼합, 이론적 universal approximator 증명) | Locality-Sensitive Hashing (데이터 의존적 clustering) |
| 복잡도 | O(N√N) | O(N·w) ≈ O(N) | O(N) | O(N log N) |
| 문제 정의 | Auto-regressive generative LM, image, audio | Long document understanding (분류·QA) | 동일 + NLI·요약·genomics | 효율적 long-seq Transformer 일반 |
| 데이터 | enwik8, CIFAR-10, ImageNet64, 클래식 오디오 | WikiHop, TriviaQA, OntoNotes 등 | arXiv, PubMed, NaturalQ 등 | enwik8, imagenet-64 |
| 핵심 메트릭 | enwik8 0.99 bpb, CIFAR 2.80 bpd | arXiv-summarization SOTA | QA/summarization SOTA | enwik8 1.05 bpb (유사) |
| 확장성 | ~30K 토큰 | ~4K–16K 토큰 | ~4K 토큰 | ~64K 토큰 |
| 한계 | 패턴이 수작업 | Global 토큰 수동 지정 | 무작위 패턴의 해석가능성 저하 | LSH 해시 충돌, 구현 복잡 |
| 코드 공개 | ⚠️ (blocksparse 커널) | ✅ | ✅ | ✅ |
관련 연구
- Longformer - The Long-Document Transformer — Dilated sliding window + global token으로 Sparse Transformer의 텍스트 확장.
- BigBird - Transformers for Longer Sequences — Local + global + random 혼합으로 universal approximation 이론 증명.
- Reformer - The Efficient Transformer — LSH 기반 데이터 의존적 sparse attention.
- Attention Methods — 본 vault의 attention 기법 허브.
- Mamba - Linear-Time Sequence Modeling with Selective State Spaces — attention 자체를 state space로 대체한 계보.
원자적 인사이트 (Zettelkasten)
💡 학습된 Dense Attention은 이미 Sparse하다
출처: Sparse Transformer - Generating Long Sequences with Sparse Transformers (Child et al., 2019)
유형: 실험적·이론적
128층 dense Transformer를 CIFAR-10에 학습시킨 후 head별 attention map을 시각화하면, 대부분의 head가 local window 또는 일정 stride의 주기적 구조로 자발적으로 수렴한다. 이는 “모든 토큰 쌍을 계산해야 한다”는 가정이 물리적 당위가 아니라 학습이 극복하려고 하는 구조적 과잉임을 시사한다.
핵심 조건/맥락: 이미지 픽셀 auto-regressive 모델링에서 관찰됨. 다른 modality(텍스트·코드·멀티모달)에서도 동일한지는 부분적으로만 확인됨.
연결: Longformer - The Long-Document Transformer, BigBird - Transformers for Longer Sequences
활용 가능성: 새로운 sparse/efficient attention 설계 시 “학습된 head의 경험적 패턴”을 먼저 분석하여 structural prior를 역설계하는 방법론.
💡 Factorization으로 Full Receptive Field 보존하기
출처: Sparse Transformer - Generating Long Sequences with Sparse Transformers (Child et al., 2019)
유형: 방법론적
p=2개의 sparse head로 attention을 분해하고 각각 √N개 원소만 참조하게 해도, 두 head의 composition을 통해 모든 위치가 2-step 내에 서로 도달 가능하다. 즉 표현력(expressiveness) 손실 없이 복잡도만 O(N²) → O(N√N)로 줄일 수 있다.
핵심 조건/맥락: head의 참조 집합이 서로 “보완적”이어야 함(예: local + strided). 무작위 분할은 full connectivity를 보장하지 못함.
연결: small-world network, depthwise-separable convolution
활용 가능성: 일반화된 factorized 연산 설계 — attention뿐 아니라 kernel·message passing에도 적용 가능.
💡 Modality별 구조 Prior 선택이 성능을 결정한다
출처: Sparse Transformer - Generating Long Sequences with Sparse Transformers (Child et al., 2019)
유형: 실험적
동일한 factorized attention 프레임워크에서 strided(주기 있는 이미지·오디오)와 fixed(비주기 텍스트)의 적절한 선택이 결정적 차이를 만든다. 이는 “도메인 구조가 아키텍처 prior에 명시적으로 반영되어야 한다”는 classical 교훈을 sparse attention 시대에 재확인한다.
핵심 조건/맥락: 데이터의 주기성/블록 구조가 attention 패턴과 정렬될 때 최적. 패턴이 수작업이라는 점은 한계.
연결: Inductive bias 논의, convolutional locality prior
활용 가능성: 데이터 의존적 sparse 패턴을 메타러닝/강화학습으로 자동 탐색하는 후속 연구(Routing Transformer 등)의 동기.
💡 Pre-LN + Gradient Checkpointing의 시너지
출처: Sparse Transformer - Generating Long Sequences with Sparse Transformers (Child et al., 2019)
유형: 방법론적
매우 깊은 Transformer(128층)를 단일 GPU에서 수만 토큰 컨텍스트로 학습하는 데에는 sparse attention만으로 부족하며, pre-LN으로 그래디언트 흐름을 안정화 + gradient checkpointing으로 activation 메모리를 재계산 비용으로 교환 하는 조합이 필수였다. 이 엔지니어링 패턴은 이후 대형 모델 학습의 표준이 된다.
핵심 조건/맥락: 재계산 비용이 메모리 절감 이득보다 작아야 하며, pre-LN은 post-LN 대비 안정성은 좋지만 최종 성능은 상황에 따라 다를 수 있음.
연결: Megatron-LM 학습 인프라, ZeRO memory optimization
활용 가능성: 제한된 하드웨어에서 long-context·deep 모델을 학습할 때 기본 체크리스트.
💡 Sparse Attention 계보의 설계 공간
출처: Sparse Transformer - Generating Long Sequences with Sparse Transformers (Child et al., 2019)
유형: 연결
Sparse Transformer가 제시한 local + structured sparse 두 축에 이후 연구가 세 번째 축을 차례로 더한다: Longformer(dilated + task-specific global), BigBird(+ random), Reformer(data-dependent via LSH). 이로써 sparse attention의 설계 공간은 {locality, globality, randomness, data-dependence}의 4차원으로 정리된다.
핵심 조건/맥락: 네 축의 조합이 expressive power(universal approximation) vs efficiency의 trade-off를 결정.
연결: Longformer - The Long-Document Transformer, BigBird - Transformers for Longer Sequences, Reformer - The Efficient Transformer
활용 가능성: 새로운 efficient attention 제안 시 “네 축 중 어느 것을 새롭게 건드리는가”로 차별성 자기 점검.
핵심 용어 정리
| 용어 | 정의 |
|---|---|
| Dense self-attention | 모든 토큰 쌍에 대해 softmax(QKᵀ/√d)V를 계산하는 표준 attention. 복잡도 O(N²). |
| Factorized self-attention | 한 dense attention을 p개의 sparse head로 분해하여 각 head가 부분집합만 참조하도록 하는 구조. |
| Strided pattern | 최근 l개(local) + stride l 간격의 먼 토큰을 참조하는 주기적 희소 패턴. 이미지·오디오에 적합. |
| Fixed pattern | 현재 블록 내부 + 이전 블록의 마지막 몇 개(요약 토큰)를 참조하는 희소 패턴. 텍스트에 적합. |
| Bits per byte (bpb) | 문자 단위 언어 모델의 negative log-likelihood를 바이트당 비트로 환산한 지표. 낮을수록 좋음. |
| Bits per dim (bpd) | 이미지 픽셀 채널당 NLL. PixelCNN 계열 평가 표준. |
| Pre-LN residual | x + f(LN(x)) 형태의 residual block. post-LN(LN(x + f(x)))보다 깊은 네트워크 학습이 안정적. |
| Gradient checkpointing | Forward 중 일부 activation만 저장하고 backward 시 재계산하여 메모리를 절감하는 기법. |
| Blocksparse kernel | 블록 단위 희소 행렬 연산을 GPU에서 효율화한 커스텀 CUDA 커널(OpenAI blocksparse). |
| Receptive field | 한 위치의 출력이 참조 가능한 입력 위치 집합. sparse attention에서는 layer 수에 따라 확장됨. |
태그
paper #2019 attention sparse-transformer strided fixed-pattern long-context OpenAI