KV Önbelleği (KV Cache)
MimariKV Cache nedir?
KV Cache (Key-Value Cache), Transformer mimarisindeki attention mekanizmasının önceki token'lar için yaptığı hesaplamaları bellekte saklayan bir optimizasyon tekniğidir. "KV" ifadesi, attention'daki Key ve Value matrislerini temsil eder.
Nasıl çalışır?
Attention mekanizması her token için üç vektör hesaplar: Query (Q), Key (K) ve Value (V). Bir model yeni token üretirken, daha önceden işlenmiş tüm token'ların K ve V değerlerini yeniden hesaplamak zorunda kalmaz — bunlar zaten önbellekte mevcuttur.
Bu sayede:
- İlk token üretimi (prefill aşaması) tüm bağlamı işler, K ve V'leri önbelleğe yazar.
- Sonraki her token yalnızca kendi Q vektörünü hesaplar, önbellekteki K ve V'lerle karşılaştırır.
- Hesaplama maliyeti dramatik biçimde düşer.
Neden önemli?
KV Cache olmadan, her yeni token için tüm bağlamı baştan işlemek gerekir. 100.000 token'lık bir bağlamda bu yaklaşım neredeyse kullanılamaz hale gelir.
KV Cache ile:
- Latency azalır: Uzun bağlamlarda token üretimi çok daha hızlanır.
- Throughput artar: Aynı GPU, daha fazla isteği paralel işleyebilir.
- Maliyet düşer: Daha az hesaplama = daha az GPU süresi.
Öte yandan dezavantajı belirgindir: çok büyük bağlamlarda KV Cache'in kendisi ciddi miktarda GPU belleği tüketir. Bu yüzden "KV Cache sıkıştırma" aktif bir araştırma alanıdır.
Kullanım alanları
- Uzun konuşma geçmişi olan chatbot'lar
- Büyük doküman analizi
- Kod tamamlama (uzun dosyalar)
- Multi-turn agentic iş akışları