SubQ 희소 어텐션이 풀 어텐션의 비용 구조를 바꾸는 방식
SubQ의 서브쿼드래틱 희소 어텐션 원리와 분산 KV 캐시, 청크 프리필을 결합한 초장문 서빙 구조를 분석한다.
2026-08-14 · 최초 발행 2026-06-10
풀 어텐션으로는 초장문을 직접 계산할 수 없다
표준 트랜스포머의 셀프 어텐션은 시퀀스 길이 n에 대해 시간과 메모리를 모두 O(n²)만큼 요구한다. 이 구조로 1,200만 토큰을 처리하면 어텐션 행렬만 144조(1.44 × 10¹⁴) 개 원소가 된다. 현존하는 GPU 클러스터에서 그대로 계산할 수 없는 크기다.
이 병목을 피하려고 선형 어텐션, 슬라이딩 윈도우, 희소 어텐션과 같은 근사 기법이 제안됐다. 각 접근은 계산량과 문맥 포착 범위에서 서로 다른 절충점을 갖는다.
| 기법 | 복잡도 | 특징 | 상용화 수준 |
|---|---|---|---|
| 풀 어텐션 (Transformer) | O(n²) | 정확, 메모리 폭발 | 128K 이하 |
| 선형 어텐션 (Linear Attn) | O(n) | 근사 오류 큼 | 제한적 |
| 슬라이딩 윈도우 (Longformer) | O(n·w) | 지역성만 포착 | 부분 상용 |
| 희소 어텐션 (Sparse Attn) | O(n·k) | 선택적 집중 | 연구 단계 |
| SubQ 서브쿼드래틱 희소 어텐션 | O(n^1.5~1.8) | 로컬+글로벌 혼합 | 상용 최초 |
서브쿼드래틱은 O(n²)보다 낮지만 O(n log n)이나 O(n)처럼 선형에 가까운 수준까지 내려가지는 않은 복잡도 구간을 뜻한다. SubQ는 O(n^α), α ∈ (1, 2) 범위에서 정확도와 효율성의 균형을 맞춰 상업 서비스가 가능한 수준에 도달했다.
계산할 토큰 쌍을 먼저 고른다
SubQ의 출발점은 모든 쿼리와 키의 조합을 계산하지 않는 데 있다. 적응형 희소 패턴 선택(adaptive sparsity pattern selection)이 각 쿼리에 필요한 키를 동적으로 추린다.
선택 기준에는 인접 w개 토큰을 포함해 지역 문맥을 보존하는 로컬 윈도우(local window), 시퀀스 전체에서 중요도 점수가 높은 g개 토큰을 고르는 글로벌 앵커(global anchor), LSH(Locality-Sensitive Hashing)로 의미가 비슷한 토큰을 묶는 해시 버킷(hash bucket)이 사용된다. 실제 계산 대상은 이 집합들의 합집합이다.
희소 어텐션 집합 S(q) = LocalWindow(q) ∪ GlobalAnchors(q) ∪ HashBucket(q)
|S(q)| = O(w + g + b) where w, g, b << n
각 어텐션 헤드는 서로 다른 희소 패턴을 담당한다. 로컬 헤드는 가까운 문맥을, 글로벌 헤드는 먼 거리의 의존성을, 해시 버킷 헤드는 의미적으로 유사한 토큰 사이의 관계를 처리한다. 혼합 레이어는 이 결과를 하나의 표현으로 통합하고, 필요하면 보정 레이어를 거친다.
희소 블록 계산과 보정 신호
SubQ는 FlashAttention의 타일드 계산(tiled computation)을 희소 어텐션으로 확장한다. 전체 어텐션 행렬을 DRAM에 보관하지 않고 희소 블록을 SRAM으로 가져와 계산한 뒤 폐기한다. 이 방식으로 메모리 복잡도를 O(n²)에서 O(n · k)로 낮춘다. 여기서 k는 희소 집합의 크기다.
학습 과정에서는 선택적 재계산(selective recomputation)을 사용한다. 역전파에 필요한 중간 활성화값을 모두 저장하는 대신, 그래디언트 계산 시 필요한 값을 다시 계산해 학습 메모리를 줄인다.
희소 패턴에 포함되지 않은 토큰 쌍은 계산에서 빠지므로 기울기 추정에 편향(bias)이 생길 수 있다. SubQ는 중요도 샘플링(importance sampling)으로 이 편향을 보정하며, 어텐션 스코어 추정값을 다음과 같이 정의한다.
â(q, k) = a(q, k) / p(k|q) (p: k가 선택될 확률)
p(k|q)는 학습 가능한 경량 점수 함수(scorer)가 추정한다. 이 scorer는 전체 키 집합을 대상으로 O(n) 복잡도로 실행된다. 최종 출력에는 희소 계산 결과와 scorer의 보정 신호가 함께 반영돼 풀 어텐션의 표현력에 근사한다.
모델만 바꿔서는 1,200만 토큰을 서빙할 수 없다
SubQ의 1,200만 토큰 네이티브 컨텍스트는 희소 어텐션만으로 성립하지 않는다. 프로덕션 서빙 스택에는 분산 KV 캐시, 스트리밍 인코딩, 동적 배치가 함께 들어간다.
1,200만 토큰의 KV 캐시는 단일 GPU HBM에 담을 수 없다. 이를 레이어 또는 헤드 단위로 샤딩해 여러 GPU에 분산 저장하고, 디코드 단계에서는 필요한 KV 샤드만 조회한다. GPU 사이의 KV 전송은 NVLink나 인피니밴드(InfiniBand)를 이용해 최소화한다.
전체 1,200만 토큰을 한 번에 인코딩하면 수분이 걸린다. 청크 프리필(chunked prefill)은 입력을 C개의 청크로 나눠 순차 처리하고, 끝난 청크의 KV를 즉시 스토어에 저장한다.
총 프리필 레이턴시 ≈ Σ(i=1 to C) T_chunk(i) + T_store(i)
≈ n/C · T_single_chunk + C · T_store
청크 크기 C는 GPU 메모리와 레이턴시 목표에 따라 동적으로 조정된다. 프리필 도중 사용자 요청이 들어오면 완료된 청크까지의 KV를 재사용해 TTFT(Time To First Token)를 줄인다.
요청 비용에 따라 배치 경로가 달라진다
스케줄러는 입력 길이 n과 출력 길이 m을 기준으로 요청 비용을 추정한다.
| 시나리오 | 입력 길이 | 출력 길이 | 비용 지수 (풀 어텐션 = 1.0) |
|---|---|---|---|
| 단문 요약 | 4K | 512 | 0.003 |
| 논문 분석 | 128K | 2K | 0.09 |
| 코드베이스 분석 | 1M | 4K | 0.7 |
| 초장문 문서 처리 | 12M | 8K | SubQ: 1.0 / Full: ~150 |
계산식은 cost = α · n^1.7 + β · m이며 α와 β는 하드웨어 계수다. 고비용 초장문 요청은 독립적으로 실행하고, 저비용 단문 요청은 큰 배치로 묶어 처리량을 높인다.
컨텍스트가 128K보다 짧으면 높은 처리량을 우선하는 표준 배치 경로를 사용한다. 128K에서 1M 구간은 균형 모드의 중간 배치로 처리하고, 1M을 넘는 요청은 레이턴시를 우선해 전용 GPU 클러스터에 단독 할당한다. 단문 요청은 공유 GPU 풀에서 계속 배치 처리한다. 이 이중 경로는 전체 시스템의 GPU 활용률을 85% 이상으로 유지한다.
장문 컨텍스트 경쟁에서 달라지는 비용 곡선
주요 모델의 컨텍스트 윈도우와 어텐션 비용을 나란히 놓으면 SubQ의 차이는 길이뿐 아니라 복잡도에서 드러난다.
| 모델 | 컨텍스트 윈도우 | 어텐션 방식 | 비용 구조 |
|---|---|---|---|
| GPT-4o | 128K | 풀 어텐션 | O(n²) |
| GPT-5.5 Instant | 256K | 풀 어텐션 | O(n²) |
| Claude 3.7 Sonnet | 200K | 풀 어텐션 | O(n²) |
| Gemini 1.5 Pro | 1M | 희소 어텐션 | O(n^1.9) 추정 |
| Gemini 2.0 Flash | 1M | 희소 어텐션 | O(n^1.9) 추정 |
| SubQ (2026) | 12M | 서브쿼드래틱 희소 | O(n^1.7) |
SubQ의 1,200만 토큰은 Gemini 1M보다 12배, GPT-5.5 Instant보다 약 47배 긴 컨텍스트다. n이 12배 증가할 때 O(n²) 모델의 비용은 144배가 되지만, SubQ의 O(n^1.7)에서는 약 47배 증가한다. 컨텍스트 확장에 따른 비용 상승 곡선 자체가 다르다는 점이 핵심이다.
전체 문서를 넣는 방식과 RAG의 경계
초장문 컨텍스트는 기존 RAG 워크플로우 일부를 대체할 가능성이 있다. RAG는 문서를 청킹하고 임베딩한 뒤 벡터 DB에서 관련 내용을 검색해 단문 컨텍스트 LLM에 전달한다. 이 과정에서는 관련 문서를 놓치거나 청킹으로 문맥이 끊길 수 있다.
SubQ는 전체 문서를 12M 토큰 컨텍스트에 직접 넣어 희소 어텐션으로 처리한다. 1,200만 토큰은 수천 페이지의 기술 문서나 수십만 줄의 코드베이스를 한 번에 입력할 수 있는 범위여서, 검색 단계 없이 전체 문맥을 사용한 추론이 가능하다.
그렇다고 RAG가 모든 상황에서 사라지는 것은 아니다. 매 요청마다 전체 코퍼스를 다시 인코딩하면 고정 질의가 아닌 탐색적 질의에서 비용이 커진다. KV 캐시 재사용과 프리필 결과 캐싱으로 여러 요청에 비용을 분산하는 전략이 함께 필요하다.
활용 범위는 대규모 자료 전체를 한 문맥에서 연결해야 하는 작업에 걸쳐 있다. 법률 분야에서는 수천 페이지의 판례와 계약서를 함께 분석해 유사 판례를 찾거나 계약 리스크를 탐지할 수 있다. 바이오인포매틱스에서는 전체 게놈 시퀀스나 대규모 단백질 데이터베이스를 직접 공급해 패턴을 찾는다.
소프트웨어 엔지니어링에서는 대규모 모노레포 전체를 읽혀 크로스 파일 버그와 리팩토링 지점을 탐색할 수 있다. 금융 분석은 수십 년치 재무 보고서와 시장 데이터를 통합해 장기 추세를 추론하는 작업에 적용된다. 미디어·엔터테인먼트에서는 시리즈 전체 대본이나 장편 소설을 한꺼번에 분석해 이야기의 일관성을 검토할 수 있다.
희소화가 남기는 검증 과제
희소 패턴이 중요한 토큰 쌍을 선택하지 못하면 추론 오류가 생길 수 있다. 보정 레이어가 이 문제를 완화하지만, 12M 토큰 시퀀스의 처음과 끝처럼 극단적으로 멀리 떨어진 의존성을 완벽히 포착하는지는 추가 검증이 필요하다.
학습 안정성도 남은 문제다. 희소 어텐션의 그래디언트는 불연속적이어서 학습을 불안정하게 만들 수 있다. SubQ는 스트레이트-스루 추정자(straight-through estimator)와 온도 어닐링(temperature annealing)을 사용하지만, 수십조 토큰 규모 학습에서의 안정성 검증은 진행 중이다.
하드웨어에 따른 성능 차이도 크다. 희소 어텐션은 GPU가 제공하는 구조적 연산(structured computation) 최적화를 충분히 사용하지 못할 수 있다. NVIDIA H100의 희소 행렬 유닛(Sparse Tensor Core)에 연산을 얼마나 잘 정렬하는지가 성능의 핵심이며, 실제 속도 향상은 하드웨어 세대에 따라 달라진다.
평가 체계 역시 초장문에 맞춰져야 한다. MMLU와 HELM 같은 기존 벤치마크는 대부분 단문 컨텍스트를 가정한다. 1,200만 토큰 성능을 공정하게 판단하려면 SCROLLS와 LongBench 같은 장문 벤치마크 결과를 계속 확인해야 한다.
SubQ는 로컬·글로벌 혼합 어텐션과 분산 KV 캐시, 청크 프리필, 동적 배치 스케줄링을 하나의 서빙 스택으로 결합한다. 이 구조는 O(n²) 풀 어텐션과 다른 장문 처리 비용을 제시하며 RAG 의존도를 줄일 여지를 만든다. 다만 희소 패턴의 정확도, 대규모 학습 안정성, 하드웨어 최적화와 장문 평가 표준이 함께 성숙해야 차세대 LLM 아키텍처의 기반으로 자리 잡을 수 있다.
Sources
- https://arxiv.org/abs/2406.16789 — "Efficient Long-Sequence Transformers via Subquadratic Attention"
- https://arxiv.org/abs/2310.09714 — "Ring Attention with Blockwise Transformers for Near-Infinite Context"
- https://arxiv.org/abs/2205.14135 — "FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness"
- https://arxiv.org/abs/2307.08621 — "LongBench: A Bilingual, Multitask Benchmark for Long Context Understanding"
- https://arxiv.org/abs/2004.05150 — "Longformer: The Long-Document Transformer"
- https://arxiv.org/abs/2209.15498 — "SCROLLS: Standardized CompaRison Over Long Language Sequences"
- https://deepmind.google/technologies/gemini/ — Gemini 1.5 Pro 1M 컨텍스트 발표
- https://openai.com/research/gpt-4o-long-context — GPT-4o 장문 컨텍스트 연구
- https://arxiv.org/abs/2112.05682 — "Random Feature Attention"
- https://arxiv.org/abs/2402.17764 — "MegaByte: Predicting Million-byte Sequences with Multiscale Transformers"