Araştırma 🇺🇸 28.07.2026 15:06

LLM'lerde KV Önbelleği: Sıfırdan Anlama ve Uygulama

KV önbelleği, ara anahtar ve değer vektörlerini saklayarak gereksiz hesaplamaları önleyen, verimli LLM çıkarımı için kullanılan bir tekniktir. Makale, kavramı açıklar ve PyTorch'ta sıfırdan kod uygulaması sağlayarak, metin üretimi sırasında çok başlı dikkat mekanizmasının anahtarları ve değerleri önbelleğe alacak şekilde nasıl değiştirileceğini gösterir.
KV önbelleği, önceki dikkat hesaplamalarından elde edilen anahtar (K) ve değer (V) vektörlerini saklar ve sonraki belirteçleri üretirken yeniden kullanarak çıkarımı hızlandırır, böylece yeniden hesaplama yapılmasını önler. KV önbelleği olmadan, her üretim adımında önceki tüm belirteçler için anahtar ve değerler yeniden hesaplanır; önbellek ile yalnızca yeni belirtecin vektörleri hesaplanır ve önbelleğe eklenir. Makale, yazarın kitabındaki GPT benzeri bir modele dayalı bir kod uygulaması sunmaktadır. Temel değişiklikler şunlardır: MultiHeadAttention sınıfına önbellek arabellekleri (cache_k ve cache_v) eklemek, ileri yöntemi önbelleği koşullu olarak kullanacak şekilde değiştirmek, bir sıfırlama yöntemi eklemek ve use_cache bayrağını model aracılığıyla iletmek. Üretim sırasında, use_cache True olduğunda, model ilk istemden sonra yalnızca yeni belirteci işler; önbellek olmadan ise her adımda tüm diziyi işler. Basit bir performans karşılaştırması, KV önbelleğinin test edilen örnek için üretim hızını kabaca iki katına çıkardığını göstermektedir.
Kaynak: Sebastian Raschka — orijinal
Bu konudaki önceki yazılarımız ↓
Güncel haberler