← 주제 탐구

주제 탐구 · 2026-11-11 · 심화 · 작성자 bombong

계층형 희소 어텐션: 1,000만 토큰을 읽는 어텐션 설계

희소 어텐션은 쿼리마다 일부 키만 읽지만, 무엇을 읽을지 고르는 단계가 여전히 전체를 훑느라 길이가 늘수록 병목이 됐다. 계층형 희소 어텐션은 키를 거친 요약부터 세밀한 토큰까지 층층이 묶고 위에서부터 후보를 좁혀, 고르는 비용을 길이의 로그 수준으로 낮춘다.

목차
핵심 정리
  • 블록 희소 어텐션의 진짜 병목은 '읽기'보다 '고르기'다. 모든 블록이나 키에 점수를 매기면 선택 비용은 여전히 길이에 비례해 커진다.
  • 계층형 설계는 키를 거친 요약에서 세밀한 토큰까지 트리로 묶고, 층마다 상위 몇 개만 남겨 쿼리 하나의 선택 비용을 길이의 로그 수준으로 줄인다.
  • 성패는 요약의 질에 달려 있다. 평균 같은 1차 요약은 어텐션 질량을 잘못 잴 수 있어 2차 통계, RoPE 적용 전 요약, Distill한 요약 키 같은 개선이 나왔다.
  • 묶는 방식도 연속 블록에서 의미가 비슷한 키끼리 묶는 군집 색인으로 넓어지고 있으며, 최근 연구는 100만~1,000만 토큰 구간에서 속도와 정확도를 함께 보고한다.
  • 보고된 배수는 대개 128K 이상, 어텐션 한 층이나 커널 단위 수치이므로 종단 속도, 길이별 검색 정확도, 학습 길이를 넘는 구간을 따로 확인해야 한다.

왜 필요했나: 고르는 일마저 비쌌다

어텐션(Attention)은 새 토큰을 계산할 때 앞에 있는 모든 토큰과 관련도를 잰다. 길이가 N이면 쌍이 N²개라서 컨텍스트 윈도(Context window)를 두 배로 늘리면 계산은 네 배가 된다. 그래서 긴 문서를 읽는 모델은 처음 프롬프트를 한꺼번에 처리하는 프리필 단계와 한 토큰씩 생성하는 디코딩 단계 모두에서 비용이 빠르게 커진다.

이 비용을 줄이는 대표 방법이 블록 희소 어텐션이다. 시퀀스를 일정한 크기의 블록으로 나누고, 쿼리마다 관련 있어 보이는 블록 몇 개만 정확하게 계산한다. COBS 연구논문는 이 방식이 하드웨어 친화적이고 KV 캐시(KV cache)를 읽는 병목을 덜어 준다고 정리했다. 블록 단위로 메모리를 연속해서 읽으므로 GPU가 다루기 쉽다는 장점이 있다.

문제는 어떤 블록을 남길지 고르는 단계다. PISA논문는 기존 블록 선택이 모든 쿼리-블록 쌍에 점수를 매기기 때문에 선택 자체가 여전히 길이의 제곱에 비례한다고 지적했다. 실제 서비스 모델에서도 같은 현상이 보인다. AttentionIndex논문는 DeepSeek-V4·GLM-5처럼 가벼운 인덱서가 키를 골라 주는 학습형 희소 어텐션도 인덱서가 앞쪽의 모든 키에 점수를 매기며, 100만 토큰에서는 이 선택이 프리필 시간의 절반 이상을 차지한다고 보고했다.

결국 질문이 바뀌었다. '무엇을 덜 읽을까'에서 '무엇을 읽을지 어떻게 싸게 고를까'로 옮겨 간 것이다. 계층형 희소 어텐션은 이 두 번째 질문에 대한 답이다.

핵심 아이디어: 도서관에서 책을 찾는 순서

큰 도서관에서 책 한 권을 찾을 때 서가의 책을 하나씩 다 꺼내 보지 않는다. 먼저 층별 안내판에서 맞는 층을 고르고, 그 층의 서가 표지판 몇 개를 보고, 고른 서가 안에서만 책등을 훑는다. 단계마다 몇 개만 보지만 결국 원하는 책 근처에 도착한다.

