KV Önbellek Optimizasyonu
KV önbelleği, bir transformatörün önceden hesaplamış olduğu anahtarları ve değerleri saklar, böylece her yeni belirteç için işi yeniden yapmaz; ancak gigabaytlara kadar çıkabilir.
Genel Bakış
KV cache optimization shrinks and manages that memory so models serve longer contexts to more users at once.
Derin Dalış
Bir transformatörde, her yeni jeton, dikkat anahtarları (K) ve değerler (V) aracılığıyla önceki tüm jetonlara katılır. Her adımda tüm dizi için K ve V'yi yeniden hesaplamak ikinci dereceden ve israf olacaktır, bu nedenle modeller bunları önbelleğe alır: KV önbelleği. Dezavantajı boyutudur. Önbellek, sıra uzunluğu, toplu iş boyutu, katmanlar ve kafalarla doğrusal olarak büyür; dolayısıyla uzun bağlamlı bir istek, modelin ağırlığından daha fazla GPU belleği tüketebilir. Optimizasyon bunu çeşitli açılardan ele alır: sayfalanmış bellek (vLLM'nin PagedAttention'ı), parçalanmayı ortadan kaldırmak ve paylaşımı mümkün kılmak için önbelleği bitişik olmayan bloklarda saklar; nicemleme, K ve V'yi 8 bit veya 4 bit olarak saklar; Gruplandırılmış Sorgu Dikkati (GQA) ve Çoklu Sorgu Dikkati (MQA) gibi mimari değişiklikler, birçok sorgu kafasının daha az anahtar/değer başlığı paylaşmasına olanak tanıyarak kaynaktaki önbellek boyutunu azaltır.
Teknik Bilgi
PagedAttention, işletim sistemlerinden sanal bellek sayfalamayı ödünç alır: önbellek, bir arama tablosu aracılığıyla eşlenen sabit boyutlu bloklarda bulunur, bu nedenle istekler yalnızca ihtiyaç duydukları blokları kullanır ve aynı önekler (paylaşılan bir sistem istemi gibi) aynı blokları işaret edebilir. DeepSeek modellerinde kullanılan Çok Kafalı Gizli Dikkat (MLA), K ve V'yi küçük, paylaşılan gizli bir vektöre sıkıştırarak doğruluğu korurken belleği önemli ölçüde keser.
Stratejik Etki
Maliyet ve bütçe
Mimari kararlar yıllarca performansı ve işletme maliyetini etkiler.
Daha net kararlar
Teknik eğitim, ekiplerin yalnızca en yenisini değil, doğru yığını seçmesine de yardımcı olur.
Quality control
Daha iyi mühendislik seçenekleri, üretimdeki güvenilirlik olaylarını azaltır.
KV Önbellek Optimizasyonunun Geleceği
Bağlam pencereleri yüzbinlerce veya milyonlarca tokene yayıldıkça, KV önbelleği hizmetin baskın maliyeti haline gelir. Agresif önbellek sıkıştırma ve çıkarma (düşük dikkat gerektiren belirteçlerin bırakılması), varsayılan olarak çapraz istek önek paylaşımı, soğuk önbelleğin CPU veya NVMe'ye boşaltılması ve MLA ile GQA gibi mimarilerin standart hale gelmesi bekleniyor. Önbellek yönetimi, katmanlar ve akıllı önceden getirme ile giderek daha fazla tam bellek hiyerarşisine benzeyecek.
Gerçek Dünya Uygulaması
vLLM'nin PagedAttention özelliği, bellek parçalanması olmadan KV bloklarını paketleyerek birçok eşzamanlı sohbet oturumuna hizmet eder
Lama modellerindeki Gruplandırılmış Sorgu Dikkati, KV önbellek boyutunu azaltarak daha uzun bağlamların GPU belleğine sığmasını sağlar
Uzun belge özetleme sırasında önbelleği kabaca yarıya indirmek için KV önbelleğini 8 bit'e (KV8) nicelendirmek
Binlerce API isteğinde paylaşılan bir sistem isteminin KV bloklarını yeniden kullanan ön ek önbelleğe alma
Riskler ve Korkuluklar
Bir kıyaslamayı optimize etmek daha geniş sistem zayıflıklarını gizleyebilir.
Altyapı ve bakım maliyetleri genellikle hafife alınır.
Sistemler karmaşıklaştıkça güvenlik ve gözlemlenebilirlik boşlukları büyüyebilir.
Uygulama Yol Haritası
Uygulamadan önce gecikmeyi, kaliteyi ve maliyet hedeflerini tanımlayın.
Gerçekçi yük ve veri koşulları altında kıyaslama yapın.
Hatalar, sapmalar ve kullanıcı etkisi için cihaz izleme.
Ölçeklendirmeden önce geri alma ve olay müdahale yollarını hazırlayın.
Keşfetmeye Devam Edin
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the KV Cache Optimization quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Next guide
KV Önbelleği
Sık sorulan sorular
What is KV Cache Optimization?
KV önbelleği, bir transformatörün önceden hesaplamış olduğu anahtarları ve değerleri saklar, böylece her yeni belirteç için işi yeniden yapmaz; ancak gigabaytlara kadar çıkabilir. KV önbellek optimizasyonu belleği küçültüp yöneterek modellerin aynı anda daha fazla kullanıcıya daha uzun bağlamlar sunmasını sağlar.
KV önbelleği neyi saklıyor ve neden?
Önceki belirteçlerdeki anahtarların ve değerlerin önbelleğe alınması, her yeni belirteç üzerinde dikkat hesaplamasının yeniden yapılmasını önler ve zamandan tasarruf sağlar.
KV önbelleği neden bir bellek sorunu haline gelebilir?
Önbellek boyutu bağlam uzunluğu ve eş zamanlılığa göre ölçeklendiğinden, uzun istekler çok büyük miktarda GPU belleği kullanabilir.
PagedAttention hangi işletim sistemi konseptini ödünç alıyor?
PagedAttention, tıpkı işletim sistemi sayfalamasında olduğu gibi, önbelleği bir tablo aracılığıyla eşlenen bitişik olmayan sabit boyutlu bloklarda saklar.
Gruplandırılmış Sorgu ve Çoklu Sorgu Dikkati KV önbellek boyutunu nasıl azaltır?
Anahtar/değer kafalarının birden çok sorgu başlığı arasında paylaşılması, depolanacak K ve V vektörlerinin çok daha az olması anlamına gelir.
KV önbelleğinde önek paylaşımının avantajlarından biri nedir?
Paylaşılan bir sistem istemi aynı KV girişlerini üretir, böylece birden fazla istek onları çoğaltmak yerine aynı bloklara işaret edebilir.