Yapay Zeka

ANN Nedir? Yapay Zekâ Büyük Veri Kümelerinde Benzer Sonuçları Nasıl Buluyor?

ANN (Approximate Nearest Neighbor), bu aramaları hızlandırmak için kullanılan yaklaşık en yakın komşu arama yöntemlerinin genel adıdır. Amaç, matematiksel olarak en yakın sonuçların tamamını bulma garantisinden belirli ölçüde vazgeçerek daha hızlı arama yapabilmektir.

ANN Nedir?

ANN, bir sorgu vektörüne yakın olan vektörleri yaklaşık olarak bulur. “Yakınlık”, kullanılan sisteme göre Öklid uzaklığı, kosinüs benzerliği veya iç çarpım gibi ölçütlerle değerlendirilir.

Örneğin bir görsel arama uygulaması, yüklenen fotoğrafın vektörüne yakın kayıtları bularak benzer görselleri gösterebilir. Metin aramasında ise aynı yaklaşım, sorguyla ilişkili belge parçalarının bulunmasına yardımcı olur.

ANN tek bir algoritma değildir. Farklı indeksleme ve arama tekniklerini kapsar; bu teknikler hız, sonuç kalitesi ve kaynak kullanımı açısından farklı dengeler sunar.

ANN Nasıl Çalışır?

Bir anlamsal arama uygulamasında süreç genellikle şu adımlardan oluşur:

  1. Veriler vektörlere dönüştürülür: Belgeler veya belge parçaları için embedding oluşturulur.

  2. İndeks hazırlanır: Vektörler aramayı kolaylaştıracak bir yapıda düzenlenir.

  3. Sorgu işlenir: Kullanıcının isteği, kayıtlarla karşılaştırılabilecek uyumlu bir vektöre dönüştürülür.

  4. Adaylar bulunur: İndeks yapısı veya yaklaşık hesaplamalar kullanılarak olası sonuçlar seçilir.

  5. Sonuçlar sıralanır: Gerekirse adaylar daha hassas hesaplamalarla yeniden değerlendirilir.

Örneğin Google’ın ScaNN yaklaşımı; arama alanını daraltma, yaklaşık puanlama ve yeniden sıralama gibi aşamaları bir araya getirebilir.

ANN ile Exact Search Arasındaki Fark Nedir?

Exact search (tam arama), seçilen benzerlik ölçütüne göre gerçek en yakın sonuçları bulmayı hedefler. Yaygın kullanılan düz tarama yönteminde sorgu, bütün kayıtlarla karşılaştırılır.

ANN ise daha az adayı inceleyerek veya hesaplamaları yaklaşık yaparak işlem yükünü azaltabilir. Bunun karşılığında gerçek en yakın sonuçlardan bazılarını kaçırabilir.

Küçük veri kümelerinde veya az sayıda sorgunun çalıştırıldığı uygulamalarda tam arama daha uygun olabilir. İndeks oluşturma maliyeti nedeniyle ANN her durumda avantaj sağlamaz.

Ayrıca matematiksel olarak en yakın sonuç, kullanıcının ihtiyacına en uygun içerik olmak zorunda değildir. Anlamsal kalite, kullanılan embedding modeline ve verilerin nasıl hazırlandığına da bağlıdır.

Başlıca ANN Yöntemleri Nelerdir?

  • HNSW: Vektörleri katmanlı bir komşuluk grafiğinde organize eder. Hızlı arama sağlayabilir; bağlantı yapısı ek bellek gerektirir.

  • IVF: Vektörleri kümelere ayırır ve sorguda seçilen kümeleri inceler. Taranan küme sayısı, hız ile sonuç kalitesi arasındaki dengeyi etkiler.

  • PQ (Product Quantization): Vektörleri sıkıştırılmış biçimde temsil eden bir tekniktir. Bellek ihtiyacını azaltabilir ve IVF gibi yapılarla birlikte kullanılabilir.

  • ScaNN: Google tarafından geliştirilen, farklı arama ve puanlama tekniklerini birleştiren vektör arama kütüphanesidir.

  • DiskANN: Büyük ölçekli vektör aramasına yönelik yöntemler ailesidir. SSD’den yararlanan tasarımları, bütün verileri RAM’de tutma ihtiyacını azaltmayı amaçlar.

ANN’nin Doğruluğu Nasıl Ölçülür?

Yaygın ölçütlerden biri recall@k değeridir. Bu ölçüt, tam aramanın bulduğu ilk k komşudan kaçının yaklaşık arama tarafından da getirildiğini gösterir.

Örneğin tam aramadaki en yakın 10 sonuçtan 9’u ANN sonuçlarında bulunuyorsa, o sorgu için recall@10 değeri yüzde 90’dır.

Daha fazla adayın incelenmesi genellikle recall değerini yükseltebilir; ancak arama süresini de artırabilir. Bu nedenle sonuç kalitesi, gecikme ve bellek tüketimi birlikte değerlendirilmelidir.

Milyarlarca Vektörde Milisaniyelik Arama Mümkün mü?

Uygun altyapı ve ayarlarla mümkündür; ancak her sistem için garanti değildir. Microsoft’un DiskANN araştırmaları, belirli deney koşullarında milyar ölçekli veri kümelerinde düşük gecikmeli aramanın mümkün olduğunu göstermiştir.

Gerçek performans; vektör boyutuna, donanıma, indeks ayarlarına, filtrelere ve aynı anda gelen sorgu sayısına bağlıdır. Ayrıca vektör aramasının süresi, sorgu embedding’inin hazırlanması ve nihai yanıtın üretilmesi dahil toplam uygulama süresiyle aynı değildir.

Nerelerde Kullanılır?

ANN; anlamsal arama, öneri sistemleri, görsel arama ve RAG uygulamalarında ilgili kayıtların bulunmasını hızlandırabilir. Vektör tabanlı ajan belleği kullanan sistemlerde geçmiş kayıtları getirmek için de uygulanabilir.

Ancak her arama sistemi ANN kullanmak zorunda değildir. Veri büyüklüğü, güncelleme sıklığı ve gereken sonuç kalitesi yöntem seçimini etkiler.

ANN’nin temel değeri, büyük vektör koleksiyonlarında arama maliyetini yönetilebilir hâle getirmesidir. Başarılı bir uygulama, en hızlı ayarı seçmek yerine hız ile kabul edilebilir sonuç kalitesi arasında uygun dengeyi kurar.

Kaynaklar: Meta Faiss — Faiss Indexes ve Guidelines to Choose an Index dokümantasyonu, Google Research — ScaNN Algorithms and Configuration, Microsoft Research — DiskANN: Fast Accurate Billion-point Nearest Neighbor Search on a Single Node, DiskANN: Vector Search at Web Scale ve DistributedANN araştırması.

Editör Notu

Bu içerik, kamuya açık vektör arama araştırmaları ve resmî teknik dokümantasyonlardan yararlanılarak hazırlanmış bir araştırma ve değerlendirme yazısıdır. İçerikte yer alan değerlendirmeler editoryal yorum niteliğindedir. Arama performansı ve sonuç kalitesi; veri kümesine, donanıma ve kullanılan yapılandırmaya göre değişebilir.