https://arxiv.org/abs/2602.08722
QUOKA: Query-Oriented KV Selection For Efficient LLM Prefill
We present QUOKA: Query-oriented KV selection for efficient attention, a training-free and hardware agnostic sparse attention algorithm for accelerating transformer inference under chunked prefill. While many queries focus on a smaller group of keys in the
arxiv.org
Abstract.
위 논문은 chunked prefill 상황에서 transformer 추론을 가속하기 위한 training-free 및 hardware agnostic sparse attention 알고리즘인 QUOKA(Query-oriented KV selection for efficient Attention)을 제안합니다.
*Note: LLM이 대답을 생성하는 과정은 크게 prefill과 decode 두 단계로 나뉩니다. 1) prefill 단계: 사용자가 입력한 프롬프트(찔문이나 긴 문서)를 한 번에 읽어 들이고 이해하는 단계입니다. 이 단계에서 프롬프트의 모든 단어(토큰) 간의 관계(attention)를 계산하여 KV cache라는 메모리에 저장합니다. 2) decode 단계: prefill에서 이해한 내용을 바탕으로 답변을 한 글자(토큰)씩 순차적으로 뱉어내는 단계입니다.
*Note: 문제는 프롬프트가 너무 길 때 발생합니다. 요즘 LLM은 책 한 권 분량(예: 10만 토큰)을 한 번에 입력받기도 합니다. 이 엄청난 양을 prefill 단계에서 한 번에 처리하려고 하면 GPU의 메모리가 터져보리거나(OOM), 첫 단어가 나올 때까지 시간이 너무 오래 걸립니다. 따라서 이 긴 프롬프트를 한 번에 삼키지 않고, 적당한 크기의 조각(chunk)으로 쪼개서 순차적으로 소화하는 방식을 chunked prefill이라고 합니다. 예를 들어, 10만 토큰을 1만 토큰씩 10번으로 쪼개서 prefill 연산을 수행합니다. 이렇게 하면 GPU 메모리 한계를 넘지 않으면서도 긴 문서를 안전하게 처리할 수 있습니다.
해당 논문의 저자들은 attention 연산자 내에서 많은 queries들이 소수의 keys 그룹에만 집중하는 반면, 전체 queries의 평균(mean query)과 비교하여 cosine similarity가 낮은 query들이 더 많은 keys들과 강하게 상호작용하며 최종 attention logits에 가장 큰 기여를 한다는 것을 관찰했습니다.
*Note: 이는 수많은 단어들 중 "그리고, 그래서, 나는" 같은 평범하고 흔한 단어들은 평균적인 특성을 가지지만, 문서 내의 숨겨진 비밀번호나 고유명사 같은 특이하고 핵심적인 단어들은 평균 query와 비교하여 코사인 유사도가 낮습니다. 그리고 이 특이한 단어들이 최종적인 attention logits에 가장 큰 기여를 한다는 뜻입니다.
이러한 '낮은 코사인 유사도를 가진 쿼리'들을 우선시함으로써, prefill 단계 동안의 full attention 동작을 매우 가깝게 근사할 수 있습니다. QUOKA는 이러한 관찰 결과를 활용하여, 1) 먼저 소수 대표 query set를 유지하고, 2) 그런 다음 해당 queries들과 가장 잘 정렬된(연관성이 높은) keys들을 subselecting하는 방식으로 attention을 가속합니다.
*Note: 새로운 청크가 들어오면, QUOKA는 모든 단어(query)를 다 데리고 과거의 기억(key)을 뒤지지 않습니다. 우선 현재 청크에 있는 모든 queries들의 mean을 계산하고, 이 평균과 가장 다르게 생긴(low cosine sim) 소수의 queries들만 골라냅니다. 그리고 이 소수의 query set들이 거대한 key 무더기 속에서 자신들과 관련성이 높은(attention score가 높은) key들만 찾아내고, 나머지 key들은 과감하게 버려버립니다(drop).
Introduction.
LLM 추론의 주요 병목 현상 중 하나는 prefill 지연 시간으로, 이는 전체 실행 시간의 70%이상을 차지할 수 있습니다. 이러한 지연은 리소스가 제한된 CPU, 소비자용 GPU 및 엣지 가속기에서 특히 두드러집니다. 이를 완화하기 위해 최근의 배포 환견에서는 스케줄링과 활용도를 높이기 위해 입력을 여러 블록으로 나누는 chunked prefill을 점점 더 많이 채택하고 있습니다. 그럼에도 불구하고, 기반이 되는 attention 연산의 quadratic complexity로 인해 chunked prefil은 여전히 계산 비용이 높습니다. sparse attention과 같은 방법들은 attention 내의 sparsity를 식별하고 활용하여 이러한 복잡도를 극복하고자 합니다. chunked prefill과 sparse attention을 결합하는 것은 리소스가 제한된 환경에서 sub-quadratic의 복잡도를 달성하고 지연 시간을 크게 개선할 수 있는 방향을 제시합니다.
sparse attention 알고리즘은 크게 pattern-based 접근법과 query-dependent 접근법의 두 가지 계열로 분류할 수 있습니다. pattern-based 접근법은 QK^T 행렬에 고정된 sparse pattern(예: block, stride 등)을 강제하며, 종종 kernel 수준의 최적화를 통해 속도 향상을 달성합니다. 하지만 chunked prefill 상황에서는 동적인 연산 그래프와 KV cache 메모리 대역폭 오버헤드로 인해 그 이점이 제한적입니다. 더욱이, 맞춤형 커널에 의존하기 때문에 이기종 하드웨어 간에 pattern-based 접근법을 이식(portability)하는 데 한계가 있습니다.
*Note: full attention은 모든 단어가 모든 단어를 다 읽어보는 것입니다. 하지만 너무 느리니까, 미리 정해둔 규칙(pattern)에 따라 듬성듬성 읽는 것이 pattern-based 접근법입니다. 하지만 이렇게 듬성듬성 읽는 규칙을 GPU가 빠르게 계싼하게 하려면, python 같은 쉬운 언어가 아닌 GPU 하드웨어 밑바닥까지 건드리는 복잡한 저수준 코드를 특수 제작해야합니다(kernel 수준의 최적화). 문제는 이 특수 코드를 Nvidia GPU 전용으로 만들었기 때문에, 다른 Apple의 M3 칩 혹은 AMD GPU에서 돌리려고 하면 아예 동작하지 않습니다(이식 한계성).
*Note: 또한 chunked prefill에서는 의미가 없어지는데, 예를 들어 "3칸씩 건너뛰자"라고 패턴을 정해놓았지만, 입력으로 들어오는 텍스트 조각(chunk)의 크기가 그때그때 달라지면, 동적으로 연산 그래프를 생성해야 하며, 이는 GPU 가속화의 입장에서 손해입니다. 또한 GPU 연산 코어는 엄청 빠르지만, 메모리에서 데이터를 가져오는 대역폭은 좁습니다. pattern-based 방식은 계산은 듬성듬성해서 10%만 하더라도, 그 10%를 찾기 위해 메모리에서 데이터를 꺼내와야하는 구조적인 결함이 있습니다. 즉, 계산량은 줄였는데 데이터를 퍼 나르는 시간 때문에 결국 속도가 느려집니다(KV cache 메모리 대역폭 오버헤드).
이와 대조적으로, query-dependent 접근법은 KV cache에서 직접 작동하여 주어진 query와 가장 관련성이 높은 KV를 적응적으로 subselecting합니다. 이 전략은 최적화된 커널과 호환성을 유지하고 강력한 이식성의 이점을 제공하면서도, attention 복잡도와 메모리 트래픽을 모두 줄여줍니다.
하지만, 기존의 query-dependent 방법들은 주로 생성(generation, decoding) 단계를 위해 설계되었으며, 이 경우 단일 query에 대해서만 KV가 선택되므로 어떤 KV가 해당 query와 관련이 있는지 판단하기가 비교적 쉽습니다. 반면, prefill 단계에서는 많은 queries들에 대해 관련된 KV를 한꺼번에 선택해야 하므로, 이 과정에서 심각한 성능 저하가 발생할 수 있습니다. 여러 queries들에 대해 중요한 KV를 반복적으로 subsampling해야 하는 chunked prefill 상황에서는 이러한 성능 저하가 두드러집니다.
*Note: 기존의 pattern-based 접근법이 "무조건 3페이지씩 건너뛰며 읽자"는 맹목적인 방식이었다면, query-dependent 방식은 주어진 query와 가장 관련성이 높은 KV를 적응적으로 subselection하는 것입니다. 예를 들어, query를 보고, "아, 이 질문은 과학 관련 질문이네? 그러면 과학책(관련성이 높은 key)만 꺼내오자!" 라고 질문 내용에 맞춰 동적으로 데이터를 고르는 방식입니다. 이는 복잡한 커널을 짤 필요 없이, 표준 행렬 계간만 하면 되기 때문에, nvidia든 intel이든 강력한 이식성을 보장합니다.
*Note: 하지만 이런 방식은 decoding 단계에서만 쓸만하고, prefill 단계에서는 사용할 수 없습니다. decoding 단계는 LLM이 답변을 '한 단어씩' 뱉어내는 과정입니다. 즉, KV cache에서 유사도를 찾는 query가 딱 하나입니다. 하지만 prefill 단계는 여러 개의 query가 동시에 KV cache에서 관련된 KV pair들을 찾는 것이기 때문에, 오버헤드가 발생합니다.
이런 기존 접근법들의 단점을 해결하기 위해, QUOKA(Query-oriented KV selection for efficient Attention)을 제안합니다. 이는 mean query와의 코사인 유사도가 낮은 queries들이 대부분의 keys에 집중한다는 관찰 결과를 바탕으로 구축된, chunked prefill에 최적화된 training-free sparse attention 방법입니다. QUOKA는 소수의 대표 쿼리 부분 집합만을 유지하고, 이들과 강하게 상호작용하는 KV들을 sub-selection합니다. 정확도를 유지하면서도, QUOKA는 다음 세 가지 단계를 통해 prefill 동안의 attention을 가속하고 KV의 개수를 줄입니다:
- 가장 유용한 정보를 담은 queries들만 유지하는 query subselection.
- query-key 관련성을 안정적이고 제한된 대리 지표로 제공하는 cosine-similarity scoring.
- GQA(grouped-query attention)과 같은 현대 아키텍처와의 호환성을 효율적으로 보존하는 Group-aware Aggregation.

