sentence-transformers/all-MiniLM-L6-v2: Hugging Face'te Öne Çıkan Cümle Gömme Modeli
İçindekiler
Model Bilgileri ve İstatistikler
- Model: sentence-transformers/all-MiniLM-L6-v2
- İndirme Sayısı: 255.006.933
- Beğeni Sayısı: 5.560
- Etiketler: sentence-transformers, pytorch, tf, rust, onnx, safetensors, openvino, bert
Genel Bakış
all-MiniLM-L6-v2, metin ve paragrafları 384 boyutlu yoğun bir vektör uzayına (dense vector space) eşleyen popüler bir sentence-transformers modelidir. Kümeleme (clustering) ve anlamsal arama (semantic search) gibi görevler için optimize edilmiştir. 384 gibi kompakt bir vektör boyutu sunması; bellek kullanımını optimize etmek, arama gecikmesini düşürmek ve vektör veritabanı maliyetlerini azaltmak isteyen yazılım mühendisleri için önemli bir pratik avantaj sağlar.
Kullanım Yöntemleri
1. Sentence-Transformers ile Kullanım
Kütüphane ortamda yüklü olduğunda entegrasyon son derece basittir. pip install -U sentence-transformers komutu ile kurulum yapıldıktan sonra model doğrudan çağrılabilir:
from sentence_transformers import SentenceTransformer
sentences = ["This is an example sentence", "Each sentence is converted"]
model = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2')
embeddings = model.encode(sentences)
print(embeddings)
- Pratik Çıkarım: RAG (Retrieval-Augmented Generation) prototipleri ve standart anlamsal arama iş akışları için en hızlı ve temiz uygulama yöntemidir.
2. Hugging Face Transformers ile Kullanım
Ek kütüphane kullanmadan, saf PyTorch ve Hugging Face transformers ile çalıştırmak istediğinizde girdi modele iletilir ve ardından bağlamsal kelime gömmeleri üzerine ortalama havuzlama (mean pooling) uygulanır:
from transformers import AutoTokenizer, AutoModel
import torch
import torch.nn.functional as F
# Mean Pooling - Dikkat maskesini (attention mask) dikkate alarak doğru ortalamayı hesaplar
def mean_pooling(model_output, attention_mask):
token_embeddings = model_output[0]
input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)
sentences = ['This is an example sentence', 'Each sentence is converted']
tokenizer = AutoTokenizer.from_pretrained('sentence-transformers/all-MiniLM-L6-v2')
model = AutoModel.from_pretrained('sentence-transformers/all-MiniLM-L6-v2')
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')
with torch.no_grad():
model_output = model(**encoded_input)
sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])
sentence_embeddings = F.normalize(sentence_embeddings, p=2, dim=1)
print("Sentence embeddings:")
print(sentence_embeddings)
- Pratik Çıkarım: Özel çıkarım (inference) sunucuları, ONNX ve Rust tabanlı servis entegrasyonlarında düşük seviyeli pipeline kontrolü sunar.
Arka Plan
Model, devasa ölçekli veri kümeleri üzerinde öz-denetimli karşıtsal öğrenme (contrastive learning) hedefiyle eğitilmiştir:
- Temel Mimari: Önceden eğitilmiş
nreimers/MiniLM-L6-H384-uncasedmodeli kullanılmış ve 1 milyar cümle çiftinden oluşan veri kümesiyle ince ayar (fine-tuning) yapılmıştır. - Karşıtsal Hedef: Model, verilen bir cümlenin rastgele örneklenen diğer cümleler arasından hangisiyle gerçekte eşleştiğini tahmin etmeyi öğrenir.
- Topluluk ve Donanım: Hugging Face tarafından düzenlenen JAX/Flax Topluluk Haftası'nda, Train the Best Sentence Embedding Model Ever with 1B Training Pairs projesi kapsamında geliştirilmiştir. Google Flax, JAX ve Cloud ekiplerinin desteğiyle 7 adet TPU v3-8 üzerinde eğitilmiştir.
Kullanım Alanları
Model, cümle ve kısa paragrafların anlamsal içeriğini yakalayan verimli bir kodlayıcıdır (encoder). Vektörel arama sistemleri, öneri algoritmaları ve metin kümeleme senaryolarında yüksek performans ve doğruluk dengesi sağlar.
Orijinal kaynağa buradan ulaşabilirsiniz.
Bu konuyu derinlemesine öğrenmek isterseniz: Embedding Model Serving Temelleri modülüne göz atın.
Bu konuyu daha derinlemesine öğrenmek ister misin?
Edumints'teki ücretsiz kursları incele ve bugün başla.
Kurslara Göz At →