YOLO Vision 2026:
Ultralytics Sözlüğüne dön

Grouped Query Attention (GQA)

Grouped Query Attention (GQA) mekanizmasının KV-önbellek belleğini nasıl azalttığını, çıkarım verimliliğini nasıl artırdığını ve Transformer modellerinde performansı nasıl dengelediğini öğren.

Grouped Query Attention (GQA), birden fazla sorgu başlığının (query head) daha küçük bir anahtar (key) ve değer (value) başlığı kümesini paylaştığı bir dikkat (attention) tasarımıdır. Anahtar ve değerler için gereken belleği ve veri hareketini azaltırken, çok başlıklı sorguların (multi-head query) farklı bakış açılarını korur. GQA, bir modelin tek seferde bir token ürettiği ve saklanan dikkat durumlarını defalarca okuduğu otoregresif çıkarım (autoregressive inference) sırasında özellikle değerlidir.

GQA Nasıl Çalışır?#

Bir attention mechanism içinde her token üç temsile projeksiyonla dönüştürülür:

  • Sorgu (Query): Mevcut token'ın aradığı bilgiyi tanımlar.
  • Anahtar (Key): Mevcut her token'ın neyi temsil ettiğini tanımlar.
  • Değer (Value): Bir sorgu bir anahtarla eşleştiğinde alınan bilgiyi içerir.

Geleneksel self-attention mekanizmasında bu projeksiyonlar, modelin farklı ilişkileri paralel olarak öğrenebilmesi için başlıklara bölünür. GQA, birçok sorgu başlığını tutar ancak bunların gruplarını paylaşılan anahtar ve değer başlıklarına atar. Örneğin bir dikkat katmanı sekiz sorgu başlığı ve iki anahtar-değer başlığı kullanabilir. Bu durumda her anahtar-değer başlığı dört sorgu başlığına hizmet eder.

Dikkat hesaplamasının kendisi ölçeklendirilmiş nokta çarpımı dikkati (scaled dot-product attention) olarak kalır. Değişen şey başlık düzenlemesi ile üretilen, saklanan ve okunan anahtar-değer verilerinin miktarıdır. PyTorch scaled dot-product attention gibi çerçeveler, bu nedenle GQA etkinken sorgu başlıkları sayısının anahtar-değer başlıkları sayısına tam bölünmesini gerektirir. (docs.pytorch.org)

GQA ile Çok Başlıklı ve Çok Sorgulu Dikkat Karşılaştırması#

GQA, çok başlıklı dikkat (multi-head attention) ile çok sorgulu dikkat (multi-query attention) arasında yer alır:

  • Multi-head attention: Her sorgu başlığının kendi anahtar ve değer başlıkları vardır. Bu, maksimum başlık bağımsızlığı sunar ancak en büyük anahtar-değer belleği gereksinimini oluşturur.
  • Gruplanmış sorgu dikkati (Grouped query attention): Birkaç sorgu başlığı her bir anahtar-değer başlığını paylaşır. Temsil kapasitesini bellek verimliliğiyle dengeler.
  • Çok sorgulu dikkat (Multi-query attention): Tüm sorgu başlıkları tek bir anahtar başlığını ve tek bir değer başlığını paylaşır. Bu, anahtar-değer depolamasını en aza indirir ancak daha az anahtar-değer çeşitliliği sağlar.

Bir katmanda 32 sorgu başlığı varsa, çok başlıklı dikkat 32 anahtar-değer başlığı da kullanabilirken, GQA 8 ve çok sorgulu dikkat 1 kullanabilir. GQA, daha geniş olan Transformer architecture için bir yerini tutucu değildir; bir Transformer dikkat katmanı içindeki olası konfigürasyonlardan biridir. NVIDIA'nın multi-head, multi-query, and grouped-query attention documentation belgesi, bu varyantların öncelikli olarak kaç anahtar-değer başlığının sorgu başlıklarına hizmet ettiğine göre farklılık gösterdiğini belirtir. (nvidia.github.io)

GQA Neden Önemlidir?#

Otoregresif üretim sırasında bir model, önceki anahtar ve değerleri bir KV cache içinde saklar. Standart çok başlıklı dikkat ile her dikkat başlığı ayrı önbelleğe alınmış anahtar ve değerlere katkıda bulunur. Bu nedenle uzun diziler, büyük yığınlar (batch) ve çok sayıda model katmanı önemli miktarda GPU belleği tüketebilir.