이러한 단계들은 위 그림 1. 에서 확인할 수 있으며, 섹션 3에서 더 자세히 논의됩니다.
Background.
Transformers and Attention.
Transformer block은 크게 attention operator와 FFN이라는 두 가지 주요 연산 단계로 구성됩니다. 본 논문에서는 주로 attention에 초점을 맞춥니다. 입력 시퀀스 X = [x1, .., xT]에 대해, attention operator Attn(X)는 다음과 같이 정의됩니다:

여기서 K = XWk, Q = XWq, V = XWv 는 입력 토큰들의 learned projection이며, Wk, Wq, Wv 는 dxd 행렬입니다. 대각선 아래는 0이고 나머지 부분은 -inf로 채워진 mask matrix M은 autoregressive causality를 강제합니다.
Attention Latency: Prefill vs. Generation.
Transformer LLM에서 autoregressive text generation은 두 가지 단계, 즉 prefill과 generation 단계로 나눌 수 있으며, 두 단계는 서로 다른 지연 시간(latency) 특성을 가집니다. prefill 단계에서는 전체 입력 프롬프트를 처리하여 KV cache를 초기화합니다. 이 과정에서 각 토큰에 대한 FFN 연산 외에도, T개의 query와 T개의 key 사이의 내적으로 인해 O(T^2)의 연산이 필요합니다. 결과적으로 긴 프롬프트의 경우, attention 연산이 prefill 지연 시간을 지배하게 됩니다. FlashAttention(Dao et al., 2022)과 같이 최적화된 kernel 들은 메모리 지역성(locality)과 활용도를 높여주지만, quadratic 복잡도 자체를 줄여주지는 못합니다. 속도 향상은 오직 각 query가 실제로 참조하는 유효한 KV의 개수를 줄임으로써만 달성될 수 있습니다.
반면, generation 단계에서는 단일(새로운) query가 기존에 캐시된 T개의 KV를 참조합니다. 생성 길이가 짧을 때는 거대한 FFN 가중치를 전송하는 비용 때문에 메모리 대역폭 병목(memory-bound)이 발생합니다. 하지만 생성 길이가 길어지면, 방대한 KV cache가 메모리 공간과 대역폭을 지배하게 됩니다. 따라서 저장되는 KV의 개수를 줄이면 attention 연산 속도가 빨라질 뿐만 아니라 데이터 전송량도 줄어들기 때문에, KV 축소는 생성 작업이 많은 task를 가속하는 데 필수적입니다.
Chunked prefill.
chunked prefill은 입력 시퀀스 X를 크기가 Bcp인 겹치지 않은 chunks로 분할하고 이 청크들을 순차적으로 처리합니다: X = [X0, X1, .., XNb-1], 여기서 Nb = ceil(T/Bcp) 이며, Xi = [xBcpi, ..., xBcp(i+1)-1]는 i번째 청크를 나타냅니다. 청크 i에 대해, K<i와 V<i를 이전의 모든 청크들로부터 얻은 key와 value들의 concatenation이라고 하면, 다음 식이 성립합니다:

