İçeriğe geç
parazade
Yapay Zeka

HNSW Nedir?

İngilizce: Hierarchical Navigable Small World

Yayın: · Son güncelleme:

HNSW Nedir? Kısaca

HNSW (Hierarchical Navigable Small World), çok sayıda vektör arasından bir sorguya en yakın olanları, katmanlı bir grafik yapısı üzerinde gezinerek hızlıca bulan yaklaşık en yakın komşu arama algoritmasıdır.

HNSW nedir?
İçindekiler
  1. HNSW nedir?
  2. Nasıl çalışır?
  3. Nelere dikkat etmeli?

HNSW, 2016'da yayımlanan bir akademik çalışmayla tanıtıldı ve bugün vektör veritabanlarının çoğunda kullanılan en popüler dizinleme yöntemlerinden biri hâline geldi.

HNSW nedir?

Bir sorgu vektörüne en yakın vektörleri bulmanın en basit yolu, onu koleksiyondaki her vektörle tek tek karşılaştırmaktır. Milyonlarca vektörde bu çok yavaştır. HNSW, kesin sonuç yerine "çok büyük olasılıkla doğru" sonucu çok daha hızlı bulur; bu yüzden yaklaşık en yakın komşu (ANN) yöntemi sayılır.

Nasıl çalışır?

HNSW'yi bir ülkenin ulaşım ağına benzetebilirsin:

  • Üst katman: Az sayıda şehri birbirine bağlayan otoyollar gibidir; uzun mesafeleri hızla kat edersin.
  • Ara katmanlar: Bölgesel yollar gibidir.
  • En alt katman: Tüm vektörleri içeren sokak ağı gibidir.

Arama en üst katmanda başlar. Her katmanda sorguya en yakın düğüme doğru açgözlü bir şekilde ilerlenir, ardından bir alt katmana inilir. En alt katmanda yakın çevre ayrıntılı taranır ve en yakın komşular döndürülür. "Küçük dünya" adı, ağdaki herhangi iki nokta arasında az sayıda adımla ulaşılabilmesinden gelir.

Nelere dikkat etmeli?

  • Bellek: Grafik bağlantıları ek bellek tüketir.
  • Ayarlar: Düğüm başına bağlantı sayısı ve arama genişliği gibi parametreler, hız ile isabet arasındaki dengeyi belirler.
  • Yaklaşıklık: Nadiren de olsa gerçek en yakın komşuyu kaçırabilir.
  • Silme ve güncelleme: Bazı uygulamalarda veriyi silmek ya da değiştirmek dizinin yeniden düzenlenmesini gerektirebilir.

Doğru ayarlandığında HNSW, anlamsal arama ve RAG sistemlerinde milisaniyeler düzeyinde yanıt süreleri sağlayabilir.

Sıkça Sorulan Sorular

HNSW kesin sonuç verir mi?

Hayır, yaklaşık bir yöntemdir. Çoğu durumda gerçek en yakın komşuları bulur ama nadiren bazılarını kaçırabilir; bu durum ayarlarla dengelenir.

HNSW neden bu kadar yaygın?

Yüksek isabet ile hızlı arama arasında iyi bir denge kurduğu ve farklı veri türlerinde kararlı çalıştığı için birçok vektör veritabanı ve arama kütüphanesi tarafından tercih edilir.

İlgili terimler

Vektör Veritabanı(Vector Database)Vektör veritabanı, metin, görsel ya da ses gibi verilerin anlamını temsil eden sayısal vektörleri (embedding) saklayan ve bunlar arasında benzerlik araması yapmak için optimize edilmiş veri tabanı türüdür.Anlamsal Arama(Semantic Search)Anlamsal arama (semantic search), kelimelerin birebir eşleşmesi yerine sorgunun ve belgelerin anlamını karşılaştırarak sonuç getiren arama yöntemidir. Farklı kelimelerle sorulan aynı soruya da ilgili içerikleri bulabilir.EmbeddingEmbedding, bir kelimenin, cümlenin, belgenin ya da görselin anlamını sayılardan oluşan bir vektörle temsil etme yöntemidir. Anlamca birbirine yakın içeriklerin vektörleri de birbirine yakın olduğu için anlamsal arama ve RAG sistemlerinin temelini oluşturur.Hibrit Arama(Hybrid Search)Hibrit arama (hybrid search), klasik anahtar kelime aramasını (ör. BM25) anlamsal vektör aramasıyla birleştirip iki yöntemin sonuçlarını tek bir sıralamada harmanlayan bir bilgi getirme yaklaşımıdır.RAG(Retrieval-Augmented Generation)RAG (Retrieval-Augmented Generation, erişimle zenginleştirilmiş üretim), bir dil modelinin soruyu cevaplamadan önce bir belge koleksiyonunda ilgili bölümleri bulup bu bölümlere dayanarak yanıt yazmasını sağlayan yöntemdir. Modeli yeniden eğitmeden kendi belgeleriniz hakkında soru sormanızı sağlar.Harf Çevirisi(Transliteration)Harf çevirisi (transliterasyon), bir yazı sistemindeki metnin, anlamı çevrilmeden başka bir yazı sisteminin harfleriyle yazılmasıdır. Örneğin Kiril alfabesiyle yazılmış bir ismin Latin harflerine aktarılması harf çevirisidir.