Ultralytics YOLO27:
Ultralytics Sözlüğüne dön

Grouped Query Attention (GQA)

Gruplanmış Sorgu Dikkatinin (GQA) KV-cache belleğini nasıl azalttığını, çıkarım verimliliğini nasıl artırdığını ve Transformer modellerinde performansı nasıl dengelediğini öğren.

Gruplandırılmış Sorgu Dikkati (GQA), birden fazla sorgu başlığının daha küçük bir anahtar ve değer başlığı kümesini paylaştığı bir dikkat tasarımıdır. Anahtarlar ve değerler için gereken bellek ve veri aktarımını azaltırken çok başlı sorguların farklı bakış açılarını korur. GQA, bir modelin her seferinde bir belirteç ürettiği ve depolanan dikkat durumlarını tekrar tekrar okuduğu otoregresif çıkarım sırasında özellikle değerlidir.

GQA Nasıl Çalışır#

Bir dikkat mekanizması içinde her belirteç üç gösterime yansıtılır:

  • Sorgu: Geçerli belirtecin aradığı bilgiyi açıklar.
  • Anahtar: Kullanılabilir her belirtecin neyi temsil ettiğini açıklar.
  • Değer: Bir sorgu bir anahtarla eşleştiğinde alınan bilgiyi içerir.

Geleneksel öz-dikkat mekanizmasında bu yansıtımlar, modelin farklı ilişkileri paralel olarak öğrenebilmesi için başlıklara ayrılır. GQA, çok sayıda sorgu başlığını korur ancak bunları paylaşılan anahtar ve değer başlıklarıyla gruplar halinde eşleştirir. Örneğin bir dikkat katmanı sekiz sorgu başlığı ve iki anahtar-değer başlığı kullanabilir. Böylece her anahtar-değer başlığı dört sorgu başlığına hizmet eder.

Dikkat hesaplamasının kendisi ölçeklendirilmiş noktasal çarpım dikkati olarak kalır. Değişen şey, başlıkların düzeni ile üretilen, depolanan ve okunan anahtar-değer verilerinin miktarıdır. Bu nedenle PyTorch ölçeklendirilmiş noktasal çarpım dikkati gibi çerçeveler, GQA etkinleştirildiğinde sorgu başlıklarının sayısının anahtar-değer başlıklarının sayısına tam bölünebilmesini gerektirir. (docs.pytorch.org)

GQA ile Çok Başlı ve Çoklu Sorgu Dikkatinin Karşılaştırması#

GQA, çok başlı dikkat ile çoklu sorgu dikkati arasında yer alır:

  • Çok başlı dikkat: Her sorgu başlığının kendine ait anahtar ve değer başlıkları vardır. Bu, başlıkların bağımsızlığını en üst düzeye çıkarır ancak en yüksek anahtar-değer belleği gereksinimini oluşturur.
  • Gruplandırılmış sorgu dikkati: Birden fazla sorgu başlığı her anahtar-değer başlığını paylaşır. Gösterim kapasitesi ile bellek verimliliği arasında denge kurar.
  • Çoklu sorgu dikkati: Tüm sorgu başlıkları tek bir anahtar başlığını ve tek bir değer başlığını paylaşır. 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ı dikkat 32 anahtar-değer başlığı da kullanabilir, GQA 8 başlık kullanabilir ve çoklu sorgu dikkati 1 başlık kullanır. GQA, daha geniş Transformer mimarisinin yerine geçmez; bir Transformer dikkat katmanı içindeki olası yapılandırmalardan biridir. NVIDIA’nın çok başlı, çoklu sorgu ve gruplandırılmış sorgu dikkati belgeleri, bu varyantların temel olarak kaç anahtar-değer başlığının sorgu başlıklarına hizmet ettiği konusunda farklılaştığını açıklar. (nvidia.github.io)

GQA Neden Önemlidir?#

Otoregresif üretim sırasında bir model, önceki anahtarları ve değerleri bir KV önbelleğinde depolar. Standart çok başlı dikkat mekanizmasında her dikkat başlığı, önbelleğe alınan ayrı anahtar ve değerler sağlar. Bu nedenle uzun diziler, büyük toplu işlemler ve çok sayıda model katmanı önemli miktarda GPU belleği tüketebilir.

GQA daha az anahtar-değer başlığı kullandığından, önbelleği bu başlıklardaki azalmayla orantılı olarak daha küçüktür. Bu, şunları iyileştirebilir:

  • Bellek kapasitesi: Daha uzun istemler veya daha fazla eşzamanlı istek kullanılabilir belleğe sığabilir.
  • Üretim iş hacmi: Üretilen her belirteç için daha az anahtar-değer verisinin okunması gerekir.
  • Çıkarım gecikmesi: Azalan bellek trafiği, belirteçten belirtece işlem süresini kısaltabilir.
  • Bağlam penceresi ölçeklenebilirliği: Uzun dizileri sunmak daha uygulanabilir hale gelir.

Bu kazanımlar donanıma, dizi uzunluğuna, toplu işlem boyutuna ve çekirdek desteğine bağlıdır. Üretim çalışma zamanlarının hâlâ verimli önbellek tahsisine ihtiyacı vardır; örneğin NVIDIA’nın TensorRT-LLM KV önbellek sistemi, GQA desteğini blok tabanlı önbelleğe alma, yeniden kullanma ve dışarı aktarma özellikleriyle birleştirir. (nvidia.github.io)

Gerçek Dünya Uygulamaları#

Uzun bağlamlı asistanlar: Bir kodlama asistanı, yanıt üretmeden önce binlerce kaynak kodu belirtecini işleyebilir. GQA, bu geçmişle ilişkili önbelleğe alınan 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ı işlemesine olanak tanır.

