표준 self-attention은 (n × n) score 행렬과 행별 softmax 계산. 시간과 메모리 둘 다 시퀀스 길이에 대해 O(n²). 토큰 수천 개까지는 싸. 32K 넘어가면 비싸지고, 128K 넘어가면 잔혹하고, 1M 넘어가면 아키텍처 변경 없이는 비현실적.
| 시퀀스 길이 n | (n × n) 항목 | head 하나당 FP16 메모리 |
|---|---|---|
| 1K | 1M | 2 MB |
| 8K | 64M | 128 MB |
| 32K | 1B | 2 GB |
| 128K | 16B | 32 GB |
| 1M | 1T | 2 TB |
32+ head, 80+ layer LLaMA 스타일 모델이면 약 2,560을 곱해. 1M 토큰에서 단일 head attention만 해도 이미 2 TB; 풀 multi-head, multi-layer attention은 페타바이트의 중간 저장소 필요 — FFN 시작도 안 한 거지. LLaMA 4 Scout(10M 컨텍스트), Gemini 2.5 Pro(1M 컨텍스트) 같은 모델이 전체 시퀀스 길이에서 표준 dense attention 안 돌리는 이유. 효율적 근사 사용(Flash Attention은 정확하지만 메모리에서 타일링; sliding-window, sparse, Mamba 하이브리드 대안은 부정확).