Prefix Caching Nedir? Büyük Dil Modelleri Tekrarlayan Promptları Nasıl Daha Hızlı İşliyor?
Örneğin bir kurumsal asistan aynı şirket politikalarını, bir kodlama aracı aynı geliştirme kurallarını veya bir belge analiz sistemi aynı uzun dokümanı tekrar tekrar kullanabilir. Değişmeyen başlangıç bölümlerini her seferinde yeniden hesaplamak, gereksiz işlem yükü oluşturur.
Prefix Caching, yani önek önbellekleme, daha önce işlenmiş ortak başlangıç bölümlerine ait hesaplama durumlarının yeniden kullanılmasını sağlar. Uygun isteklerde giriş işleme süresini ve hesaplama maliyetini azaltabilir.
Ancak bu yöntem, modelin bütün promptu ya da cevabı önceden bildiği anlamına gelmez. Yalnızca önbellekte bulunan ve yeni istekle eşleşen başlangıç bölümünün hesaplamaları yeniden kullanılır.
Prefix Caching Nedir?
Prefix Caching, aynı başlangıç tokenlarını paylaşan isteklerin, bu bölüm için önceden oluşturulmuş KV Cache verilerini yeniden kullanmasına dayanan bir çıkarım optimizasyonudur.
Buradaki prefix, promptun başlangıçtan itibaren ortak olan bölümüdür. Metnin herhangi bir yerinde aynı cümlenin bulunması, tek başına önbellek eşleşmesi sağlamaz.
Örneğin iki isteğin sistem talimatları ve başlangıç belgeleri aynı, son kullanıcı soruları farklı olabilir. Uyumlu bir önbellek kaydı varsa ortak başlangıç yeniden hesaplanmadan kullanılabilir. vLLM
KV Cache Nedir?
Transformer tabanlı dil modellerinde dikkat mekanizması, tokenlar için key ve value adı verilen sayısal temsiller oluşturur. KV Cache, bu temsilleri saklar.
Model yeni bir token üretirken önceki tokenların key ve value temsillerini her adımda baştan hesaplamak yerine saklanan değerlerden yararlanabilir.
Prefix Caching, bu önbelleğin ortak başlangıçları paylaşan istekler arasında yeniden kullanılmasına yönelik bir mekanizmadır. Dolayısıyla KV Cache ile tamamen bağımsız bir teknoloji değildir; onun üzerine kurulan bir optimizasyon yaklaşımıdır.
Prefill ve Decode Arasındaki Fark Nedir?
Prefix Caching’in faydasını anlamak için çıkarımın iki aşamasını ayırmak gerekir.
Prefill, modelin giriş tokenlarını işlediği ve bunlara ait hesaplama durumlarını oluşturduğu aşamadır. Uzun belgeler veya kapsamlı sistem talimatları bu aşamanın maliyetini artırabilir.
Decode, modelin yanıt tokenlarını ürettiği aşamadır. Otoregresif modellerde tokenlar, önceki tokenlara bağlı olarak üretilir.
Prefix Caching’in doğrudan kazancı, ortak başlangıcın prefill hesaplamalarını azaltmasıdır. Yeni yanıt tokenlarının üretilmesi yine gerekir. Bu nedenle uzun cevaplar üreten bir uygulamada toplam süreye etkisi sınırlı kalabilir. vLLM
Prefix Caching Nasıl Çalışır?
Genel süreç, önbelleğin oluşturulması ve sonraki isteklerde uygun bölümün bulunması üzerinden ilerler.
İlk İstek İşlenir
Prompt modele gönderilir. Kullanılabilir bir önbellek kaydı yoksa giriş tokenları normal biçimde işlenir ve KV Cache oluşturulur.
Yeniden Kullanılabilir Bölüm Saklanır
Sunucu, uygun başlangıç bölümlerine ait önbellek kayıtlarını saklar. Bunların ne kadar süre tutulacağı, bellek kapasitesine ve önbellek yönetim politikasına bağlıdır.
Yeni İsteğin Başlangıcı Kontrol Edilir
Yeni promptun başlangıcı, önbellekteki kayıtlarla karşılaştırılır. Sistem, yeniden kullanabileceği ortak bölümü belirler.
Eşleşen Hesaplamalar Yeniden Kullanılır
Eşleşen başlangıcın KV verileri kullanılır. Önbelleğe alınmamış kalan giriş bölümü işlenir ve yanıt üretimine devam edilir.
Bazı uygulamalar önbelleği sabit boyutlu token blokları üzerinden yönetir. Bu durumda yeniden kullanım, blok sınırları gibi teknik koşullara bağlı olabilir. vLLM
Önek Eşleşmesi Neden Önemlidir?
Önbellekleme, genellikle anlam benzerliğine değil, başlangıçtaki tokenların eşleşmesine dayanır.
“Yanıtları kısa ve açık yaz” ile “Kısa ve anlaşılır cevaplar ver” benzer anlam taşısa da aynı token dizisi değildir. Bu nedenle birbirlerinin hesaplamalarını doğrudan paylaşmaları beklenmez.
Ayrıca bir tokenın hesaplama durumu, kendisinden önce gelen bağlama bağlıdır. Aynı belge farklı bir başlangıcın arkasına yerleştirildiğinde, önceki hesaplamaların yeniden kullanılabileceği varsayılamaz.
Model sürümü, tokenizer, sohbet şablonu ve etkin adaptör gibi bileşenlerin uyumluluğu da önemlidir. Önceki bir yapılandırmada oluşturulan KV verileri, başka bir yapılandırmaya gelişigüzel taşınamaz.
Prompt Sıralaması Performansı Nasıl Etkiler?
Önek eşleşmesine dayanan sistemlerde, sabit içeriğin önce ve değişken içeriğin sonra yerleştirilmesi daha uzun bir ortak başlangıç oluşturabilir.
| Prompt düzeni | Önbellekleme açısından etkisi |
|---|---|
| Sabit talimatlar → sabit belge → değişken soru | Uzun bir ortak başlangıç oluşturabilir |
| Değişken soru → sabit talimatlar → sabit belge | Başlangıç erken değiştiği için yeniden kullanım azalabilir |
| Her istekte değişen zaman bilgisi → sabit içerik | Eşleşmeyi başlangıçta bozabilir |
| Belgelerin her istekte farklı sıralanması | Ortak önekin uzunluğunu azaltabilir |
Bu düzenlemeler yapılırken uygulamanın doğruluğu korunmalıdır. Önbellek kazanımı sağlamak için gerekli kullanıcı bağlamını veya güvenlik talimatlarını kaldırmak uygun değildir.
Prefix Caching Nerelerde Kullanılabilir?
Sohbet Botları
Sabit sistem talimatları ve değişmeyen başlangıç içeriği, sonraki isteklerde yeniden kullanılabilir.
Uzun Belge Analizi
Aynı rapor veya sözleşme hakkında farklı sorular soruluyorsa belgeyi içeren ortak başlangıç tekrar işlenmek zorunda kalmayabilir.
RAG Sistemleri
Aynı belgeler, aynı sırada ve aynı başlangıç bağlamında kullanılıyorsa kazanım sağlanabilir. Ancak RAG sistemleri her soruda farklı belgeler getirebildiği için önbellek faydası otomatik değildir.
AI Agent Uygulamaları
Sabit görev tanımları, araç açıklamaları ve çalışma kuralları ortak önek oluşturabilir. Bunların sık değişmesi yeniden kullanım oranını azaltabilir.
Kod Üretme Araçları
Aynı proje bağlamı, kodlama kuralları veya dosya içeriği üzerinden farklı görevler yürütülüyorsa ortak hesaplamalar değerlendirilebilir.
Prefix Caching Cevapları mı Saklar?
Hayır. Prefix Caching, cevap önbellekleme ile aynı değildir.
Cevap önbelleklemede, daha önce üretilmiş bir yanıt saklanıp uygun bir isteğe tekrar sunulabilir. Prefix Caching’de ise başlangıç tokenlarının hesaplama durumları yeniden kullanılır; model yeni soruya cevap üretmeye devam eder.
Bu nedenle aynı ortak öneki kullanan iki farklı soru, farklı cevaplar alabilir. Önbellekte saklanan bölüm, modelin yanıtını belirleyen giriş bağlamının yalnızca bir kısmıdır.
Başlıca Avantajları
İlk Token Gecikmesinin Azalması
Uzun bir ortak başlangıcın yeniden işlenmemesi, ilk yanıt tokenına ulaşma süresini azaltabilir. Ancak sunucu kuyruğu ve diğer işlem maliyetleri de gecikmeyi etkiler.
Tekrarlayan Hesaplamaların Azalması
Aynı içerik sık kullanıldığında gereksiz giriş hesaplamaları azaltılabilir.
Toplam İşlem Kapasitesinin Artması
Giriş işleme yükünün önemli olduğu uygulamalarda, aynı donanım daha fazla isteği karşılayabilir.
Ortak KV Bloklarının Paylaşılması
Destekleyen sistemlerde aynı başlangıca ait önbellek blokları birden fazla istek tarafından kullanılabilir. Bunun toplam bellek etkisi, kayıtların ne kadar süre tutulduğuna bağlıdır.
Karşılaşılan Zorluklar
Bellek Yönetimi
KV Cache bellekte yer kaplar. Daha fazla kaydı saklamak, yeni veya etkin istekler için kullanılabilecek alanı azaltabilir.
Önbellekten Çıkarma
Az kullanılan kayıtların ne zaman silineceği önemlidir. Çok erken silinen kayıtlar yeniden hesaplama gerektirir; gereğinden uzun tutulan kayıtlar belleği işgal eder.
Düşük Eşleşme Oranı
Prompt başlangıçları sık değişiyorsa yeterli önbellek isabeti oluşmayabilir. Böyle bir iş yükünde kazanım sınırlı kalır.
Dağıtık Sunucu Kullanımı
Yeni istek, ilgili kaydın bulunmadığı başka bir sunucuya yönlendirilirse yerel önbellekten yararlanamayabilir. Yönlendirme ve olası önbellek aktarımı ayrıca tasarlanmalıdır.
Güvenlik ve Kullanıcı Ayrımı
Çok kiracılı sistemlerde önbellek paylaşımının sınırları açık olmalıdır. Yetkisiz paylaşımı ve zamanlama üzerinden bilgi çıkarma risklerini azaltmak için izolasyon mekanizmaları gerekebilir.
Örneğin bazı uygulamalarda cache salt, aynı değeri taşımayan isteklerin ortak KV bloklarını paylaşmasını engelleyen bir ayrım mekanizması olarak kullanılır. Bu özellik, erişim kontrolünün yerini tutmaz. vLLM
Performans Nasıl Ölçülmeli?
Yalnızca önbelleğin açık olması, uygulamanın hızlandığını göstermez. Gerçek iş yükünde ölçüm yapılmalıdır.
Önbellek isabet oranı, yeniden kullanılan token sayısı, ilk token gecikmesi, toplam yanıt süresi ve bellek kullanımı birlikte değerlendirilmelidir.
İlk istekte henüz kayıt bulunmadığı için önbellek avantajı oluşmayabilir. Sonraki isteklerde kazanım görülse bile kayıt silindiğinde veya süresi dolduğunda ilgili bölüm yeniden hesaplanabilir.
Bu nedenle “ortak içerik yalnızca bir kez hesaplanır” ifadesi yerine, önbellek kaydı kullanılabilir olduğu sürece tekrar hesaplama azaltılabilir demek daha doğrudur.
Sık Sorulan Sorular
Prefix Caching nedir?
Aynı başlangıç tokenlarını paylaşan isteklerde, önceden oluşturulmuş KV Cache verilerini yeniden kullanan çıkarım optimizasyonudur.
KV Cache ile aynı şey mi?
Tam olarak değil. KV Cache hesaplama durumlarını saklar; Prefix Caching bu durumların eşleşen başlangıçlar için yeniden kullanılmasını yönetir.
Benzer anlamlı promptlar aynı önbelleği kullanabilir mi?
Genellikle hayır. Yeniden kullanım, anlamsal benzerlikten çok başlangıç tokenlarının ve ilgili yapılandırmanın eşleşmesine dayanır.
Yanıt üretimini tamamen hızlandırır mı?
Doğrudan kazanç ortak girişin işlenmesindedir. Yeni yanıt tokenlarının üretimi devam eder ve toplam hızlanma iş yüküne bağlıdır.
RAG uygulamalarında her zaman faydalı mı?
Hayır. Getirilen belgeler, sıraları veya başlangıç bağlamı değişiyorsa ortak önek kısa kalabilir.
Önbellek sonsuza kadar saklanır mı?
Hayır. Bellek baskısı, saklama politikası, süre sınırı veya sunucu değişikliği nedeniyle kayıtlar kullanılamaz hâle gelebilir.
Modelin eğitilmesini gerektirir mi?
Hayır. Prefix Caching, model ağırlıklarını güncelleyen bir eğitim yöntemi değil, çıkarım sırasında kullanılan bir optimizasyondur.
Kaynaklar: vLLM resmî teknik dokümantasyonu — Automatic Prefix Caching, KV Cache yönetimi ve Security; Anthropic teknik dokümantasyonu — Prompt Caching.
Editör Notu
Bu içerik, kamuya açık çıkarım altyapısı dokümantasyonları ve resmî teknik kaynaklardan yararlanılarak hazırlanmış bir araştırma ve değerlendirme yazısıdır. İçerikte yer alan değerlendirmeler editoryal yorum niteliğindedir. Prefix Caching desteği, eşleşme koşulları, önbellek ömrü ve performans kazanımları; modele, çıkarım motoruna, yazılım sürümüne, istek yapısına ve sunucu yapılandırmasına göre değişebilir.