Çok modlu görüntü ve video asistanları: Bir görme-dil modeli, görüntü parçalarını veya video karelerini uzun belirteç dizileri olarak temsil edebilir. GQA, bu görsel belirteçler dil kod çözücüye girdikten sonra dikkat önbelleği üzerindeki yükü azaltarak ek görüntüler, kareler veya istekler için daha fazla bellek bırakabilir. Bu, dikkatin tüm görüntü parçalarını otoregresif KV önbelleğe alma olmadan paralel olarak işleyebildiği standart bir Vision Transformer yaklaşımından farklıdır.

Pratik Uygulama ve Ödünleşimler#

PyTorch, GQA’yı enable_gqa=True üzerinden sunar. Bu belgelenmiş 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 anahtarlar ve değerler yalnızca iki başlık kullanır. PyTorch dikkat arka ucu seçicisi, işlemi gerçekleştiren desteklenen çekirdeği denetleyebilir; PyTorch Transformer yapı taşları kılavuzu ise 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ı için çıkarım sırasında açılıp kapatılabilen bir seçenek değildir. Geliştiriciler çerçeve desteğini, başlıkların bölünebilirliğini, sayısal davranışı, bellek kullanımını ve görev kalitesini doğrulamalıdır. Bilgisayarlı görü dağıtımı için Ultralytics TensorRT entegrasyonu ve Ultralytics kıyaslama modu 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

Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, çevresel izleme, koruma ve coğrafi uzaktan algılama için drone ve hava görüntülerini gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Ultralytics YOLO modelleri ile havadan izlemeye yapay zeka tabanlı görü kazandır. Bilgisayarlı görü çözümleriyle dronları, havacılık iş akışlarını, çevre koruma ve jeosansiyel endüstrilerini güçlendir.
Daha fazla bilgi edin

Ultralytics YOLO modelleri ile her alanı koru. Yapay zeka tabanlı görü; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makineler geliştir. Robotikte Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü mümkün kılar.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Vision AI; paket denetimini, ayırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Vision AI; envanter takibini, raf izlemeyi, sıra yönetimini ve daha akıllı müşteri içgörülerini destekler.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık hizmetleri çözümleri geliştir. Sağlık hizmetlerindeki Vision AI; daha hızlı tıbbi görüntülemeyi, daha akıllı tanıyı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Vision AI; kalite kontrolünü, kusur tespitini, PPE uyumluluğunu ve montaj hattı otomasyonunu güçlendirir.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygulayın. Görsel yapay zekâ, daha akıllı yollar için yol güvenliğini, sürücü yardımını ve araç otomasyonunu geliştirir.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görsel yapay zekâ taşıyın. Daha yüksek ve akıllı verim için ürün izlemeye, hayvan takibine ve hassas tarıma güç verin.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, çevresel izleme, koruma ve coğrafi uzaktan algılama için drone ve hava görüntülerini gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Ultralytics YOLO modelleri ile havadan izlemeye yapay zeka tabanlı görü kazandır. Bilgisayarlı görü çözümleriyle dronları, havacılık iş akışlarını, çevre koruma ve jeosansiyel endüstrilerini güçlendir.
Daha fazla bilgi edin

Ultralytics YOLO modelleri ile her alanı koru. Yapay zeka tabanlı görü; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makineler geliştir. Robotikte Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü mümkün kılar.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Vision AI; paket denetimini, ayırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Vision AI; envanter takibini, raf izlemeyi, sıra yönetimini ve daha akıllı müşteri içgörülerini destekler.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık hizmetleri çözümleri geliştir. Sağlık hizmetlerindeki Vision AI; daha hızlı tıbbi görüntülemeyi, daha akıllı tanıyı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Vision AI; kalite kontrolünü, kusur tespitini, PPE uyumluluğunu ve montaj hattı otomasyonunu güçlendirir.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygulayın. Görsel yapay zekâ, daha akıllı yollar için yol güvenliğini, sürücü yardımını ve araç otomasyonunu geliştirir.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görsel yapay zekâ taşıyın. Daha yüksek ve akıllı verim için ürün izlemeye, hayvan takibine ve hassas tarıma güç verin.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, çevresel izleme, koruma ve coğrafi uzaktan algılama için drone ve hava görüntülerini gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Ultralytics YOLO modelleri ile havadan izlemeye yapay zeka tabanlı görü kazandır. Bilgisayarlı görü çözümleriyle dronları, havacılık iş akışlarını, çevre koruma ve jeosansiyel endüstrilerini güçlendir.
Daha fazla bilgi edin

Ultralytics YOLO modelleri ile her alanı koru. Yapay zeka tabanlı görü; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makineler geliştir. Robotikte Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü mümkün kılar.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Vision AI; paket denetimini, ayırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Vision AI; envanter takibini, raf izlemeyi, sıra yönetimini ve daha akıllı müşteri içgörülerini destekler.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık hizmetleri çözümleri geliştir. Sağlık hizmetlerindeki Vision AI; daha hızlı tıbbi görüntülemeyi, daha akıllı tanıyı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Vision AI; kalite kontrolünü, kusur tespitini, PPE uyumluluğunu ve montaj hattı otomasyonunu güçlendirir.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygulayın. Görsel yapay zekâ, daha akıllı yollar için yol güvenliğini, sürücü yardımını ve araç otomasyonunu geliştirir.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görsel yapay zekâ taşıyın. Daha yüksek ve akıllı verim için ürün izlemeye, hayvan takibine ve hassas tarıma güç verin.
Daha fazla bilgi edin

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

Makine öğreniminin geleceğiyle yolculuğuna başla