계층형 희소 어텐션도 같다. 키(앞 토큰들이 내놓은 '찾아보기용' 벡터)를 여러 개씩 묶어 요약 키를 만들고, 그 요약들을 다시 묶어 더 거친 요약을 만든다. 쿼리는 가장 거친 층에서 점수를 매겨 상위 몇 개만 남기고, 남긴 묶음의 자식들만 다음 층에서 다시 점수를 매긴다. 맨 아래 토큰 층에 이르면 남은 토큰에 대해서만 정확한 어텐션을 계산한다.

이렇게 하면 왜 싸질까. 층마다 묶음 크기를 일정 배로 키우면 층 수는 길이의 로그만큼만 늘고, 층마다 보는 후보 수는 상한이 있다. PISA논문는 이 구조로 전체 복잡도를 N log N으로 낮췄고, RecSA논문는 쿼리 하나의 선택 비용과 읽는 항목 수를 모두 길이의 로그 수준으로 만들었다.

대신 맞바꾸는 것이 있다. 도서관 안내판이 엉터리면 엉뚱한 층으로 간다. 요약이 실제 내용을 잘못 대변하면 중요한 토큰이 들어 있는 묶음을 위층에서 떨어뜨리고, 그 아래는 다시 보지 않는다. 그래서 이 분야 연구 대부분은 '요약을 어떻게 만들 것인가'와 '어떻게 묶을 것인가'를 다룬다.

어떻게 작동하나: 다섯 단계

첫째, 요약 트리를 만든다. KV 캐시에 쌓인 키를 일정 개수씩 풀링(여러 벡터를 하나로 합치기)해 요약 키를 만들고, 이를 반복해 여러 층을 쌓는다. RecSA논문는 트리의 각 노드가 자기 아래 전체를 키 하나와 평균 낸 값(value) 하나로 요약하게 했다.

둘째, 가장 거친 층에서 점수를 매긴다. 쿼리와 요약 키의 관련도를 계산해 상위 k개만 남긴다. PISA논문는 이때 묶음 안 점수를 지수 합에 로그를 씌운 LogSumExp로 모아 후보를 고른다.

셋째, 아래 층으로 내려간다. 남긴 후보의 자식들만 다시 점수를 매기고 상위 k개를 남긴다. 후보 집합의 크기가 묶여 있으므로 층마다 드는 비용이 일정하다. DHSA논문도 청크(덩어리) 수준에서 중요도를 추정한 뒤 이를 토큰 수준으로 전파하는 계층 라우팅을 쓴다.

넷째, 남은 토큰에 정확한 어텐션을 계산한다. RecSA논문는 여기서 한 걸음 더 나가, 선택되지 못한 후보의 요약도 정확한 토큰과 같은 softmax(점수를 확률로 바꾸는 함수)에 넣었다. 버린 영역도 대략적으로는 결과에 반영되는 셈이다.

다섯째, 이 모든 과정을 GPU 커널 하나에 묶는다. 계층을 오가는 연산은 잘못 짜면 메모리 왕복이 늘어 이론상 이득을 잃는다. PISA논문는 학습과 추론 모두를 위한 Triton 커널에서 계층 라우팅과 점수 계산을 합쳐, 쿼리-키 점수 행렬 전체를 메모리에 만들지 않게 했다.

계층 선택의 흐름현재 쿼리 → 가장 거친 층; 가장 거친 층 → 중간 층(후보 k); 중간 층 → 토큰 층(후보 k); 토큰 층 → 정확한 어텐션; 정확한 어텐션 → 출력; KV 캐시 → 요약 트리(풀링); 요약 트리 → 가장 거친 층(요약 제공)현재 쿼리가장 거친 층요약 키 점수상위 k개중간 층후보의 자식만 점수토큰 층최종 후보 토큰KV 캐시앞 토큰의 키·값요약 트리풀링으로 만든 층정확한 어텐션남은 토큰만 계산출력후보 k후보 k풀링요약 제공
계층 선택의 흐름 아래 줄에서 KV 캐시를 풀링해 요약 트리를 만들고, 위 줄에서 쿼리가 거친 층부터 상위 k개씩 좁혀 내려가 남은 토큰에만 정확한 어텐션을 계산한다.

설계 선택: 무엇을 맞바꾸나