GQA daha az anahtar-değer başlığı kullandığı için önbelleği, bu başlıkların azaltılması oranında daha küçüktür. Bu durum şunları iyileştirebilir:

  • Bellek kapasitesi: Daha uzun girdiler veya aynı anda gelen daha fazla istek mevcut belleğe sığabilir.
  • Üretim veri yolu (Throughput): Her üretilen token için okunması gereken anahtar-değer verisi miktarı azalır.
  • Inference latency: Azalan bellek trafiği, token'dan token'a işleme süresini kısaltabilir.
  • Context window ölçeklenebilirliği: Uzun dizilere hizmet vermek daha pratik hale gelir.

Bu kazançlar donanıma, dizi uzunluğuna, yığın boyutuna ve çekirdek (kernel) desteğine bağlıdır. Üretim çalışma zamanları (runtime) hâlâ verimli önbellek tahsisine ihtiyaç duyar; örneğin NVIDIA'nın TensorRT-LLM KV cache system çözümü, GQA desteğini blok tabanlı önbellekleme, yeniden kullanım ve offloading (boşaltma) ile birleştirir. (nvidia.github.io)

Gerçek Dünya Uygulamaları#

Uzun içerikli asistanlar: Bir kodlama asistanı, bir yanıt üremeden önce binlerce kaynak kod token'ını işleyebilir. GQA, bu geçmişle ilişkili önbelleğe alınmış anahtar-değer durumunu azaltarak bir sunucunun, GPU belleğini orantılı olarak artırmadan daha uzun dosyaları veya daha fazla eşzamanlı kullanıcıyı yönetmesine olanak tanır.

Çok modlu görüntü ve video asistanları: Bir vision-language model, görüntü yamaçlarını (patch) veya video karelerini uzun token dizileri olarak temsil edebilir. GQA, bu görsel token'lar dil kod çözücüsüne girdikten sonra dikkat önbelleği baskısını azaltır ve potansiyel olarak ek görüntüler, kareler veya istekler için daha fazla bellek bırakır. Bu durum, dikkatin tüm görüntü yamaçlarını otoregresif KV önbelleklemesi olmaksızın paralel olarak işleyebildiği standart bir Vision Transformer modelinden farklıdır.

Pratik Uygulama ve Tavizler (Trade-Offs)#

PyTorch, GQA'yı enable_gqa=True aracılığıyla sunar. Belgelenmiş bu CUDA örneği, sekiz sorgu başlığı ve iki paylaşılan anahtar-değer başlığı kullanır:

import torch
import torch.nn.functional as F
from torch.nn.attention import SDPBackend, sdpa_kernel

assert torch.cuda.is_available(), "A CUDA device is required."

query = torch.randn(1, 8, 16, 32, device="cuda")
key = torch.randn(1, 2, 16, 32, device="cuda")
value = torch.randn(1, 2, 16, 32, device="cuda")

# Four query heads share each key-value head.
with sdpa_kernel(SDPBackend.MATH):
    output = F.scaled_dot_product_attention(
        query,
        key,
        value,
        enable_gqa=True,
    )

print(output.shape)

Çıktı sekiz sorgu başlığını korurken, anahtar ve değerler yalnızca iki başlık kullanır. PyTorch attention backend selector, hangi desteklenen çekirdeğin işlemi gerçekleştireceğini kontrol edebilirken, PyTorch Transformer building-block guide daha geniş bir uygulama bağlamı sağlar. (docs.pytorch.org)

GQA, bir model tasarlanırken veya uyarlanırken seçilmelidir; genellikle mevcut bir kontrol noktası (checkpoint) için çıkarım anında değiştirilebilen bir anahtar değildir. Geliştiriciler çerçeve desteğini, başlık bölünebilirliğini, sayısal davranışı, bellek kullanımını ve görev kalitesini doğrulamalıdır. Bilgisayarlı görü (computer vision) dağıtımı için Ultralytics TensorRT integration ve Ultralytics benchmark mode gibi tamamlayıcı iş akışları, mimari ve çalışma zamanı optimizasyonlarının hedef donanımda anlamlı iyileştirmeler sağlayıp sağlamadığını ölçmeye yardımcı olur.

Explore solutions

Real-time AI that works with your team

Robotikte AI

Daha akıllı makineleri Ultralytics YOLO modelleriyle destekle. Robotikteki Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Lojistikte Yapay Zeka

Ultralytics YOLO modelleri ile lojistiği kolaylaştır. Görü Yapay Zekası; paket inceleme, ayıklama, araç takibi ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Real-time AI that works with your team

Perakendede AI

Perakendeyi Ultralytics YOLO modelleri ile yeniden hayal et. Görü Yapay Zekası; envanter takibi, raf izleme, sıra yönetimi ve daha akıllı müşteri içgörüleri sağlar.
Daha fazla bilgi edin
Real-time AI that works with your team

Sağlıkta Yapay Zeka

