Semantic Caching
Anlamsal önbelleğe almanın (semantic caching) yapay zeka gecikmesini ve maliyetlerini nasıl azalttığını keşfet. Pratik bir Ultralytics YOLO26 örneğiyle LLM'ler ve görüntü işleme süreçleri için nasıl çalıştığını öğren.
Anlamsal önbellekleme, öncelikle Üretken Yapay Zeka ve Büyük Dil Modelleri (LLM'ler) alanında kullanılan, yanıtları tam metin yerine sorgunun anlamına (semantiğine) göre saklayan ve geri getiren gelişmiş bir optimizasyon tekniğidir. Yeni bir istemin daha önce yanıtlanmış bir soruyla aynı temel soruyu sorduğunu belirleyerek, anlamsal önbellekleme yapay zeka modelini yeniden çağırma ihtiyacını ortadan kaldırır ve işlem süresini ve API maliyetlerini önemli ölçüde düşürür.
Link to this sectionAnlamsal Önbellekleme Nasıl Çalışır?#
Unlike traditional caching that requires identical string matches, a semantic cache converts incoming queries into high-dimensional numerical vectors known as embeddings. When a user submits a prompt, systems utilizing Redis semantic caching or similar in-memory stores perform a vector search to compare the new vector against previously stored vectors within a vector database.
This comparison relies on mathematical distance metrics, most commonly cosine similarity. If the similarity score between the new query and a cached query exceeds a predefined threshold (e.g., 0.95), it registers as a "cache hit." The system instantly returns the stored response, entirely skipping the inference engine. If the score falls below the threshold, it results in a "cache miss," prompting the model to generate a new response and store the new embedding-answer pair for future interactions. This workflow is highly effective in modern cloud architectures for scaling AI applications.
Link to this sectionGerçek Dünya Uygulamaları#
Anlamsal önbellekleme, çeşitli alanlarda uygun maliyetli yapay zeka çözümleri dağıtmak için kritiktir.
- Customer Support Chatbots: In an IT support desk, hundreds of users might ask variations of the same question (e.g., "How do I reset my password?" vs. "Forgot password steps"). Semantic caching recognizes these intents as identical, ensuring the model only computes the answer once. This drastically lowers inference latency and reduces token usage for API management solutions.
- Görsel Keşif ve RAG: Çok modlu işlem hatlarında platformlar, referans görsellerin gömülerini önbelleğe almak için özellik çıkarma yöntemini kullanır. Bir kullanıcı görsel olarak benzer öğeleri bulmak için bir görsel yüklediğinde, sistem anlamsal olarak eşleşen önbelleğe alınmış sonuçları anında geri alabilir ve büyük görsel girdileri tekrar tekrar kodlamaya gerek kalmadan görsel öneri sistemini hızlandırabilir. Geliştiriciler, bu önbellekleme katmanlarını düzenlemek için genellikle LangChain gibi araçları entegre ederler.
Link to this sectionİlgili Önbellekleme Terimlerini Ayırt Etme#
Yapay zeka optimizasyonunu tam olarak anlamak için, anlamsal önbellekleme ile diğer bellek yönetimi biçimlerini ayırt etmek yararlıdır:
- İstem Önbellekleme ile Karşılaştırma: İstem önbellekleme, sonraki sorguları hızlandırmak için aktif bir oturum sırasında statik bir bağlamın (uzun bir belge öneki gibi) önceden hesaplanmış matematiksel durumlarını kaydetmeyi içerir. Anlamsal önbellekleme ise, tamamen yeni ancak aynı niyetlere hizmet etmek için eksiksiz bir etkileşimin nihai metinsel veya görsel çıktısını saklar.
- Vs. KV Cache: The KV cache is a low-level memory mechanism inside a Transformer architecture that saves intermediate attention states during token-by-token text generation to facilitate real-time inference. Semantic caching operates at the application layer, caching the entire input-output exchange before it ever reaches the model's layers.
Link to this sectionGörüntü İşlemede Anlamsal Önbelleklemeyi Simüle Etme#
Aşağıdaki Python kod parçacığı, PyTorch ve ultralytics paketi kullanılarak anlamsal bir önbelleğin temel mekanizmasının nasıl simüle edileceğini göstermektedir. Bir Ultralytics YOLO26 sınıflandırma modeli kullanarak daha önce önbelleğe alınmış bir görüntü ile yeni bir sorgu görüntüsü arasındaki benzerliği hesaplayarak, 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 oranda optimize edilmiş bilgisayarlı görü modelleri dağıtmak isteyen ekipler için Ultralytics Platform, modelleri ölçekli bir şekilde eğitmek, izlemek ve sunmak için sezgisel, uçtan uca bir ortam sağlar.