요약을 무엇으로 만들 것인가. COBS논문는 블록 선택을 '어텐션 질량', 즉 블록 안 어텐션 점수의 합으로 순위를 매기는 문제로 정리했다. 질량이 큰 블록을 제대로 고르면 블록 희소 어텐션이 dense(모든 토큰을 보는) 어텐션 품질에 다가갈 수 있다. 하지만 정확한 질량을 구하려면 모든 키를 읽어야 하므로 요약에서 근사해야 하고, 기존 방법은 평균 같은 1차 근사에 머물러 흔들린다고 분석했다. 블록마다 압축한 2차 통계(퍼진 정도)를 저장하자 32k RULER 검색 벤치마크에서 NSA 기준선 평균 점수가 0.2999에서 0.8195로 올랐고, dense 어텐션은 0.9040이었다.

위치 정보를 어떻게 다룰 것인가. 의미·기하 분리 라우팅 연구논문는 기존 라우터가 RoPE(회전 위치 임베딩)를 적용한 뒤의 표현을 풀링해서, 의미와 위치에서 오는 기하 구조가 뒤섞이고 고주파 성분이 서로 상쇄돼 가까운 위치 단서가 흐려진다고 지적했다. 그래서 의미 요약은 RoPE 적용 전 공간에서 하고 위치 편향은 따로 계산해 더한다. 학습 없이 적용되며 라우팅 오버헤드는 3.4ms 아래, 128K에서 FlashAttention 대비 5.03배 빨랐다고 보고했다.

무엇끼리 묶을 것인가. 연속 블록은 메모리 읽기가 쉽지만, PBS-Attn논문이 지적했듯 한 블록의 쿼리가 필요로 하는 중요 키가 여러 블록에 흩어져 있으면 쓸데없이 많은 블록을 읽게 된다. PBS-Attn은 토큰 순서를 바꿔 블록 희소성을 높이고 긴 컨텍스트 프리필에서 종단 최대 2.75배 속도를 냈다. AttentionIndex논문는 아예 비슷한 키끼리 묶는 역파일 색인(ANN 검색에서 쓰는 군집 기반 색인)을 쓴다. 연속 블록에서 두 단계로 고르는 방식은 후보 예산을 고정하면 길이가 늘수록 찾아야 할 키를 놓치는 비율이 커진다는 이유다.

블록 단위냐 토큰 단위냐. CLSA논문는 구조화된 블록 방식은 가속이 크지만 품질 손실이 눈에 띄고, 토큰 단위 방식은 정확하지만 전체 캐시에 대한 top-k 라우팅이 비싸 종단 가속이 작다고 정리했다. CLSA는 토큰 단위 top-k를 한 번만 계산하고 그 인덱스를 여러 층이 함께 쓰게 해 128K에서 디코딩 최대 7.6배, 전체 처리량 최대 17.1배를 보고했다. 계층형 설계는 토큰 단위의 정밀함을 유지하면서 그 라우팅 비용을 로그 수준으로 줄이려는 다른 갈래의 답이다.

무엇끼리 묶을 것인가

연속 블록위치 순서대로 묶기

  • 메모리를 연속으로 읽어 GPU 친화적
  • 중요 키가 여러 블록에 흩어지면 낭비
  • 고정 예산에서 길이가 늘면 놓침 증가

유사도 군집비슷한 키끼리 묶기

  • 흩어진 관련 키를 한 묶음으로
  • 색인을 만들고 유지하는 비용
  • 인과성(앞 토큰만 보기) 관리 필요

공통 둘 다 요약으로 후보를 좁힌 뒤 남은 토큰만 정확히 계산한다

연속 블록과 유사도 기반 군집은 메모리 읽기 편의와 선택 정확도를 맞바꾼다.

발전 흐름: 2025~2026년 출발점 연구들

2025년 연구들은 희소 어텐션의 서로 다른 약점을 하나씩 짚었다. ReSA논문는 희소 디코딩에서 근사 오차가 쌓여 KV 캐시가 사전학습 때의 분포에서 벗어난다는 문제를 지적하고, 일정 간격마다 dense 계산으로 KV 캐시를 새로 고쳐 오차를 묶어 두었다. 256K 디코딩에서 종단 최대 2.42배 속도를 냈다. DHSA논문는 고정 템플릿 대신 입력에 따라 희소 패턴을 온라인으로 예측하는 청크→토큰 계층 라우팅을 내놓았다. 모델 본체는 그대로 둔 채, 비슷한 프리필 비용에서 블록 희소 어텐션보다 상대 정확도가 12~20% 높았고, 128K에서 프리필 최대 10배 속도, 4비트 LLaMA-3.1-8B로 24GB GPU 한 장에서 10만 토큰을 처리했다. PBS-Attn논문은 토큰 순서 재배열로 블록 경계 문제를 다뤘다.