여기서 [|]는 시퀀스 차원을 따른 결합을 의마하며, Mi는 Xi 내부에서 인과성 및 미래 토큰을 참조하지 못하도록 강제합니다. chunked prefill은 대역폭과 메모리 용량이 제한된 모바일 하드웨어나 소비자용 GPU와 같은 edge devices에서의 추론에 특히 중요합니다. 또한 prefill request와 decode request를 교차로 처리할 수 있게 GPU 활용도를 높임으로써 cloud throughput을 개선합니다.
Attention Sparsity and Sparse Attention.
LLM의 attention matrix A에서는 high sparsity(대부분의 값이 0에 가까운 현상)이 널리 관찰되어 왔씁니다. 이러한 희소성 덕분에, 새로 들어오는 query들에 대해 가장 관련성이 높은 KV들만 active cache로 선택하여 attention 비용을 줄일 수 있습니다. 이는 다음과 같이 표현됩니다:

여기서 f는 다음을 만족하는 점수 산출 함수(scoring function)입니다:

이때 f는 일반적으로 attention 계산 그 자체보다 훨씬 더 효율적이어야 한다는 제약이 따릅니다. 이전의 연구들은 일반적으로 scoring function f가 단일 query Q에 대해 작동하는 generation 단계에 주로 초점을 맞추었습니다. 이러한 방법들은 (단순히 queries들에 대해 평균을 내는 방식 등으로) 다중 queries 환경(prefill 단계)으로 확장하면 성능이 심각하게 저하됩니다. 이는 다수의 queries들로부터 정보를 집계(aggregate)하는 더 나은 방법이 필요함을 시사합니다.
QUOKA Method.
이전에 말했듯, 기존 sparse attention 방법들은 prefill 효율성과 이식성에서 한계에 직면합니다. QUOAKA는 chunked prefill 과정에서 활성 KV cache를 줄임으로써 이 문제를 해결합니다. 구체적으로, 입력 sequence X는 청크들 {X0, .., XNb-1}로 나뉘며, 그림 1에서 볼 수 있듯 각 청크 Xi에 대해 QUOKA는 attention을 계산하기 전에 오직 가장 관련성이 높은 KV만을 선택합니다. 이는 아래 Alg 1.에서 자세히 설명된 바와 같이 세 가지 단계로 달성됩니다:

