Tüm yazılar
Matematik16 Haziran 2025

Vektör Veritabanları: FAISS, Pinecone ve RAG'in Omurgası

"Anlamı yakın" belgeleri milisaniyede bulan altyapı. Modern AI uygulamalarının görünmez ama vazgeçilmez katmanı.

Matematik Karavanı 7 dk okuma 5 soru
Veri kümesi — vektör veritabanı temsili

"Anlamı yakın" bulma problemi

100 milyon belge var. Kullanıcı "kâr marjını artırma yöntemleri" diye sorar. Hangi belgeler anlamca yakın?

Klasik veritabanı bunu yapamaz. SQL "WHERE text LIKE '%kâr%'" diyebilir ama "gelir optimizasyonu" başlıklı belgeyi bulamaz. Tam metin arama (Elasticsearch) daha iyi ama hâlâ kelime tabanlı.

Modern çözüm: her belgeyi bir vektöre dönüştür (örn. 1024 boyutlu sayı dizisi), sorguyu da vektöre dönüştür, vektör uzayında en yakın komşuları bul.

Embedding — anlamın vektörü

Modern NLP, kelime/cümle/belgeyi 768–4096 boyutlu vektörlere çevirir. Bu vektörler anlamsal uzay'da yer alır:

  • "Köpek" ve "kedi" → birbirine yakın (her ikisi de hayvan).
  • "Köpek" ve "matematik" → uzak.
  • "Kâr" ve "gelir" → yakın (eş anlamlı).
  • "Kâr" ve "loss" → uzak (zıt).

Modern embedding modelleri: OpenAI text-embedding-3, Cohere embed, BGE, E5. Bir cümle → 1024-3072 sayı.

ANN — yaklaşık en yakın komşu

Problem: 100 milyon vektör, sorgu için en yakın 5 vektörü bul. Matematiksel olarak: kosinüs benzerliği (ya da L2 mesafesi) maksimize et.

Brute force: her sorgu için tüm vektörleri tara. O(N)O(N). 100M vektörde saniyede 1-2 sorgu — yetmez.

Çözüm: Approximate Nearest Neighbor (ANN) — kesin değil, yaklaşık ama 1000x daha hızlı. Üç ana algoritma:

1. HNSW (Hierarchical Navigable Small World, 2016)

Vektörleri çok katmanlı küçük dünya grafı ile bağla. Üst katman seyrek bağlantılı (uzun atlamalar), alt katman yoğun (hassas).

Sorgu: üst katmandan başla, "buradan en yakın komşuya git" diyerek aşağı in. Logaritmik.

HNSW şu anki endüstri standardı. Pinecone, Weaviate, Milvus, Qdrant hep destekler.

2. IVF (Inverted File, 1991)

Vektörleri k-means ile cluster'lara böl (örn. 1000 cluster). Sorguda önce sorgunun hangi cluster'a yakın olduğunu bul, sadece o cluster'ın vektörlerine bak.

Hız avantajı: 1000x. Kalite biraz düşer.

3. PQ (Product Quantization, 2010)

Her vektörü küçük parçalara böl, her parçayı 8 bit'lik kodla sıkıştır. 1024 boyutlu float32 vektör (4 KB) → 128 byte. 30x sıkıştırma.

FAISS ana sıkıştırma tekniği. Bellekte 1M+ vektör tutmayı mümkün kılar.

FAISS (Facebook, 2017)

Facebook AI Research'ün yayımladığı C++ kütüphanesi. Vektör arama algoritmalarının altın standardı. HNSW, IVF, PQ ve kombinasyonları (IVF+PQ, HNSW+PQ) tek bir API'de.

Pratikte:

  • 100M vektör → 5 ms sorgu.
  • 1B vektör → 20 ms sorgu.
  • GPU desteği var (FAISS-GPU).

Open-source, ücretsiz. Pinecone, Weaviate, hatta Milvus altta FAISS kullanır.

Vector Database — FAISS'ten farkı

FAISS bir algoritma kütüphanesi. Vektör veritabanı bir ürün: depolama, replikasyon, indeksleme, metadata sorgulama, otorizasyon, API gateway hepsi paketlenmiş.

Modern vektör veritabanları:

  • Pinecone (2021): Bulut tabanlı SaaS, en hızlı yaygınlaşan.
  • Weaviate (2019): Open-source, GraphQL API.
  • Qdrant (2021): Rust, hızlı.
  • Milvus (2019): Kubernetes uyumlu, büyük ölçek.
  • Chroma (2022): Geliştirici dostu, embed-everything yaklaşımı.
  • pgvector (2021): PostgreSQL extension'ı; klasik veritabanına entegre.

2024 başında pgvector yükselişe geçti — "ayrı bir veritabanı niye gerek?" argümanı güçlendi.

RAG bağlantısı

Modern LLM uygulamaları için vektör veritabanı olmazsa olmaz: Retrieval-Augmented Generation (RAG).

Akış:

  1. Kullanıcı sorusu gelir.
  2. Soru embedding'e dönüştürülür.
  3. Vektör veritabanı en yakın 5-20 belgeyi bulur.
  4. Bu belgeler LLM'e prompt olarak verilir.
  5. LLM cevap üretir.

Bu mimari ChatGPT'nin "browse the web" özelliğinden, Notion AI'a, Anthropic'in Claude.ai'sine, Slack'in araması, dahili kurumsal AI'ya kadar her yerde.

Performans-kalite ödünleşimi

ANN her zaman kesin sonuç vermez. Tipik recall@10 %95-99 — gerçek en yakın 10 vektörün 9-10'unu bulur. Geri kalan?

  • Kabul edilebilir mi? RAG için evet: birkaç eksik belge sorun değil.
  • Tıbbi/finansal arama için kritik mi? Belki de değil: brute force eksik kalır.

Bu yüzden bazı sistemler iki aşamalı çalışır: ANN ile 100 aday, sonra brute force ile en iyi 10.

Sade ders

Vektör veritabanı hikâyesinden iki şey:

  1. Eski matematiksel fikir yeni alana taşınır. ANN algoritmaları 1990'ların başında çıkarılmıştı (Indyk-Motwani LSH). 30 yıl sonra LLM çağında milyar dolarlık ürünler oldu.
  2. Veritabanı katmanı hâlâ önemli. AI dünyası modellere odaklanır ama gerçek değer büyük ölçüde altyapı katmanından gelir.

Bağlam

Embedding teorisi için: [[word2vec-kelime-vektorleri]] (varsa), [[chris-manning-stanford-nlp-nin-sessiz-mimari]] (GloVe). RAG için: [[rag-retrieval-augmented-generation]]. ANN matematiği için: [[lsh-locality-sensitive-hashing]] (varsa). Modern AI uygulamaları için: [[transformer-attention-is-all-you-need]].

Etiketler

vektör veritabanıFAISSPineconeRAGembeddingANN

Kendinizi Test Edin

Cevaplarınız profilinizde istatistik olarak saklanır.

1. Vektör veritabanı temel olarak neyi çözer?

2. HNSW ne yapar?

3. FAISS nedir?

4. PQ (Product Quantization) ne sağlar?

5. RAG nasıl çalışır?