Kesin alma için En Yakın Komşu (ENN) Vektör araması

Tam En Yakın Komşu (ENN) Vektör Araması, belirtilen uzaklık ölçümüne göre en yakın komşuların alınmasını garanti etmek için tüm dizinlenmiş vektörlerde kapsamlı bir uzaklık hesaplaması yapar. ENN, tüm küme katmanlarında ek ücret ödemeden desteklenir ve kayıt gerektirmez.

ENN Vektör Arama, sorgu vektör ve veri kümesindeki her vektör arasında kapsamlı bir karşılaştırma yürütür. Bu yaklaşım şunu sağlar:

  • Garantili Doğruluk: Seçilen uzaklık ölçümüne göre (Öklid uzaklığı, kosinüs benzerliği gibi) en yakın gerçek komşuları alır.
  • Artan Hesaplama Yükü: Kapsamlı yapısı nedeniyle ENN daha fazla kaynak yoğunlukludur ve özellikle büyük veri kümelerinde sorgu sürelerinin daha uzun sürmesine neden olabilir.

Buna karşılık, Yaklaşık En Yakın Komşu (ANN) araması, aramaları hızlandırmak için Hiyerarşik Gezinilebilir Küçük Dünya (HNSW), Ters Dosya (IVF) veya DiskANN gibi dizinleme tekniklerini kullanır. ANN, daha hızlı yanıt süreleri ve daha iyi ölçeklenebilirlik sunsa da, her zaman tam anlamıyla en yakın komşuları bulamayabilir.

Aşağıdaki senaryolarda ENN Vektör Araması kullanmayı göz önünde bulundurun:

  • Yüksek Doğruluk Gereksinimleri: Hassas öneri sistemleri veya bilimsel araştırmalar gibi hassas top-k sonuçlarının kritik olduğu uygulamalar için ENN maksimum doğruluk sağlar.
  • Yönetilebilir Veri Kümesi Boyutu: Daha küçük veri kümeleriyle ilgilenirken veya performans kısıtlamaları daha az sıkı olduğunda, ENN'nin kapsamlı doğası uygulanabilir.
  • Düşük Seçicilik Filtrelemesi: Görece küçük bir veri alt kümesine neden olan filtreler uygulanıyorsa, ENN bu alt küme içinde verimli bir şekilde kapsamlı karşılaştırmalar gerçekleştirebilir.

Örneğin: Kiracılar tarafından kategorilere ayrılmış milyonlarca belge içeren büyük bir veri kümesinde, belirli bir kiracıda vektör araması yapmak (birkaç bin vektörden oluşan) ENN tarafından etkili bir şekilde işlenebilir.

ENN Vektör Araması'nı kullanmadan önce, ilgili yol için bir vektör dizininin (örneğin, IVF, HNSW, DiskANN) oluşturulduğundan emin olun. Bir vektör dizini zaten varsa, ENN sorgu yürütme sırasında bu dizinlerden bağımsız olarak çalıştığından, arama yöntemleri arasında geçiş yaparken bunu yeniden derlemeye gerek yoktur.

ENN'yi etkinleştirmek için sorgunuzda ayarlayın "exact": true . Örneğin:

{
  "$search": {
    "cosmosSearch": {
      "path": "myVectorField",
      "exact": true,               // Enables ENN
      "query": [0.2, 0.4, 0.9],    // Query vector
      "k": 10,                     // Number of results to return
      "filter": {
        "tenant_id": { "$eq": "tenant123" }
      }
    }
  }
}

ENN Vektör Aramasını Filtrelerle Birleştirme

ENN Vektör Araması, aramanın kapsamını belirli bir veri alt kümesine daraltmak için öznitelik veya jeo-uzamsal filtrelerle birleştirilebilir. Filtreyi uyguladıktan sonra, arama motoru filtrelenen alt kümede kapsamlı mesafe hesaplamaları yapar ve filtre ölçütlerini karşılayan en üst k en yakın komşularını döndürür.

Kullanım Örneği Senaryosu

Bir istemci, her biri bir vektör alanı, binlerce kiracıyı temsil eden bir tenant_id alanı ve diğer öznitelikleri içeren yaklaşık 300.000 belgeden oluşan bir koleksiyon tutar. Bir filtre ile tenant_id ANN vektör aramalarının yavaş olduğunu gözlemlemişlerdir.

İstemci, aynı filtreyi korurken ENN Vektör Arama'ya geçerek sorgu performansında 50% iyileştirme elde etti ve 100% geri çekme doğruluğu elde etti.

FAQs

ENN Uygun Ölçekte Nasıl Performans Gösterir?

  • Büyük Veri Kümelerinde Performans: ENN, her vektörünün değerlendirilmesi gerekmesi nedeniyle seçmeli filtreleme olmadan büyük veri kümeleri için daha yavaş olabilir.
  • Daha Yüksek Hesaplama Maliyeti: ENN, sorgu vektörünü tüm (veya filtrelenmiş) vektörlerle karşılaştırmayı içerir ve bu da büyük bir veri kümesi için kaynak kullanımının artmasına neden olur.

ANN ve ENN: Fark Nedir?

  • Tam En Yakın Komşu (ENN) Vektör Arama , sorgu vektörünü tüm dizinlenmiş vektörlerle kapsamlı bir şekilde karşılaştırarak 100% doğruluk sunar, bu da daha küçük veri kümeleri veya filtrelenmiş alt kümelerle çalışırken hassas sonuçlar gerektiren uygulamalar için uygun hale getirir.
  • Yaklaşık En Yakın Komşu (ANN) Arama , büyük veri kümeleri için daha hızlı yanıtlar ve daha iyi ölçeklenebilirlik sağlamak için özel dizin oluşturma tekniklerini kullanır ancak doğruluk açısından biraz risk altında olabilir.

Sonraki adım