Detaylı kavramsal anlatım:
Temel-Kavramlar.md
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.
| 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 |
| 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.
| 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.
# 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]
Temel-Kavramlar.md — uzun ve detaylı anlatım