Gruplu Sorgu Dikkati (Grouped-Query Attention)
MimariGrouped-Query Attention (GQA) nedir?
Grouped-Query Attention, transformer modellerinde attention mekanizmasını bellek ve hız açısından daha verimli çalıştıran bir tasarım. Klasik multi-head attention'da her sorgu kafası (query head) kendi ayrı anahtar (key) ve değer (value) setini taşır. GQA bu anahtarları ve değerleri birden fazla sorgu kafası arasında paylaştırır: kafaları gruplara böler, her grup tek bir key/value setini ortak kullanır.
Nasıl çalışır?
İki uçtan bahsedelim. Bir uçta multi-head attention var — her kafaya ayrı key/value. Diğer uçta multi-query attention — tüm kafalara tek key/value. Multi-query çok hızlı ama kaliteden feragat ediyor. GQA tam ortada durur: örneğin 32 sorgu kafasını 8 gruba bölersin, geriye 8 key/value seti kalır. Bu, KV cache boyutunu ciddi biçimde küçültür. Uzun context'lerde bellekte tutulan anahtar/değer verisi azaldığı için hem VRAM yükü hem de token üretim gecikmesi düşer, kalite ise neredeyse multi-head seviyesinde kalır.
Neden önemli?
Uzun context pencereli bir model çalışırken en büyük darboğaz KV cache'in şişmesi. GQA bu yükü azaltıp kaliteyi koruduğu için modern açık ağırlıklı modellerin çoğu (Llama 2 70B'den itibaren, Mistral ve türevleri) bunu standart kabul etti. Yerelde model çalıştıranlar için de anlamı büyük: aynı VRAM'de daha uzun context sığar.
Kullanım alanları
- Büyük dil modellerinin inference maliyetini düşürme
- Uzun context (32K, 128K token) pencerelerini pratik kılma
- Yerel ve edge cihazlarda LLM çalıştırma
- Sunucu tarafında yüksek throughput gerektiren API servisleri
Ilgili terimler
