Teknik KILAVUZ

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.

2 min readSon güncelleme

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ı

1

Uygulamadan önce gecikmeyi, kaliteyi ve maliyet hedeflerini tanımlayın.

2

Gerçekçi yük ve veri koşulları altında kıyaslama yapın.

3

Hatalar, sapmalar ve kullanıcı etkisi için cihaz izleme.

4

Ö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.

Testi başlat

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

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.