- Query subselection: 중복을 줄이기 위해 가장 유용한 정보를 담은 queries들만 유지합니다.
- Cosine-Similarity Scoring: query와 key 사이의 관련성을 추정하기 위해 cosine-similarity를 계산합니다.
- Score Aggregation: 최종 KV를 선택하기 위해 queries들 및 KV group들에 걸쳐 점수를 결합합니다.
그런 다음 축소된 Xi 용 KV 세트는 FlashAttention과 같은 dense attention kernel로 공급됩니다. 이 과정을 반복적으로 적용함으로써, QUOKA는 prefill 비용을 O(T^2)에서 sub-quadratic의 복잡도로 줄입니다.
Query Subselection.

이전 연구(Park et al., 2025)는 LLM에서 keys의 독특한 기하학적 특성을 조사했습니다. 이에 영감을 받아, queries의 기하학적 구조에 초점을 맞춥니다. mean query와의 cosine sim이 낮은 queries들일수록 대부분의 key들과 폭넓게 align되는 경향이 있는 반면, 평균에 가까운 queries들은 소수의 공유된 key group에만 집중한다는 것을 관찰했습니다(위 그림2.(a)). 따라서 모든 queries들을 사용하는 것은 중복된 정보를 낳고 복잡도만 증가시킵니다.
이 문제를 완화하게 위해, QUOKA는 keys에 지속적으로 큰 영향을 미치는 queries들만 유지합니다. 이러한 queries들은 mean query vector Mq로부터의 각 거리(angular distance)를 사용하여 식별할 수 있습니다. 각 쿼리 q의 순위를 -CosSim(Mq,q)에 따라 매기고, 상위 Nq개를 유지합니다. 이는 query별로 정규화를 수행하면서도 큰 key-query 내적값에 가장 큰 책임이 있는 queries들을 보존하여, softmax 적용 후의 attention matrix A를 효율적으로 근사할 수 있게 해줍니다. 이는 다음 정리를 통해 공식화될 수 있습니다:
고정된 query q0와 key k 토큰, queries 집합의 평균을 Mq라고 표기했을 때, CosSim(k,q0) = βq > 0 이고, CosSim(Mq,k) = αq < 0 이라고 가정합니다. 그러면 다음이 성립합니다:

