
키를 버리고 값만 남기는 Keyless Attention, KV 캐시를 절반으로 줄이는 설계
요약
Keyless Attention은 표준 어텐션에서 키(Key) 캐시를 제거하고 값(Value)만 캐싱하여 KV 캐시 메모리를 50% 절감하는 새로운 설계 방식입니다. 쿼리를 값 공간으로 투영하는 Value-Routing Projection을 도입하여 추가 연산 없이도 메모리 효율과 모델 성능을 동시에 개선했습니다.
핵심 포인트
- KV 캐시에서 Key를 제외하고 Value만 저장하여 메모리 사용량 50% 절감
- Value-Routing Projection(W_R)을 통해 추가 연산 없이 효율적인 라우팅 구현
- 실험 결과, 다수의 모델에서 표준 QKV 방식보다 우수한 Perplexity 및 태스크 성능 기록
- 키 제거가 암묵적 정규화(Regularization)로 작용하여 과적합 방지에 도움
긴 문맥을 다루는 LLM을 구동하다 보면, GPU 메모리의 대부분이 모델의 가중치가 아닌 KV 캐시(KV Cache)에 점유되는 상황을 수없이 마주하게 된다. 생성되는 토큰이 늘어날수록 과거의 모든 토큰분에 해당하는 '키(Key, K)'와 '벡터 값(Value, V)'을 계속해서 유지해야 하기 때문이다. 여기서 소박한 의문이 생긴다. K와 V는 메모리를 정확히 반반씩 사용하는데, 캐시에서 불러와 실제로 사용하는 것은 V뿐이다. K는 '어느 토큰에 주목할 것인가'를 결정하는 길 안내 역할로 사용될 뿐, 정답 그 자체는 아니다. 이 길 안내를 위해서만 캐시의 절반을 계속 지불하는 것이 타당한가?
Keyless Attention
이라는 논문은 이 질문에 대해 "키의 캐시는 필요 없다"라고 정면으로 답한다. 표준적인 QKV 어텐션(Attention)에서 키 투영(Key Projection)을 통째로 없애고, V만을 캐시하는 설계로 KV 캐시 메모리를 정확히 절반으로 줄인다.
- Keyless Attention: Value-Space Routing and Value-Only Caching for Efficient Transformers (Xin Gao, Xingming Xu / arXiv 2606.21848, v2: 2026-07-31)
먼저 표준 어텐션을 떠올려 보자. 쿼리(Query, Q)와 키(K)의 내적으로 스코어를 만들고, softmax로 가중치를 구한 뒤, 값(V)을 섞는다.
표준: softmax( Q Kᵀ / √d ) V 단, Q = X·W_Q, K = X·W_K, V = X·W_V
캐시에 남기는 것은 K와 V이다. 여기서 K는 "Q가 각 토큰을 얼마나 끌어올 것인가"를 결정하는 주소 라벨 역할을 하며, 정답의 내용물은 아니다. 도서관에 비유하자면, 책(V)마다 붙어 있는 검색용 인덱스 카드(K)에 해당한다.
Keyless Attention은 이 인덱스 카드를 버린다. 대신, 쿼리를 값의 공간으로 번역하는 값 라우팅 투영(Value-Routing Projection) W_R을 하나 삽입하여, 스코어를 Q와 "V 그 자체" 사이에서 구한다.
Keyless: softmax( X·W_Q·W_R·(X·W_V)ᵀ / √d ) X·W_V
핵심은 추론 시 W_Q·W_R을 사전에 하나의 행렬로 합성(Convolution)할 수 있다는 점이다. 즉, 실행 시의 추가 계산은 제로이며, 키의 투영 계산(X·W_K)이 통째로 사라진다. 따라서 메모리가 절반이 될 뿐만 아니라, 디코딩(Decoding) 시의 처리량(Throughput)도 베이스라인을 상회한다. 캐시에 두는 것이 V뿐이라는 점 하나만 바뀐다.
키를 그냥 버리는 것은 이전부터 있던 발상(K와 V를 공유하는 수법 등)이지만, 논문은 이들이 "키가 담당하던 길 안내 역할을 명시적으로 대체하지 못하고 있다"라고 비판한다. W_R은 바로 그 역할을 받아내는 그릇으로서 도입되었다는 점이 새롭다.
보통 표현력을 깎으면 품질이 떨어진다. 그런데 실험에서는 5개 모델 중 4개 모델에서 Keyless의 퍼플렉시티(Perplexity)가 더 좋았다.
| 모델 | 표준 QKV | Keyless |
|---|---|---|
| GPT-2 (557M) | 33.50 | 33.26 |
| ... |
하류 태스크(Downstream Task, GPT-2 557M)에서도 HellaSwag나 StoryCloze 등 5문제 중 4문제에서 앞섰다.
저자가 제시하는 이유는 흥미롭다. W_R과 W_V는 학습 중에 그래디언트 얽힘(Gradient Entanglement)이 발생하기 때문에, 라우팅이 코퍼스(Corpus) 고유의 공기(Co-occurrence) 패턴에 과도하게 특화되기 어려워진다. 요컨대, 키를 없앤 것이 결과적으로 암묵적인 정규화(Regularization)로서 작용했다는 설명이다. 실제로 베스트 도달 후의 검증 손실(Validation Loss) 악화가 표준보다 완만하여, 과적합(Overfitting)되기 어려운 거동이 관찰되고 있다. 개인적으로는 이 "제약이 일반화(Generalization)를 돕는다"라는 식의 주장은, 파라미터를 늘리는 방향에만 익숙해진 이들에게 기분 좋은 역발상으로 다가온다.
KV 캐시 절감은 최근 몇 년간의 주전장이며, 이미 여러 계보가 존재한다. 그 위치를 정리하면 다음과 같다.
| 수법 | 캐시하는 것 | 키 절감의 사고방식 |
|---|---|---|
| MHA (순수 구현) | K와 V (전체 헤드) | 절감하지 않음 |
| ... |
주목할 점은 Keyless가 "헤드를 통합하는" GQA와 직교한다는 것이다. 논문은 MHA와 GQA 모두에서 유효성을 확인했으며, GQA로 축소한 상태에서 키를 지워 다시 절반으로 줄이는 조합 기술이 원리적으로 가능하다. KV 캐시 절감이라는 카드(Hand)가 하나 더 늘어났으며, 심지어 기존 수법과 중첩하여 사용할 수 있는 형태로 늘어났다고 보는 것이 정확하다.
과도한 기대는 금물이다. 검증된 모델은 최대 Qwen2 1.5B, 데이터는 WikiText-103의 3,000만 토큰, 학습은 A100 한 장이라는 소규모 설정에 머물러 있다. 7B나 13B, 하물며 실제 서비스 규모의 멀티 헤드 (Multi-head) 구성에서 동일하게 50% 절감과 품질 유지가 성립할지는 이 논문만으로는 판단할 수 없다. 저자 스스로도 등가성 (Equivalence)을 보장하는 정리의 존재 조건이 멀티 헤드에서 항상 성립하는 것은 아니라고 인정하고 있으며, 수렴이 표준보다 약간 느리다(에포크당 학습 시간이 늘어난다)는 점도 명기하고 있다.
그럼에도 불구하고, 추론 시 추가 비용 없이 캐시를 확실하게 절반으로 줄일 수 있다는 주장은 긴 문맥 서빙 (Long-context serving)의 비용 구조를 직접적으로 타격한다. KV 캐시 최적화를 양자화 (Quantization)나 압축 (Compression)으로 깎아왔던 팀들에게, "애초에 키 (Key)를 가지지 않는다"라는 발상은 시도해 볼 가치가 있는 보조선이다. 우선은 수중에 있는 중규모 모델에서 $W_R$을 한 장 추가하여 키 투영 (Key projection)을 제거하고, 퍼플렉시티 (Perplexity)와 디코딩 속도가 논문대로 작동하는지 재현하는 것부터 확인해 보고 싶다. 구현체가 공개된다면, GQA와의 병용 시 동작이 다음 관전 포인트가 될 것이다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기