트랜스포머는 세 개의 프로젝션이 필요할까? QKV 변형 분석

핵심 요약: 프로젝션 공유로 메모리 오버헤드 감소

트랜스포머는 가중치 프로젝션을 공유함으로써 성능을 유지하면서 메모리 요구량을 크게 줄일 수 있다. 특히, 키와 값 프로젝션을 공유(K=V)하면 KV 캐시를 크게 감소시킬 수 있으며—멀티쿼리 어텐션(MQA)과 결합할 경우 최대 96.9%까지—모델 퍼플렉시티의 감소는 미미하다. 이는 표준 세 프로젝션(쿼리, 키, 값) 아키텍처가 많은 작업에 대해 필요 이상으로 복잡할 수 있음을 시사한다.

QKV 변형에 대한 체계적 평가

연구자들은 어텐션 메커니즘에 사용되는 가중치 프로젝션에 대해 세 가지 주요 제약을 평가하여 세 프로젝션이 모두 반드시 필요한지 확인했다:

  • Shared Key-Value (K=V): 키와 값 프로젝션이 동일하다.
  • Shared Query-Key (Q=K): 쿼리와 키 프로젝션이 동일하여 대칭 어텐션 맵을 만든다.
  • Single Projection (Q=K=V): 세 프로젝션이 모두 동일한 가중치를 공유한다.

Q=KQ=K=V로 인한 대칭성 문제를 완화하기 위해, 연구에서는 2D 위치 인코딩을 사용해 어텐션 메커니즘에 비대칭성을 도입했다.

다양한 도메인에서의 성능

합성 작업, 비전 작업(MNIST, CIFAR, TinyImageNet, 이상 탐지) 및 언어 모델링에 걸쳐 실험을 수행했다. 결과는 프로젝션을 공유한 트랜스포머가 표준 QKV 트랜스포머와 동등하거나 때때로 더 나은 성능을 보임을 나타낸다.

언어 모델링 결과

300M 및 1.2B 파라미터 모델을 10B 토큰으로 학습한 언어 모델링 테스트에서 K=V 변형은 상당한 효율성 향상을 보여주었다:

  • KV Cache Reduction: K=V 프로젝션 공유는 KV 캐시를 50% 감소시킨다.
  • Perplexity Impact: 이 감소는 퍼플렉시티가 최소 3.1%만 악화되는 수준이다.

헤드 공유와의 시너지 (GQA/MQA)

프로젝션 공유는 Grouped-Query Attention(GQA) 및 Multi-Query Attention(MQA)와 같은 기존 헤드 공유 기법과 보완적이다. 이 방법들을 결합하면 엣지 배포에 적합한 대규모 메모리 절감 효과를 얻을 수 있다:

  • K=V + GQA-4: KV 캐시를 87.5% 감소시킨다.
  • K=V + MQA: KV 캐시를 96.9% 감소시킨다.

이론적 통찰: 왜 K=V가 작동하는가

연구는 K=V가 품질을 유지하는 이유를 키와 값이 종종 유사한 표현 공간을 차지하기 때문이라고 결론짓는다. 또한 어텐션은 일반적으로 저랭크 환경에서 작동하므로 표준 QKV 구성의 중복성이 충분히 활용되지 않는다. 반면 Q=K 변형은 어텐션 메커니즘의 필수적인 방향성을 깨뜨리기 때문에 실패하는 경향이 있다.

커뮤니티 비판 및 기술 토론

결과가 온디바이스 추론에 유망하긴 하지만, 머신러닝 커뮤니티는 연구의 일반화 가능성과 방법론에 대해 여러 점을 제기했다:

학습 규모와 과도 학습

한 비평가는 1.2B 파라미터 모델이 10B 토큰만으로 학습되었으며, 이는 Chinchilla 최적 계산 예산보다 크게 부족하다고 지적했다. 어텐션을 단순화하면 학습이 충분히 이루어지지 않은 상황에서는 효과적으로 보일 수 있지만, 현대 LLM에서 보는 수조 토큰 수준의 "과도 학습"으로 확장될 경우 표준 어텐션의 전체 표현력이 더 중요해져 확장에 실패할 우려가 있다.

수학적 표기법

일부 독자는 논문에서 "Q-K=V"를 키-값 공유(K=V)를 나타내는 표기로 사용한 점을 지적했으며, 이는 수학적 뺄셈 연산이 아니라는 점에서 명확성이 부족하다고 지적했다.

귀납적 편향 및 아키텍처

실무자들 사이의 논의에 따르면, 표준 QKV 구성은 반드시 최적의 수학적 접근법이라기보다 GPU에서 계산 효율이 높고 확장에 안전하고 잘 이해된 기준점을 제공하기 때문에 널리 사용된다고 한다.

Sources