2026년 상반기에는 '선택을 얼마나 정확하고 싸게 하나'가 중심이 됐다. CLSA논문는 층 사이에서 라우팅 인덱스를 공유해 선택 비용을 나눠 냈고, COBS논문는 선택 문제를 어텐션 질량 근사로 정식화하며 요약 통계의 차수가 중요하다는 점을 보였다.

2026년 9월에는 요약과 계층을 정면으로 다룬 연구가 나왔다. 의미·기하 분리 라우팅논문은 요약을 RoPE 앞쪽 공간으로 옮겼고, PISA논문는 거친 층부터 세밀한 층까지 피라미드 Top-K 선택으로 전체 N log N 복잡도를 명시적으로 달성했다. PISA는 언어 모델링 실험에서 상식 추론 벤치마크는 기준선과 비슷하고 검색 과제는 더 좋다고 보고했다.

이 연구들은 서로를 직접 잇는다고 밝힌 계보가 아니라 같은 시기에 같은 병목을 다른 각도에서 공략한 것이다. 아래 지도는 시기별로만 묶었다.

계층형 희소 어텐션 연구 지도 같은 병목을 다른 각도에서 공략한 연구들을 시기별로 묶었다. 직접 계승 관계가 밝혀지지 않아 화살표로 잇지 않았다.

요즘 어디로 가고 있나: 100만에서 1,000만 토큰으로

2026년 10~11월 연구들은 계층 선택을 100만 토큰 이상으로 밀어붙인다. RecSA논문는 KV 캐시 위에 트리를 세우고, 층마다 공유하는 풀러(요약 키를 만드는 작은 모듈)를 dense 어텐션에서 Distill(Distillation, 지식 증류)했다. 눈에 띄는 설계는 위치 처리다. 각 항목의 RoPE 위치를 '그 층 후보 가운데 몇 번째인가'로 매겨, 길이가 아무리 길어도 상대 거리가 학습 때 본 범위 안에 머물게 했다. Qwen3-4B에서 출발해 원래 학습 길이인 32K에서 0.62B 토큰만 학습했는데, RULER에서 131K부터 2M까지 모든 길이에서 기준선보다 높았고 1M에서 60.5점을 받아 가장 좋은 기준선(Dense + DCA)의 40.0점을 앞섰다.

AttentionIndex논문는 서비스 모델의 인덱서 위에 군집 색인을 얹는 실용적 방향이다. 프리필 중에 색인을 만들어 새 키를 바로 검색할 수 있게 하고, 이전 군집 결과를 재사용해 유지 비용을 낮추며, 쿼리가 자기보다 앞선 키로 만든 군집만 보게 해 인과성을 지킨다. 100만 토큰에서 GLM-5.3과 DeepSeek-V4-Flash의 전수 선택 대비 프리필 처리량이 1.3~1.8배였고, 연속 블록 2단계 방식(HiSA)과 처리량이 5% 이내로 비슷할 때 전수 top-k를 각각 17.0, 10.0%p 더 되찾았다.

LSA논문는 제목의 '1,000만 토큰'에 해당하는 연구다. 에이전틱 워크플로(Agentic Workflow)가 장기 과제로 옮겨 가며 긴 컨텍스트가 필요해진다는 문제의식에서, 키를 학습된 잠재 공간에서 계층적으로 군집하고 쿼리가 모든 키 대신 군집 계층에 점수를 매기게 했다. 기존 모델에 Distillation으로 붙이는 D-LSA와 다음 토큰 손실만으로 처음부터 학습하는 N-LSA 두 가지가 있다. 1,000만 토큰에서 D-LSA는 GLM-5.3-FLASH의 원래 희소 어텐션 대비 어텐션 한 층의 프리필을 22.7배, 디코딩을 4.6배 빠르게 했고, 풀 어텐션을 쓰는 Qwen-3.8-27B 대비로는 각각 72.4배, 42.5배였다. 정확도는 여러 과제에서 비슷하게 유지됐다고 보고했다. N-LSA는 128k에서 풀 어텐션 정확도를 맞추면서 층당 학습 속도가 1.6배였다.

세 연구를 겹쳐 보면 방향이 보인다. 묶음은 연속 블록에서 학습되거나 유사도로 만든 군집으로, 요약은 손으로 정한 평균에서 Distill한 요약으로, 평가는 학습 길이 안쪽에서 학습 길이를 훨씬 넘는 구간으로 옮겨 가고 있다.

