Downloads · 30 days
331
15% of all-time downloads
alibayram/embeddingmagibu-200m
embeddingmagibu-200m is a sentence similarity model from alibayram. Use it when you need a score for how close two texts are. It is set up for sentence-transformers. The card lists the license as mit.
Downloads · 30 days
331
15% of all-time downloads
All-time downloads
2.2K
Public
Parameters
202M
430 MB on disk
Likes
5
Public
Click a slice to open those files.
.safetensors414 MB · 96%
From the Hugging Face model README

Bu model, Türkçe odaklı çok uzun bağlam (8192 token) sentence embedding üretmek için eğitilmiş bir SentenceTransformer modelidir. 768 boyutlu normalize vektör uzayına projeksiyon yapar. 152M versiyonunun başarısı üzerine kurgulanmış olup, 200M parametre boyutu ve artırılmış bağlam uzunluğu ile daha derinlemesine metin temsili sağlar.
Özellikle şu görevler için uygundur:
Model, sıfırdan rastgele başlatılmak yerine iki aşamalı özel bir yaklaşımla geliştirilmiştir:
Bu sayede, büyük modellerle yarışan kaliteyi hedeflerken parametre sayısı yaklaşık 200M seviyesinde tutulmuştur.
Bu model SentenceTransformers formatında aşağıdaki boru hattını kullanır. max_seq_length değeri 8192'ye çıkarılmıştır:
SentenceTransformer(
(0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: Gemma3TextModel
(1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
(2): Dense({'in_features': 768, 'out_features': 3072, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity'})
(3): Dense({'in_features': 3072, 'out_features': 768, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity'})
(4): Normalize()
)
Bu bölüm, modelin “nasıl üretildiğini” teknik detaylarıyla anlatır.
Amaç: Türkçe metinler için daha uygun alt-parça dağılımı elde ederek vocab’ı küçültmek ve embedding tablosu parametrelerini optimize etmektir.
transformer-clonerSıfırdan model başlatmak yerine, teacher modelin (EmbeddingGemma) ağırlıklarını koruyarak yeni tokenizer’a adapte edebilmek için transformer-cloner kütüphanesi kullanılmıştır.
Student model, teacher’ın embedding uzayına yaklaşacak şekilde eğitilmiştir.
Teacher embedding'leri önceden hesaplanmış ve distil-trainer kullanılarak student model optimize edilmiştir.
Modelin performansı STSbTR (Semantic Textual Similarity Benchmark - Turkish) üzerinde ölçülmüştür. TR-MTEB (Massive Text Embedding Benchmark) testleri devam etmektedir ve tamamlandığında eklenecektir.
Aşağıdaki tablo, modelin test setindeki performansını ve diğer modellerle karşılaştırmasını göstermektedir.
Test Metriği:
| Model | Pearson | Spearman |
|---|---|---|
| intfloat/multilingual-e5-large-instruct | 0.8275 | 0.8129 |
| trmteb/turkish-embedding-model-fine-tuned | 0.8215 | 0.8061 |
| embeddingmagibu-200m (Bu Model) | 0.8199 | 0.7980 |
| ytu-ce-cosmos/turkish-e5-large | 0.8090 | 0.7906 |
| sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 | 0.7884 | 0.7659 |
| google/embeddinggemma-300m (Teacher) | 0.7391 | 0.7194 |
Not: Bu sonuçlar modelin özellikle semantik benzerlik konusunda teacher modelini (EmbeddingGemma-300m) belirgin şekilde geçtiğini ve lider tablosundaki (SOTA) modellere çok yaklaştığını göstermektedir.
TR-MTEB benchmark testleri şu anda devam etmektedir. Sonuçlar elde edildiğinde bu bölüm güncellenecektir.
Kurulum:
pip install -U sentence-transformers
Basit kullanım:
from sentence_transformers import SentenceTransformer
# Modeli yükle (remote code trust gerekli olabilir)
model = SentenceTransformer("alibayram/embeddingmagibu-200m", trust_remote_code=True)
# 8192 token uzunluğuna kadar metinleri işleyebilir
sentences = [
"Bugün hava çok güzel.",
"Dışarısı güneşli.",
"Uzun bağlam gerektiren çok detaylı bir hukuki veya teknik metin..."
]
embeddings = model.encode(sentences, normalize_embeddings=True)
print(embeddings.shape) # (3, 768)
Benzerlik hesaplama:
import numpy as np
sim = embeddings @ embeddings.T # normalize edilmişse cosine == dot
print(sim)
Model include_prompt=True ayarı ile eğitildiği için sorgu (query) ve doküman (document) ayrımı yapabilir:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("alibayram/embeddingmagibu-200m", trust_remote_code=True)
query = "Yapay zeka modellerinde distillation nedir?"
docs = [
"Distillation, büyük bir öğretmen modelin bilgisinin daha küçük bir öğrenci modele aktarılmasıdır.",
"Yapay zeka günümüzde çok popüler.",
]
q = model.encode_query(query)
d = model.encode_document(docs)
scores = model.similarity(q, d)
print(scores)
float16 yerine mümkünse bfloat16 veya float32 kullanımı önerilir.Eğer bu modeli akademik çalışmanızda kullanırsanız:
@misc{embeddingmagibu_200m_2026,
title={embeddingmagibu-200m: Long-Context Turkish Sentence Embeddings},
author={Bayram, M. Ali},
year={2026},
url={[https://huggingface.co/alibayram/embeddingmagibu-200m](https://huggingface.co/alibayram/embeddingmagibu-200m)}
}