증명은 section D에서 제공되며, 직관적으로 설명하자면, 어떤 query q가 k에 강하게 집중한다면, βq는 커지고 αq는 작아져서, 결과적으로 다음과 같은 큰 subselection score를 낳게 됩니다:

따라서 subselection은 attention 분포에 가장 많이 기여하는 queries들을 보존하며, 이는 경험적 관찰 및 현대 LLM의 key와 queries가 가지는 기하학적 구조와 모두 일치합니다.
이를 검증하기 위해 query와 key의 기하학적 구조를 분석합니다. 위 그림2.(b)에 나타난 2D PCA projection에서 볼 수 있듯, 대부분의 queries들은 key cluster와 분리되어 있는 반면, Sq가 높은 queries들은 key에 더 가깝게 위치하는 경향이 있습니다. 이를 뒷받침하듯 그림 2.(c)는 더 높은 Sq가 sink token 외부에서 더 큰 max(A)와 상관관계가 있음을 보여주며, 이는 그러한 queries들이 개별 키들에 더 강력한 영향을 미친다는 것을 나타냅니다. 이러한 관찰 결과들을 종합해 볼 때, Sq는 기하학적으로 key와 잘 align되어 있으면서 동시에 attention에 지배적인 역할을 하는 queries들을 정확히 식별해 냅니다.
Scoring via Cosine Similarity.
축소된 query set가 주어지면, 다음 단계는 이 queires들과 keys들의 상호작용을 평가하는 것입니다. 기존 방법들은 내적 QK^T를 자주 사용하지만, 이는 scale에 의존적이며 aggregation 시 불안정합니다. 대신 QUOKA는 다음을 계산합니다:

*Note: 두 벡터 Q와 K의 내적을 구하는 공식은 |Q| x |K| x cos(θ) 입니다. 이는 방향의 일치도를 의미하는 cos()과 벡터의 크기(스케일)을 이용하는 |Q|, |K|의 곱으로 이뤄집니다. 따라서 scale의 의존적이라는 것은 의미는 안 맞는데 단순히 벡터의 크기가 크기 때문에 높은 점수를 받는 경우가 생길 수 있다는 것입니다. 또한 agg시에 불안정하다는 것은, QK^T의 점수를 구한 후, max를 취해 중요한 KV pair들을 수집하는 과정에서 벡터의 크기가 커서 점수가 높은 KV pair들이 subselection 될 수 있다는 뜻입니다.
*Note: 한편 cosine similarity를 사용한다면 벡터의 크기가 전부 1로 정규화되며, score가 -1에서 +1사이의 점수만 낼 수 있습니다. 그렇다면 이렇게 장점만 있는 cosine similarity를 이용하는 scoring 방법을 왜 정규 attention에서는 사용하지 않을까요? 우선 내적의 요소인 (방향) x (크기) 중 크기도 매우 중요한 정보입니다. 예를 들어, Not과 같이 문장의 의미를 뒤집는 단어는 문맥상 매우 중요해서 벡터의 크기를 키워놓아야 합니다. 하지만 cosine sim을 이용하면 크기가 정규화되어 이런 정보를 살릴 수 있습니다. 또한 cosine sim을 이용해서 내적값을 구한 후 softmax를 취하면, [-1, 1] 사이의 값들이 들어가는 것이기 때문에 attention 분포가 flat 해질 수 있습니다(그래서 temperature를 낮게 주어야함).
이는 벡터를 단위 길이로 정규화하고, softmax attention 가중치에 대한 bounded, 기하학적 구조를 반영하는 proxy를 제공합니다. 최근 연구들 (Mongaras et al., 2025; Park et al., 2025) 역시 softmax의 동작을 근사하는 가벼운 정규화 도구로서 cosine 유사도의 사용을 지지합니다. 경험적으로도 표 9.의 RULER 벤치마크 ablations를 보면, cosine sim이 내적에 비해 subselection 품질을 10% 이상 향상시킴을 알 수 있습니다.
Aggregation Across Queries and KV Groups.