최근 연구의 눈에 띄는 수치

22.7배D-LSA 프리필, 원래 희소 어텐션 대비
72.4배D-LSA 프리필, 풀 어텐션 대비
60.5 vs 40.0RecSA vs 최고 기준선(1M RULER)
LSA 수치는 1,000만 토큰에서 어텐션 한 층 기준, RecSA 수치는 1M 길이 RULER 점수다.

한계와 쟁점, 그리고 실무 판단

위층의 실수는 되돌리기 어렵다. 거친 층에서 떨어진 묶음은 그 아래를 다시 보지 않으므로, 요약이 질량을 잘못 재면 중요한 토큰이 통째로 빠진다. COBS논문가 보인 1차 근사의 한계, AttentionIndex논문가 지적한 고정 예산에서의 놓침 증가가 모두 이 문제다. RecSA논문처럼 버린 요약도 softmax에 넣거나, ReSA논문처럼 주기적으로 dense 계산을 섞는 것이 완화책이지만 비용이 든다.

보고된 배수를 읽는 법도 조심해야 한다. LSA논문의 22.7배와 72.4배는 어텐션 한 층 기준이고, 종단 서비스 속도는 MLP, 통신, 메모리 관리까지 포함하므로 더 작아진다. 비교 대상도 '원래 희소 어텐션'인지 '풀 어텐션'인지에 따라 숫자가 크게 다르다. 정확도 역시 RULER처럼 합성된 검색 과제 비중이 크고, RecSA의 1M 60.5점은 기준선보다 좋지만 여전히 놓치는 경우가 많다는 뜻이기도 하다.

언제 쓸까. 여기서 다룬 연구 대부분은 이득을 128K 이상에서 보고했다. 컨텍스트가 짧으면 요약 트리를 만들고 여러 층을 오가는 비용이 이득을 상쇄할 수 있으므로, 실제 트래픽의 길이 분포부터 확인하는 것이 먼저다. 새로 학습할 여력이 없다면 학습 없이 붙이는 방식(DHSA, 의미·기하 분리 라우팅)이나 Distillation으로 붙이는 방식(D-LSA)이 후보가 되고, 모델을 처음부터 설계한다면 N-LSA처럼 네이티브로 학습하는 선택지가 있다.

흔한 실수는 세 가지다. 커널 속도만 보고 종단 속도를 확인하지 않는 것, 학습 길이 안쪽에서만 평가하고 그 너머를 가정하는 것, 평균 점수만 보고 다중 키 검색처럼 희소 선택이 약한 과제를 따로 보지 않는 것이다. 도입 전에는 길이별 검색 정확도 곡선, 선택이 전수 top-k를 얼마나 되찾는지, 디코딩이 길어질 때 품질이 떨어지는지를 함께 측정해야 한다.

더 공부하려면

구조부터 잡으려면 PISA논문를 먼저 읽는다. 왜 블록 선택이 여전히 이차인지, 피라미드 Top-K가 어떻게 N log N이 되는지가 가장 직접적으로 나온다. 이어서 COBS논문를 읽으면 '좋은 요약이란 어텐션 질량을 잘 근사하는 요약'이라는 기준이 생겨 다른 논문을 평가하는 눈이 된다.

그다음 의미·기하 분리 라우팅논문으로 RoPE와 요약의 관계를, RecSA논문로 학습 길이를 넘어 늘리는 문제를 본다. 두 연구 모두 위치 정보를 어떻게 다루느냐가 긴 컨텍스트에서 얼마나 중요한지 보여 준다.

1,000만 토큰 규모와 서비스 관점이 궁금하면 LSA논문와 AttentionIndex논문를 읽는다. 블록·토큰 단위의 맞바꿈과 디코딩 쪽 문제는 CLSA논문, ReSA논문가 보완해 주고, 블록 경계 문제는 PBS-Attn논문, 메모리가 좁은 환경은 DHSA논문가 좋은 출발점이다.

관련 용어

어텐션 KV 캐시 컨텍스트 윈도 FlashAttention RoPE ANN 검색 클러스터링 Distillation

참고 문헌

핵심 논문

최근 연구

AI가 참고 문헌을 바탕으로 작성하고 검수를 거친 해설입니다. 정확한 내용은 원문을 확인해 주세요.