42 puan yazan GN⁺ 2025-07-28 | 1 yorum | WhatsApp'ta paylaş

Weaviate adlı bir vektör DB’de çalışırken, gerçek operasyon deneyiminden elde edilen 37 dersi derledim
BM25 ve anahtar kelime aramanın faydasından vektör arama, embedding ve hibrit aramaya kadar

1. BM25, aramada güçlü bir baseline’dır

  • Karmaşık vektör aramadan önce BM25 gibi basit anahtar kelime aramalarıyla performansı doğrulayıp ardından kademeli olarak vektör aramaya genişlemek pratikte daha gerçekçidir

2. Vektör arama exact değil, approximate’tir

  • Büyük ölçekli veride hızı artırmak için yaklaşık en yakın komşu (ANN) algoritmaları (HNSW, IVF, ScaNN vb.) kullanılır, ancak bunun karşılığında doğruluktan bir miktar ödün verilir
  • Vektör indeksleme, vektör DB’nin büyük ölçekte hız sağlamasının temel unsurudur

3. Vektör DB yalnızca embedding saklamaz

  • Orijinal veri (metin vb.) ve metadata da birlikte saklanır; böylece metadata filtreleme, anahtar kelime arama ve hibrit arama mümkün olur

4. Vektör DB’nin ana kullanım alanı üretken yapay zeka değil, ‘arama’dır

  • LLM’e context vermek de özünde bir ‘arama’ işlemidir ve vektör DB ile LLM çok iyi uyum sağlayan bir kombinasyondur

5. Döndürülecek sonuç sayısını doğrudan belirtmek gerekir

  • limit veya top_k parametresi verilmezse, sorguya en yakın tüm sonuçlar sıralanıp döndürülür

6. Embedding türleri çeşitlidir

  • Dense (yoğun) vektörlerin yanı sıra sparse (seyrek), binary (ikili), multi-vector gibi farklı embedding vektör formatları da vardır

7. Embedding modeli seçimi için benchmark’lar

  • MTEB, sınıflandırma, kümeleme, arama vb. birçok embedding görevini kapsar
  • Bilgi erişimine odaklı benchmark için BEIR incelenebilir

8. MTEB’deki modellerin çoğu yalnızca İngilizce içindir

  • Çok dilli veya İngilizce dışı bir ortamda MMTEB benchmark’ını kullanmak önerilir

9. Embedding’in tarihi: Static vs Contextual

  • Word2Vec, GloVe gibi statik embedding’ler, her kelime için sabit bir temsil sunar
  • BERT gibi contextual embedding’ler, bağlama göre dinamik olarak vektör üretir
  • Statik embedding’ler, kaynakların kısıtlı olduğu ortamlarda hızlı referans için uygundur

10. Sparse vector ile sparse embedding arasındaki fark

  • Sparse vector: TF-IDF/BM25 gibi istatistik tabanlı ya da sinir ağı tabanlı (sparse embedding, SPLADE vb.) yöntemlerle üretilir
  • Her sparse embedding bir sparse vector’dür, ancak tersi doğru değildir

11. Metin dışında farklı veri türleri de embed edilebilir

  • Görüntü, PDF (görüntüye dönüştürülerek), grafik vb. veriler de embed edilerek multimodal vektör arama yapılabilir

12. Embedding boyutu ile depolama maliyeti

  • Boyut sayısı arttıkça depolama maliyeti de artar
  • “Sohbet botu için” gibi basit kullanım senaryolarında yüksek boyutlu model gereksiz olabilir
  • Matryoshka Representation Learning ile daha düşük boyutlara inmek de mümkündür

13. “Chat with your docs” eğitimleri üretken yapay zekanın hello world’üdür

14. Embedding modelini tekrar tekrar çağırmak gerekir

  • Yalnızca belge alımı (ingestion) sırasında değil; sorgu anında, belge ekleme/değiştirme durumunda ve embedding modeli değiştiğinde de embedding ve indeksleme gerekir

15. Vektör benzerliği ile gerçek relevance aynı olmayabilir

  • Benzer cümleler (ör. “musluk nasıl tamir edilir” ve “musluk nereden satın alınır”) pratikte düşük alakaya sahip olabilir

16. Cosine similarity ile cosine distance farklı şeylerdir

  • Benzerlik ile uzaklık matematiksel olarak ters orantılıdır
  • Aynı vektör için benzerlik 1, uzaklık 0’dır

17. Vektörler normalize edildiğinde cosine similarity ile dot product aynıdır

  • Normalize edilmiş vektörlerde hesaplama açısından dot product daha verimlidir

18. RAG’deki R, ‘vector search’ değil ‘retrieval’dır

  • RAG’de retrieval yöntemi çeşitlidir: anahtar kelime, vektör, filtre vb.

