Downloads · 30 days
1K
28% of all-time downloads
ytu-ce-cosmos/modernbert-tr-embed
modernbert-tr-embed is a sentence similarity model from ytu-ce-cosmos. 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 apache-2.0.
<p align="center" <img src="assets/logo.webp" width="20%" alt="ModernBERT-TR Embed" / </p <h1 align="center"ModernBERT-TR Embed</h1
Downloads · 30 days
1K
28% of all-time downloads
All-time downloads
3.7K
Public
Parameters
149M
1.6 GB on disk
Likes
6
Public
Click a slice to open those files.
.onnx1 GB · 64%
From the Hugging Face model README
A 150M-parameter Turkish text-embedding model.
ytu-ce-cosmos/modernbert-tr-base.Qwen/Qwen3-Embedding-8B.| Model | Params | Retr | Classif | PairCls | Cluster | STS | Bitext | Mean |
|---|---|---|---|---|---|---|---|---|
| ModernBERT-TR-Embed (ours) | 150M | 59.4 | 76.5 | 69.2 | 63.3 | 77.6 | 94.1 | 68.14 |
| ytu-ce-cosmos/turkish-e5-large | 560M | 61.5 | 72.6 | 62.8 | 60.9 | 80.0 | 99.3 | 67.17 |
| microsoft/harrier-oss-v1-0.6b | 600M | 60.1 | 71.1 | 58.6 | 63.3 | 74.5 | 98.6 | 65.57 |
| intfloat/multilingual-e5-large | 560M | 61.7 | 69.2 | 65.6 | 60.8 | 81.0 | 99.0 | 66.56 |
| Qwen/Qwen3-Embedding-4B | 4B | 63.1 | 70.2 | 60.1 | 61.3 | 77.0 | 97.8 | 66.69 |
We embedded ~7.9M Turkish passages with the teacher, then trained our model to reproduce those embeddings. A projector maps the teacher's 4096-d vectors down to our model's 768 dimensions. Following Jasper/Stella distillation recipe, a three-term loss aligns the embeddings from both: a per-passage cosine loss, a similarity-matrix loss matching the student's and teacher's Gram matrices within batch, and a CoSENT-style hinge that reproduces the teacher's pairwise-similarity ordering.
From the distilled model we ran three fine-tunings, all supervised by teacher embeddings:
We weight-average the checkpoints described above into a single model.
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("mrbesher/modernbert-tr-embed")
emb = model.encode(["bir cümle", "başka bir cümle"], normalize_embeddings=True)
q = model.encode(["soru"], prompt_name="query", normalize_embeddings=True)
d = model.encode(["döküman"], normalize_embeddings=True)
The retrieval (see config_sentence_transformers.json):
Instruct: Given a web search query, retrieve relevant passages that answer the query\nQuery:{text}.
The onnx/ folder has the grapgh for the token embeddings, it includes 3 graphs: token embeddings, mean-pool and L2-norm.
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("mrbesher/modernbert-tr-embed", backend="onnx",
model_kwargs={"file_name": "onnx/model_fp16.onnx"})
TEI is L2-normalizes by default. Pass per-request prompts for retrieval queries.
text-embeddings-router --model-id mrbesher/modernbert-tr-embed --dtype float16
See the companion encoderfile repo.
Turkish retrieval (msmarco-tr, Squad-TR train/dev), Turkish NLI (boun-tabi/nli_tr train), Turkish STS-B (train), and Turkish classification-domain text (product reviews, news, social), all teacher-supervised. We check for leaks with text-hash against every MTEB(Turkish) test split.
apache-2.0.