Ultralytics YOLO modelleriyle sağlık çözümleri oluştur. Sağlıkta görüntü tabanlı yapay zeka; daha hızlı tıbbi görüntülemeyi, daha akıllı teşhisleri ve hasta izlemeyi güçlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Üretimde Yapay Zeka

Ultralytics YOLO modelleri ile üretimi optimize et. Görü Yapay Zekası; kalite kontrol, kusur tespiti, KKD uyumu ve montaj hattı otomasyonunu yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your operation

Otomotivde yapay zeka

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygula. Görüntü tabanlı yapay zeka; yol güvenliğini, sürücü yardımını ve araç otomasyonunu daha akıllı yollar için geliştirir.
Daha fazla bilgi edin
Real-time AI tailored to your operation

Tarımda yapay zeka

Ultralytics YOLO modelleriyle akıllı tarıma görüntü tabanlı yapay zeka getir. Daha yüksek ve akıllı verimler için mahsul takibini, hayvancılık izlemeyi ve hassas tarımı güçlendir.
Daha fazla bilgi edin
Real-time AI that works with your team

Robotikte AI

Daha akıllı makineleri Ultralytics YOLO modelleriyle destekle. Robotikteki Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Lojistikte Yapay Zeka

Ultralytics YOLO modelleri ile lojistiği kolaylaştır. Görü Yapay Zekası; paket inceleme, ayıklama, araç takibi ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Real-time AI that works with your team

Perakendede AI

Perakendeyi Ultralytics YOLO modelleri ile yeniden hayal et. Görü Yapay Zekası; envanter takibi, raf izleme, sıra yönetimi ve daha akıllı müşteri içgörüleri sağlar.
Daha fazla bilgi edin
Real-time AI that works with your team

Sağlıkta Yapay Zeka

Ultralytics YOLO modelleriyle sağlık çözümleri oluştur. Sağlıkta görüntü tabanlı yapay zeka; daha hızlı tıbbi görüntülemeyi, daha akıllı teşhisleri ve hasta izlemeyi güçlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Üretimde Yapay Zeka

Ultralytics YOLO modelleri ile üretimi optimize et. Görü Yapay Zekası; kalite kontrol, kusur tespiti, KKD uyumu ve montaj hattı otomasyonunu yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your operation

Otomotivde yapay zeka

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygula. Görüntü tabanlı yapay zeka; yol güvenliğini, sürücü yardımını ve araç otomasyonunu daha akıllı yollar için geliştirir.
Daha fazla bilgi edin
Real-time AI tailored to your operation

Tarımda yapay zeka

Ultralytics YOLO modelleriyle akıllı tarıma görüntü tabanlı yapay zeka getir. Daha yüksek ve akıllı verimler için mahsul takibini, hayvancılık izlemeyi ve hassas tarımı güçlendir.
Daha fazla bilgi edin
Real-time AI that works with your team

Robotikte AI

Daha akıllı makineleri Ultralytics YOLO modelleriyle destekle. Robotikteki Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Lojistikte Yapay Zeka

Ultralytics YOLO modelleri ile lojistiği kolaylaştır. Görü Yapay Zekası; paket inceleme, ayıklama, araç takibi ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Real-time AI that works with your team

Perakendede AI

Perakendeyi Ultralytics YOLO modelleri ile yeniden hayal et. Görü Yapay Zekası; envanter takibi, raf izleme, sıra yönetimi ve daha akıllı müşteri içgörüleri sağlar.
Daha fazla bilgi edin
Real-time AI that works with your team

Sağlıkta Yapay Zeka

Ultralytics YOLO modelleriyle sağlık çözümleri oluştur. Sağlıkta görüntü tabanlı yapay zeka; daha hızlı tıbbi görüntülemeyi, daha akıllı teşhisleri ve hasta izlemeyi güçlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Üretimde Yapay Zeka

Ultralytics YOLO modelleri ile üretimi optimize et. Görü Yapay Zekası; kalite kontrol, kusur tespiti, KKD uyumu ve montaj hattı otomasyonunu yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your operation

Otomotivde yapay zeka

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygula. Görüntü tabanlı yapay zeka; yol güvenliğini, sürücü yardımını ve araç otomasyonunu daha akıllı yollar için geliştirir.
Daha fazla bilgi edin
Real-time AI tailored to your operation

Tarımda yapay zeka

Ultralytics YOLO modelleriyle akıllı tarıma görüntü tabanlı yapay zeka getir. Daha yüksek ve akıllı verimler için mahsul takibini, hayvancılık izlemeyi ve hassas tarımı güçlendir.
Daha fazla bilgi edin

Yapay zekanın geleceğini birlikte inşa edelim!

Yolculuğuna makine öğreniminin geleceğiyle başla