19. Vektör arama, arama araçlarından yalnızca biridir

  • Anahtar kelime arama, filtreleme, reranking gibi çeşitli yöntemler ve kombinasyonları (hibrit) önemlidir

20. Anahtar kelime/vektör aramanın doğru uygulanışı

  • Anlamsal/eşanlamlı eşleşmeler için vektör arama, tam anahtar kelimeler için anahtar kelime arama; her ikisi de gerekiyorsa hibrit arama ve alpha ağırlık ayarı kullanılabilir

21. Hibrit aramanın anlamı

  • Genelde anahtar kelime + vektör kombinasyonunu ifade eder; ancak metadata gibi diğer arama yöntemleriyle birleşimler de ‘hibrit’ sayılır

22. Filtreleme her zaman hızı artırmaz

  • Örneğin HNSW grafiğinin bağlantısallığı bozulabilir ve sonradan filtreleme yapıldığında hiç sonuç kalmayabilir
  • Her vektör DB bunun için farklı optimizasyon teknikleri uygular

23. İki aşamalı arama pipeline’ının faydası

  • Yalnızca öneri sistemlerinde değil, RAG gibi alanlarda da önce aday kümesi çıkarılıp sonra yüksek performanslı ikinci aşama reranking ile kalite artırılabilir

24. Vektör arama ile reranking arasındaki fark

  • Vektör arama tüm DB içinden belirli sonuçları getirir; reranking ise gelen sonuç kümesinin sırasını yeniden düzenler

25. Embed edilecek chunk boyutunu seçmek zordur

  • Çok küçük olursa context kaybı, çok büyük olursa anlam seyrelmesi yaşanır
  • Mean pooling gibi yöntemlerle tüm belge tek vektöre dönüştürülebilir; ancak bilgi seyrelmesi olabilir (tüm film karelerini birleştirip afiş yapmak benzetmesi)

26. Vektör indeksleme kütüphaneleri ile vektör DB arasındaki fark

  • İkisi de hızlıdır; ancak vektör DB dayanıklılık, CRUD, filtre/hibrit gibi veri yönetimi özelliklerini de sunar

27. LLM context genişlese de RAG gelişmeye devam ediyor

  • Uzun context’li LLM’ler çıktıkça ‘RAG öldü’ tartışmaları yapılsa da, pratikte RAG hâlâ gereklidir

28. Vektör quantization ile bilgi %97 azaltılsa da arama korunabilir

  • Binary quantization gibi yöntemlerle depolama 32 kat azaltılabilir (32-bit float → 1-bit vb.)

29. Vektör arama yazım hatalarına karşı robust değildir

  • Büyük metin corpus’larında bile tüm yazım hataları öğrenilmiş olmaz; yalnızca bir kısmı kapsanabilir

30. Arama kalitesini ölçen metrikler çeşitlidir

  • NDCG@k gibi sıralama tabanlı metriklerin yanında Precision/Recall gibi basit metrikler de duruma göre etkilidir

31. Precision-Recall trade-off için pratik örnekler

  • Yalnızca tek sonuç döndürmek (Precision ↑ / Recall ↓), tüm sonuçları döndürmek (Recall ↑ / Precision ↓) gibi uç örneklerle açıklanabilir

32. Arama sonucu sırasını dikkate alan metrikler

  • Precision/Recall sıralamayı dikkate almaz; MRR@k, MAP@k, NDCG@k gibi sıra duyarlı metrikler gerekir

33. Tokenizer’ın etkisi büyüktür

  • Etki yalnızca BPE ile sınırlı değildir; anahtar kelime ve hibrit arama kalitesi üzerinde de tokenizer etkilidir

34. Out-of-domain ile out-of-vocabulary aynı şey değildir

  • OOV akıllı tokenizer’larla çözülebilir; ancak out-of-domain durumda embedding’in kendisi anlamsız olabilir

35. Sorgu optimizasyonu gereklidir

  • Anahtar kelime aramada olduğu gibi, vektör aramada da sorgu girdisini optimize etme alışkanlığı gerekir

36. Vektör arama sonrasındaki paradigma

  • Anahtar kelime arama → vektör arama → LLM reasoning tabanlı retrieval yönünde bir evrim yaşanıyor

37. Bilgi erişimi (retrieval) şu anda en ‘hot’ alanlardan biri

  • LLM’lerle birlikte, LLM’e verilecek ‘en iyi bilgiyi’ bulmak bugün en temel ve en önemli görevlerden biridir

1 yorum

 
mhj5730 2025-07-29

Vektör aramayı ele alırken üzerinde düşünülmüş çok sayıda nokta olması güzel.