SıradakiSonraki rehber
KV Önbellek Optimizasyonu
Teknik
Dil AI KILAVUZU
KV önbelleği, bir transformatörün önceki belirteçler için zaten hesaplamış olduğu anahtar ve değer vektörlerini saklar, böylece bunları ürettiği her yeni kelime için yeniden hesaplamak zorunda kalmaz.
Bu kılavuzu dinleyinAI tarafından anlatılan · ~2 min
It is the single biggest reason text generation is fast — and the main thing eating your GPU memory during long conversations.
Transformatörler her seferinde bir jeton olacak şekilde metin üretir ve her yeni jetonun dikkat katmanının önceki jetonlarla karşılaştırılması gerekir. Dikkat mekanizması her jetonu bir sorguya, anahtara ve değer vektörüne dönüştürür. Önbelleğe alma olmadan, 1.000 numaralı token'ı oluşturmak, her adımda daha önceki 999 token'ın tümü için anahtarların ve değerlerin yeniden hesaplanması anlamına gelir; ikinci dereceden, israflı bir çalışma. KV önbelleği, bu anahtar ve değer vektörlerini ilk hesaplandıktan sonra kaydeder ve yeniden kullanır, böylece her yeni adım yalnızca en yeni belirteç için vektörleri hesaplar ve depolanan önbellek üzerinden katılır. Bu, jeton başına maliyeti dizi uzunluğuyla ölçeklendirmeden kabaca sabite indirir. Takas, bellektir: Önbellek, bağlam uzunluğu, katman sayısı ve dikkat kafaları ile doğrusal olarak büyür ve genellikle uzun bağlam sunumunda baskın bellek tüketicisi haline gelir.
Sohbet geçmişindeki önbelleğe alınmış anahtarları/değerleri her seferinde yeniden işlemek yerine yeniden kullanarak chatbot yanıtlarını hızlandırma.
Birçok kullanıcı arasında uzun bir sistem istemi için önbelleği paylaşan ön ek önbelleğe alma, maliyeti ve gecikmeyi azaltır.
vLLM'nin PagedAttention özelliği, tek bir GPU üzerinde birçok eş zamanlı isteği verimli bir şekilde sunmak için KV önbelleğini bloklar halinde yönetir.
Sınırlı GPU belleğine daha uzun bağlamları sığdırmak amacıyla hassasiyeti azaltmak için KV önbelleğinin nicelendirilmesi.
Bağlam pencereleri yüzbinlerce jetona yayıldıkça, KV önbelleği merkezi darboğaz haline gelir, bu nedenle inovasyon şiddetlidir: 8 veya 4 bit'e kadar önbellek nicelemesi, düşük öneme sahip jetonları bırakan tahliye politikaları, çapraz istek önek paylaşımı ve CPU veya diske boşaltma. Çok kafalı gizli dikkat gibi mimari değişimler önbelleğin kendisini sıkıştırır. Çok uzun bağlamlara ucuza ve yüksek verimle hizmet vermeyi amaçlayan dikkat değişkenleri ve bellek sistemlerinin ortak tasarımının devam etmesini bekliyoruz.
Ücretsiz bülten
Hafta içi her sabah sade İngilizce yazılmış, doğrulanmış üç yapay zeka hikayesi. Sonsuza kadar ücretsiz, reklam yok.
Hafta içi her gün bir e-posta. Tek tıklamayla aboneliğinizi iptal edin. Adresinizi asla satmayız veya paylaşmayız.
Kendinizi test edin
Her yanıtla ilgili anında geri bildirim ve bir kursu geçtiğinizde doğrulanabilir bir kimliğe sahip paylaşılabilir bir sertifika.
Ücretsiz AI eğitimini destekleyin. AI Understanding, bir 501(c)(3) kâr amacı gütmeyen kuruluştur; hiçbir zaman reklam yoktur, ödeme duvarı yoktur. Bağış yap
KV önbelleği, bir transformatörün önceki belirteçler için zaten hesaplamış olduğu anahtar ve değer vektörlerini saklar, böylece bunları ürettiği her yeni kelime için yeniden hesaplamak zorunda kalmaz. Metin oluşturmanın hızlı olmasının en büyük nedeni budur ve uzun konuşmalar sırasında GPU belleğinizi tüketen en önemli şey budur.
KV önbelleği, daha önceki belirteçlerden gelen anahtar ve değer vektörlerini tutar, böylece dikkat bunları yeniden hesaplamak yerine yeniden kullanabilir.
The cache reuses keys and values computed for earlier tokens instead of rebuilding them at every decode step. The new query still attends over cached positions, so attention work and cache memory continue to grow with context length.
Önbellek, dizi uzunluğu, katmanlar ve kafalarla birlikte büyür ve genellikle uzun bağlam sunumunda GPU belleğinin baskın tüketicisi haline gelir.
Gruplandırılmış sorgu ve çoklu sorgu dikkati, birden fazla sorgu kafasının daha az anahtar/değer kümesi paylaşmasına olanak tanıyarak önbelleği önemli ölçüde daraltır.
Önceden doldurma, önbelleği istemin K/V'siyle doldurur; decode, her adımda yeni bir belirtecin K/V'sini ekler ve önbelleğe yeniden katılır.
Öğrenmeye devam et
Bu konu için daha fazla rehber seçildi
SıradakiSonraki rehber
KV Önbellek Optimizasyonu
Teknik