- Neden LLM çağrılarını önbelleğe alırız?
- Önbellek katmanları: hangisi ne işe yarar?
- Tam eşleşme önbelleği nasıl kurulur?
- Semantik önbellek: eşik ve yanlış eşleşme
- İstem öneki önbelleği için istemi nasıl düzenlersiniz?
- Güvenlik, gizlilik ve geçersiz kılma
- Etkisini nasıl ölçersiniz?
- Bu konuyu Mindset programlarında nerede çalışırsınız?
- Sık sorulan sorular
LLM uygulamalarında önbellekleme: katmanlar, kurulum ve riskler
LLM uygulamalarında yanıt, semantik ve istem öneki önbelleği nasıl kurulur: anahtar tasarımı, geçerlilik süresi, güvenlik riskleri ve isabet oranı ölçümü.
Neden LLM çağrılarını önbelleğe alırız?
Her büyük dil modeli çağrısı hem para hem zaman harcar: girdi ve çıktı parçaları (token) kadar maliyet doğar, uzun istemlerde yanıt süresi artar. Gerçek uygulamalarda ise aynı ya da çok benzer istekler tekrar eder: sık sorulan sorular, aynı belge üzerinde art arda sorulan sorular, her isteğin başına eklenen uzun sistem talimatları. Önbellekleme, daha önce yapılmış işin sonucunu yeniden kullanarak bu tekrarın bedelini düşürür.
LLM önbelleği tek bir mekanizma değildir; birbirinden farklı katmanlar vardır ve farklı sorunları çözer. Doğru katmanı seçmek, önbelleğin gerçekten fayda sağlayıp sağlamayacağını belirler. Yanlış kurulan bir önbellek ise hızlı ama yanlış cevap veren bir sisteme dönüşür.
Önbellek katmanları: hangisi ne işe yarar?
Başlıca katmanlar şunlardır:
- Tam eşleşme yanıt önbelleği: Aynı girdi ve aynı ayarlarla gelen istek için daha önce üretilen yanıt doğrudan döner. En basit ve en güvenli katmandır; yalnızca birebir tekrarlarda işe yarar.
- Semantik önbellek: İsteklerin anlamsal benzerliği hesaplanır. Yeni istek, daha önce cevaplanan bir isteğe yeterince yakınsa onun yanıtı kullanılır. Farklı kelimelerle sorulan aynı soruları yakalar ama yanlış eşleşme riski taşır.
- İstem öneki (prompt) önbelleği: Uzun ve sabit bir başlangıç kısmı (sistem talimatı, belge, örnekler) sağlayıcı tarafında tekrar işlenmeden kullanılır. Yanıtı değil, girdinin işlenmesini ucuzlatır ve hızlandırır.
- Model sunucusu düzeyinde ara değer önbelleği (KV cache): Kendi sunucunuzda model çalıştırıyorsanız, ortak istem öneklerinin dikkat mekanizması ara değerleri bellekte saklanır ve yeniden hesaplanmaz.
- Çevre önbellekler: Gömme (embedding) hesaplamalarının, bilgi getirme sonuçlarının ve araç çağrısı çıktılarının önbelleğe alınması.
Sağlayıcıların istem öneki önbelleği için etkinleştirme biçimi, süre ve fiyat kuralları sık değişir ve farklılık gösterir; uygulama öncesinde kullanılan sağlayıcının güncel belgesine bakılmalıdır.
Tam eşleşme önbelleği nasıl kurulur?
En küçük çalışan örnek, anahtar tasarımı ve geçerlilik süresiyle başlar. Sözde kod:
def onbellekli_yanit(girdi): anahtar = ozet(normalize(girdi), model_adi, sistem_istemi, sicaklik, arac_listesi) if anahtar in onbellek: return onbellek[anahtar] yanit = llm.cagir(girdi) onbellek.yaz(anahtar, yanit, gecerlilik_suresi) return yanit
Kurulumda dikkat edilecekler:
- Anahtar, yanıtı etkileyen her şeyi içermelidir: model adı ve sürümü, sistem istemi, sıcaklık gibi üretim ayarları, araç tanımları ve girdi. Biri eksik kalırsa farklı bir koşulun yanıtı yanlışlıkla dönebilir.
- Girdiyi normalleştirin: fazla boşlukları ve harf büyüklüğü gibi anlamsız farkları temizlemek isabet oranını artırır. Anlamı değiştiren normalleştirmeden kaçının.
- Önbelleği yalnızca tekrarlanabilir cevap beklenen isteklerde kullanın. Yüksek yaratıcılık gerektiren, sıcaklığı yüksek istekler için aynı cevabın tekrar dönmesi istenmeyebilir.
- Geçerlilik süresi tanımlayın. Zaman içinde değişen bilgiyle ilgili cevaplar eskir.
- Önbellek altyapısı olarak bellek içi bir anahtar-değer deposu kullanabilirsiniz; çok sunuculu ortamlarda paylaşılan bir depo gerekir.
Semantik önbellek: eşik ve yanlış eşleşme
Semantik önbellekte her isteğin gömme vektörü hesaplanır, vektör deposunda en yakın önceki istek aranır ve benzerlik belirlediğiniz eşiği aşarsa o isteğin yanıtı döner. Eşik tasarımın kalbidir.
Ölçüt: Eşik düşükse isabet oranı artar ama farklı sorulara aynı cevap verilir. Örneğin "iade koşulları nelerdir" ile "iade ücreti nasıl ödenir" birbirine yakın görünebilir ama farklı cevap gerektirir.
Ölçüt: Eşik yüksekse yanlış eşleşme azalır ama önbellek nadiren işe yarar.
Eşiği kendi verinizle ayarlayın: gerçek sorulardan örnek çiftler seçin, hangilerinin gerçekten aynı cevabı gerektirdiğini işaretleyin ve eşiği bu sete göre belirleyin. Hassas alanlarda (hukuk, finans, sağlık) semantik önbellek yerine tam eşleşme tercih edilir ya da yalnızca düşük riskli soru sınıflarında kullanılır.
Semantik önbellek, ek bir gömme çağrısı ve vektör araması maliyeti getirir; bu maliyetin isabetle telafi edildiğini ölçmeden devreye almayın.
İstem öneki önbelleği için istemi nasıl düzenlersiniz?
Önek önbelleği, isteğin başındaki sabit kısmı yeniden kullanır. Bu nedenle istemin yapısı önemlidir:
- Sabit içeriği (sistem talimatı, rol tanımı, sabit belge, örnekler) isteğin başına koyun.
- Her istekte değişen içeriği (kullanıcı sorusu, kullanıcıya özel veri, tarih bilgisi) sona yerleştirin.
- Sabit kısmın birebir aynı kalmasını sağlayın. Başa eklenen bir zaman damgası, rastgele sıralanmış örnekler ya da değişen bir kimlik önbelleği her seferinde bozar.
- Araç tanımlarının sırası ve içeriği de sabit tutulmalıdır.
- Uzun belge üzerinde art arda soru soruluyorsa belgeyi sabit önek olarak tutup soruyu sona eklemek en verimli düzendir.
Önek önbelleği için asgari uzunluk ve geçerlilik süresi gibi kısıtlar sağlayıcıya göre değişir. Bu yüzden kısa istemlerde fayda görülmeyebilir. Etkisini ölçmek için sağlayıcı yanıtında yer alan kullanım bilgilerini ve gecikme verisini izleyin.
Güvenlik, gizlilik ve geçersiz kılma
Önbellek, veri saklamak demektir ve bu da risk getirir:
- Çok kiracılı izolasyon: Bir kullanıcıya ya da müşteriye özel bilgi içeren yanıt, başka birine dönmemelidir. Anahtara kiracı veya kullanıcı kimliğini ekleyin ya da özel yanıtları önbelleğe almayın.
- Kişisel veri: Önbellekteki girdi ve çıktılar kişisel veri içerebilir. Saklama süresi, erişim yetkisi ve silme talepleri düşünülmelidir.
- Zehirleme: Kötü niyetli ya da hatalı bir yanıt önbelleğe girerse sonraki kullanıcıların tamamına dağılır. Yalnızca doğrulanmış ya da güvenlik süzgecinden geçmiş yanıtları saklayın.
- Eskiyen bilgi: Fiyat, mevzuat, stok gibi değişen bilgiler için kısa geçerlilik süresi veya kaynak değiştiğinde önbelleği temizleyen bir tetikleyici kullanın.
- Model ve istem değişikliği: Model sürümü ya da sistem istemi değişince önbellek anahtarı değişmeli veya önbellek boşaltılmalıdır.
Geçersiz kılma stratejisi baştan düşünülmeli; önbelleğin en zor yanı onu ne zaman bozacağını bilmektir.
Etkisini nasıl ölçersiniz?
Önbellek kurmadan önce çıkış noktası ölçülmelidir: günlük istek hacmi, tekrar eden istek oranı, ortalama gecikme ve maliyet. Kurulumdan sonra şu göstergeler izlenir: isabet oranı, isabette ve ıskada gecikme, önlenen model çağrısı, tahmini tasarruf, yanlış eşleşme örnekleri.
Semantik önbellekte ayrıca kalite izlemesi yapın: önbellekten dönen yanıtlardan rastgele örnekler seçip insan ya da hakem model ile kontrol edin. İsabet oranı yüksek ama yanıt kalitesi düşükse önbellek zarar vermektedir.
İsabet oranı düşük kalıyorsa nedeni araştırın: anahtar gereksiz değişkenler içeriyor olabilir, istem sabit kısmı dalgalanıyor olabilir ya da trafik gerçekten benzersiz isteklerden oluşuyor olabilir. Bazı iş yüklerinde önbellekleme ciddi fayda sağlamaz; ölçmeden yatırım yapmayın.
Bu konuyu Mindset programlarında nerede çalışırsınız?
LLM tabanlı ürün geliştiren yazılım mühendisleri, MLOps ekipleri ve altyapı mimarları için önbellekleme, gecikme ve maliyeti birlikte düşüren bir tekniktir. Mindset kataloğundaki LLM Servislerinde Önbellekleme ve Throughput Optimizasyonu eğitimi müfredatında performans metrikleri ve ölçüm altyapısı, yanıt önbellekleme stratejileri, istem öneki ve KV cache yönetimi ile toplu işleme ve servis yapılandırması başlıkları yer alır.
LLM Maliyet Optimizasyonu eğitimi ise önbellek ve çıkarım optimizasyonunu maliyet yapısı, token optimizasyonu ve model yönlendirme ile birlikte ele alır. Kurumsal ekipler kendi uygulamalarının istek kayıtlarını çalışmaya getirerek hangi katmanın işe yarayacağını sınıfta ölçebilir.
İlgili Mindset programı
LLM Servislerinde Önbellekleme ve Throughput Optimizasyonu
Sık sorulan sorular
Prompt caching ile yanıt önbelleği aynı şey midir?
Değildir. Yanıt önbelleği, daha önce üretilmiş cevabı aynı veya benzer istek için tekrar döndürür ve modeli hiç çağırmayabilir. Prompt caching ise isteğin sabit başlangıç kısmının yeniden işlenmesini azaltır; model yine çağrılır ve yeni bir yanıt üretir. İkisi birlikte kullanılabilir.
Semantik önbellek güvenli midir?
Eşik doğru ayarlanmazsa farklı sorulara aynı cevap dönebilir. Bu yüzden eşiği gerçek örneklerle ayarlayın, dönen yanıtlardan örnek alıp kalitesini izleyin ve hukuk, finans, sağlık gibi hassas alanlarda tam eşleşme ya da hiç önbellek kullanmayın.
Sıcaklığı yüksek isteklerde önbellek kullanılır mı?
Genellikle uygun değildir. Yüksek sıcaklık çeşitlilik üretmek içindir ve aynı yanıtın sürekli tekrar edilmesi beklenen davranışı bozar. Tutarlı ve tekrarlanabilir yanıt beklenen sorgularda, örneğin sabit bilgi soran müşteri sorularında ve düşük sıcaklık ayarlarında önbellek daha anlamlıdır.
Önbellekteki yanıtlar ne zaman geçersiz kılınmalı?
Model sürümü, sistem istemi ya da dayanak bilgi kaynağı değiştiğinde ve içerik eskidiğinde. Süresi dolan kayıtlar için geçerlilik süresi tanımlayın, değişen kaynaklar için tetikleyiciyle temizlik yapın. Anahtara model ve istem sürümünü eklemek yanlış yanıtı baştan önler.
Kişisel veri içeren isteklerde önbellek kullanabilir miyim?
Kullanabilirsiniz ama dikkatle. Kullanıcıya özel yanıtın başkasına dönmemesi için anahtara kullanıcı veya kiracı kimliği ekleyin, saklama süresini kısa tutun ve silme taleplerini karşılayacak bir mekanizma kurun. Gerekirse kişisel veri içeren yanıtları hiç önbelleğe almayın.
İlgili rehberler
İlgili eğitimler
Kategori: Veri Mühendisliği ve MLOps, Yapay Zeka ve Dijital Dönüşüm