Embedding Modelleri

Detaylı kavramsal anlatım: Temel-Kavramlar.md

1. Embedding Nedir?

Embedding, bir metni (cümle, paragraf, doküman) sabit boyutlu sayısal vektör olarak temsil etme yöntemidir. İyi bir embedding'de "anlamı yakın olan metinler" vektör uzayında da yakındır:

cos(embed("yapay zeka uygulamaları"), embed("makine öğrenmesi sistemleri")) ≈ 0.85
cos(embed("yapay zeka uygulamaları"), embed("Osmanlı tarihinde defterler"))  ≈ 0.10

Bu özellik, retrieval, sınıflandırma ve outlier tespiti gibi pek çok alt sürecin temelini oluşturur.

2. Anahtar Kavramlar

Kavram Açıklama Pratikteki Etki
Boyut (dimension) 384 / 768 / 1024 / 2048... Yüksek boyut → daha zengin temsil ama daha pahalı
L2 normalize Tüm vektörleri birim uzunluğa indirme Cosine similarity = dot product olur
Cosine similarity İki vektör arasındaki açının kosinüsü Yön benzerliğini ölçer; uzunluktan bağımsız
Curse of dimensionality Yüksek boyutta tüm noktalar birbirine yaklaşır Mesafe ayrımı zayıflar
Matryoshka (MRL) Aynı vektörden farklı boyutlar kesilebilir Çıkarımda boyut–maliyet trade-off
Instruction-tuned Modele "görev tarif eden" ön ek verilir Aynı metin farklı görevde farklı temsil alır
Quantization Float32 → int8 / binary Disk/RAM kazancı, kalite kaybı kontrol altında
Dense vs Sparse Dense: anlam; Sparse: kelime Hibrit (BM25 + dense) çoğu zaman en iyi

3. Bizim Stack'imizde Kullanılanlar

Model Boyut Kullanım
F2LLM (Qdrant theses_F2LLM koleksiyonu) 2048 Tez özet embedding, etiket kalite kontrol, outlier tespiti
BAAI/bge-m3 1024 Çok dilli + dense/sparse hibrit (planlı)
multilingual-e5-large 1024 Karşılaştırma için aday

Aktif altyapı: Milvus / Qdrant vektör veritabanı + cosine similarity.

4. Model Seçim Kriterleri

Kriter Soru
Görev Retrieval mi, sınıflandırma mı, outlier mı?
Dil Türkçe destek var mı? Akademik metin temsili nasıl?
Boyut Maliyet–kalite dengesi
Lisans Ticari kullanım uygun mu?
Bellek 50.000 × 2048 float32 ≈ 400 MB; ölçek ne olacak?
Bakım Model güncellemesi ne sıklıkta?

Bu kriterlere göre MTEB sıralaması bir başlangıç noktasıdır — mutlak gerçek değil. Detay: MTEB-Degerlendirme.md.

5. Temel Operasyonlar

# Embedding üretme + L2 normalize
emb = model.encode(text, normalize_embeddings=True)

# Cosine similarity (normalize edilmişse dot product)
similarity = emb1 @ emb2.T

# Top-K en benzer
top_k = np.argsort(-similarity)[:k]

6. Yaygın Tuzaklar

7. İlgili Sayfalar