Semantic Caching
Anlamsal önbelleklemenin yapay zekâ gecikmesini ve maliyetlerini nasıl azalttığını keşfet. Pratik bir Ultralytics YOLO26 örneğiyle LLM'lerde ve görüntü işleme işlem hatlarında nasıl çalıştığını öğren.
Anlamsal önbellekleme, öncelikle Üretken Yapay Zeka ve Büyük Dil Modelleri (LLMs) için kullanılan; yanıtları tam metinleri yerine bir sorgunun anlamına (semantiğine) göre depolayan ve geri getiren gelişmiş bir optimizasyon tekniğidir. Yeni bir istemin daha önce yanıtlanmış bir istemle aynı temel soruyu sorduğunu belirleyerek AI modelini yeniden çağırma gereksinimini ortadan kaldırır, işlem süresini ve API maliyetlerini önemli ölçüde azaltır.
Anlamsal Önbellekleme Nasıl Çalışır#
Özdeş dize eşleşmeleri gerektiren geleneksel önbelleklemenin aksine, anlamsal önbellek gelen sorguları gömme vektörleri olarak bilinen yüksek boyutlu sayısal vektörlere dönüştürür. Kullanıcı bir istem gönderdiğinde, Redis anlamsal önbellekleme veya benzer bellek içi depoları kullanan sistemler, yeni vektörü bir vektör veritabanında daha önce depolanmış vektörlerle karşılaştırmak için bir vektör araması gerçekleştirir.
Bu karşılaştırma, en yaygın olarak kosinüs benzerliği olmak üzere matematiksel uzaklık ölçütlerine dayanır. Yeni sorgu ile önbelleğe alınmış bir sorgu arasındaki benzerlik puanı önceden belirlenmiş bir eşiği (ör. 0,95) aşarsa bu durum bir "önbellek isabeti" olarak kaydedilir. Sistem, depolanan yanıtı anında döndürerek çıkarım motorunu tamamen devre dışı bırakır. Puan eşik değerinin altında kalırsa bu bir "önbellek ıskası" olur; model yeni bir yanıt oluşturur ve gelecekteki etkileşimler için yeni gömme vektörü-yanıt çiftini depolar. Bu iş akışı, AI uygulamalarını ölçeklendirmeye yönelik modern bulut mimarilerinde son derece etkilidir.
Gerçek Dünya Uygulamaları#
Anlamsal önbellekleme, çeşitli alanlarda uygun maliyetli AI çözümleri dağıtmak için kritik öneme sahiptir.
- Müşteri Destek Sohbet Robotları: Bir BT destek masasında yüzlerce kullanıcı aynı sorunun farklı biçimlerini sorabilir (ör. "Parolamı nasıl sıfırlarım?" ve "Unutulan parola adımları"). Anlamsal önbellekleme bu amaçları aynı olarak tanır ve modelin yanıtı yalnızca bir kez hesaplamasını sağlar. Bu, API yönetimi çözümleri için çıkarım gecikmesini önemli ölçüde azaltır ve belirteç kullanımını düşürür.
- Görsel Keşif ve RAG: Çok modlu işlem hatlarında platformlar, referans görüntülerin gömme vektörlerini önbelleğe almak için özellik çıkarma yöntemini kullanır. Kullanıcı görsel olarak benzer öğeleri bulmak için bir görüntü yüklediğinde sistem, anlamsal olarak eşleşen önbelleğe alınmış sonuçları anında geri getirerek büyük görsel girdileri tekrar tekrar kodlamaya gerek kalmadan görsel öneri sistemini hızla hızlandırabilir. Geliştiriciler bu önbellekleme katmanlarını düzenlemek için sıklıkla LangChain gibi araçları entegre eder.
İlişkili Önbellekleme Terimlerini Ayırt Etme#
AI optimizasyonunu tam olarak anlamak için anlamsal önbelleklemeyi diğer bellek yönetimi biçimlerinden ayırt etmek yararlıdır:
- İstem Önbelleklemesine Karşı: İstem önbellekleme, sonraki sorguları hızlandırmak amacıyla etkin bir oturum sırasında statik bir bağlamın (uzun bir belgenin başlangıcı gibi) önceden hesaplanmış matematiksel durumlarının kaydedilmesini içerir. Anlamsal önbellekleme ise tamamen yeni olan ancak aynı amaçları taşıyan etkileşimlerde sunulmak üzere, tamamlanmış bir etkileşimin nihai metinsel veya görsel çıktısını depolar.
- KV Önbelleğine Karşı: KV önbelleği, gerçek zamanlı çıkarımı kolaylaştırmak için belirteç belirteç metin oluşturma sırasında ara dikkat durumlarını kaydeden, bir Transformer mimarisinin içindeki düşük seviyeli bir bellek mekanizmasıdır. Anlamsal önbellekleme, modelin katmanlarına ulaşmadan önce tüm girdi-çıktı alışverişini önbelleğe alarak uygulama katmanında çalışır.
Görsel Alanda Anlamsal Önbelleklemeyi Simüle Etme#
Aşağıdaki Python kod parçacığı, PyTorch ve ultralytics paketiyle anlamsal önbelleğin temel mekanizmasının nasıl simüle edileceğini gösterir. Ultralytics YOLO26 sınıflandırma modelini kullanarak daha önce önbelleğe alınmış bir görüntü ile yeni bir sorgu görüntüsü arasındaki benzerliği hesaplayan sistem, tam bir çıkarım geçişinin gerekli olup olmadığını belirleyebilir.
import torch
from ultralytics import YOLO
# Load an Ultralytics YOLO26 classification model for embedding generation
model = YOLO("yolo26n-cls.pt")
# Extract the embedding for a previously 'cached' reference image
cached_embed = model.embed("reference_shoe.jpg")[0].flatten()
# Extract the embedding for a new user query image
new_embed = model.embed("user_uploaded_shoe.jpg")[0].flatten()
# Calculate cosine similarity to check for a semantic cache hit
similarity = torch.nn.functional.cosine_similarity(cached_embed, new_embed, dim=0)
# Apply a threshold to determine if the images are semantically equivalent
if similarity > 0.90:
print(f"Cache hit! Similarity: {similarity.item():.2f}. Returning cached response.")
else:
print(f"Cache miss! Similarity: {similarity.item():.2f}. Running full inference.")Veri kümelerini yönetmek ve gelişmiş önbellekleme mimarileriyle sorunsuz bir şekilde entegre olabilen, yüksek düzeyde optimize edilmiş bilgisayarlı görü modellerini dağıtmak isteyen ekipler için Ultralytics Platformu, modelleri geniş ölçekte eğitmek, izlemek ve sunmak için sezgisel, uçtan uca bir ortam sağlar.