점수 집계는 두 축을 따라 이뤄집니다:
- Query axis: 쿼리 점수들을 단순히 평균(averaging) 내는 것은 중요한 query-key 상호작용을 묻히게 할 수 있습니다. 따라서 QUOKA는 평균 대신 최대값(maximum)을 사용하여 outliers들을 보존합니다. 이는 위 그림 3.의 heavy-tailed 분포와 RULER 벤치마크의 성능 향상에 의해 뒷받침됩니다.
- GQA axis: KV group들에 걸쳐서는 단순히 점수들의 평균(average)을 냅니다. query와 달리 head 수준의 중요도는 서로 상관관계가 있기 때문에 평균을 내는 것이 정확하고 안정적입니다.
*Note: Query axis의 aggregation은 왜 MAX를 사용할까? 우선 기본적으로 attention은 multi-head attention임을 기억해야 합니다. 하나의 query에 대해서 head의 개수 h개 만큼의 sub-query들이 존재하는 것입니다. h=5일 때, q1, q2, ..., q5의 임의의 K에 대해서 score가 0점, 0점, 0점, 0점, 100점이면 평균 20점이 됩니다. q5에 대해서는 매우 중요한 K임에도 불구하고 매우 낮은 점수가 되는 것입니다(이게 위에서 말한 query-key 상호작용이 묻힌 경우입니다). 하지만 max를 사용한다면, 해당 K의 점수가 100점이 되어 해당 K를 참조하게 됩니다.
*Note: GQA axis의 aggregation은 왜 average를 사용할까? 기본적으로 attention은 GQA임을 기억해야합니다. 여러 개의 query가 하나의 K에 대해서 점수를 매깁니다(Query axis에서의 q1, q2, ... 등은 하나의 query에 대해서 latent dimension 차원에서의 분할이지 다른 query가 아닙니다). 이때 max를 사용한다면, 다른 query들은 전혀 참조하지 않은 K임에도 불구하고 참조하게 되는 경우가 발생하기 때문에, average를 통해 score를 뭉쳐줍니다.
주목할 점은, 만약 점수를 계산하기 전에 K와 Q를 미리 정규화한다면, 평균의 선형성과 외적 QK^T 덕분에 pre-aggregation을 통해 평균값을 달성할 수 있다는 것입니다. 즉, KV 그룹들에 걸쳐 정규화된 queries들을 미리 평균냅니다. 이러한 pre-aggregation은 연산 및 메모리 비용을 KV 그룹의 수만큼 감소시켜 줍니다.
*Note: GQA에서 점수의 평균을 계산할 때는 Q1 x K, Q2 x K, ..., QN x K 후에 (점수 1 + 점수 2 + ..., 점수 N) / N 을 수행해야 합니다. 하지만 pre-aggregation을 사용한다면, (Q1 + Q2 + ... + QN) / N 을 통해 평균 query를 만든다음 Qmean x K 를 수행하면 여러 번의 행렬 곱이 아닌 한 번의 행렬 곱으로 점수 집계가 가능하게 됩니다.
Chunked Prefill with QUOKA.
위에서 설명한 세 가지 구성 요소 - query subselection, scoring, aggregation - 는 전체 chunked prefill 과정에 통합됩니다. 새로 들어오는 각 블록 Xi에 대해, QUOKA는 alg.1 의 절차를 사용하여 활성 KV 토큰들을 subselection합니다. 이렇게 생성된 key와 value의 subsey은 해당 chunk의 attention 연산으로 전달됩니다. 매 청크마다 KV budge을 줄임으로써, QUOKA는 연산 비용과 메모리 전송 비용을 모두 축소합니다. 이는 long context 벤치마크 전반에서 정확도를 유지하면서도 상당한 prefill 가속을 가능하게 하며, 그 과정은 아래의 alg.2에 요약되어 있습니다:

Results.
(... 원본 논문 참조 ...)