data-infra
Sözlük ↗ANN Arama (Yaklaşık En Yakın Komşu)
Yaklaşık En Yakın Komşu (Approximate Nearest Neighbor - ANN) arama, neredeyse tüm production vektör veritabanlarının "depolanan hangi vektörler bu sorgu vektörüne en çok benziyor?" sorusunu hızlıca yanıtlamak için kullandığı algoritmik yaklaşımdır; matematiksel olarak kesin en iyi eşleşmeleri kaçırma riskini bilinçli ve ayarlanabilir küçük bir ölçüde kabul ederek, karşılığında kat kat daha hızlı arama elde eder. Alternatifi olan brute-force karşılaştırmayla tam en yakın komşu (kNN) araması mükemmel sonuç garantisi verir ama veri kümesi büyüdükçe doğrusal olarak yavaşlar; yani 10 milyon vektör üzerinde arama, 1 milyon vektöre göre yaklaşık 10 kat daha uzun sürer. ANN algoritmaları bu doğrusal ilişkiyi kırar. AI/SaaS kurucuları için neden önemli: ANN arama, RAG ve semantik arama ürünlerinin sonuçları saniyeler yerine on milisaniyeler içinde döndürebilmesinin nedenidir - bu da kullanılabilir bir sohbet arayüzü ile bozuk hissettiren bir arayüz arasındaki farktır. Pinecone, Weaviate, Qdrant, Milvus, pgvector, Chroma gibi başlıca vektör veritabanlarının hepsi, özünde, üzerine bir veri yönetim katmanı sarılmış ANN arama motorlarıdır. Nasıl çalışır: iki baskın ANN ailesi graf tabanlı (çoğu modern sistemde kullanılan HNSW) ve küme tabanlı (pgvector'ün IVFFlat'i ve Meta'nın FAISS'inin kullandığı IVF varyantları) yaklaşımlardır. İkisi de vektörleri doğrudan karşılaştırmadan önce arama alanını daraltarak çalışır - HNSW önceden oluşturulmuş bir yakınlık grafiğinde gezinir, IVF ise önce en yakın küme merkezlerine daraltır. Bir ANN sisteminin kalitesi, recall@k (gerçek en yakın k komşudan kaçının gerçekten döndürüldüğü) ile saniyedeki sorgu sayısı arasındaki denge üzerinden ölçülür ve her ANN indeksi bu eğri üzerinde hareket etmek için ayar düğmeleri sunar: daha iyi recall için gecikme pahasına daha fazla aday arayabilir, ya da hız için daha az aday arayabilirsiniz. Çoğu production sistemi %95+ recall hedefler; bu da retrieval-augmented generation için pratikte tam aramadan ayırt edilemez, çünkü LLM ara sıra 5. yerine 6. en iyi pasajı almaya karşı toleranslıdır. Somut örnek: dolandırıcılık benzerliği tespiti kuran bir fintech SaaS, her yeni işlemin embedding'ini 50 milyon geçmiş işlem embedding'iyle karşılaştırır. Tam kNN, sorgu başına ~4 saniye sürer - gerçek zamanlı bir onay akışı için çok yavaştır. HNSW tabanlı bir ANN indeksi devreye alındığında bu süre %97 recall ile sorgu başına ~15 milisaniyeye düşer ve dolandırıcılık kontrolünün, meşru müşteriler için fark edilir bir gecikme eklemeden ödeme sürecinde inline çalışmasını sağlar. Kritik nokta: ANN indeksinin ara sıra kaçırdığı gerçek en yakın komşuların %3'lük kısmı ürün sonucu açısından önemsiz çıkar - sistem bir işlemi tek bir kesin eşleşmeye değil, ilk 20 eşleşmenin toplu benzerlik sinyaline göre şüpheli olarak işaretler; dolayısıyla küçük doğruluk kaybı iş mantığı katmanında görünmezken, gecikme kazancı gerçek zamanlı dolandırıcılık puanlamasını mümkün kılan asıl unsurdur.
İlgili terimler