Sentence Similarity
sentence-transformers
Safetensors
Turkish
gemma3_text
feature-extraction
semantic-search
information-retrieval
turkish
retrieval
distillation
werea
text-embeddings-inference
Instructions to use Werea-co/DUSUNEN-Rota-270M-v3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use Werea-co/DUSUNEN-Rota-270M-v3 with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("Werea-co/DUSUNEN-Rota-270M-v3") sentences = [ "The weather is lovely today.", "It's so sunny outside!", "He drove to the stadium." ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] - Notebooks
- Google Colab
- Kaggle
File size: 2,768 Bytes
73b2156 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | ---
language:
- tr
license: apache-2.0
library_name: sentence-transformers
pipeline_tag: sentence-similarity
base_model: microsoft/harrier-oss-v1-270m
datasets:
- newmindai/ms-marco-turkish-triplets
tags:
- sentence-transformers
- feature-extraction
- semantic-search
- information-retrieval
- turkish
- retrieval
- distillation
- werea
---
# DUSUNEN Rota 270M v3 — Türkçe Dense Retriever 🔍🇹🇷
Kompakt (270M) Türkçe dense retriever. v3, **öğretmen damıtması** (E5-large)
ve **tamamı doğal** veri ile eğitildi: 220K MS MARCO-TR + 88K DUSUNEN çifti
(sentetik şablon **yok**), çapraz in-batch negatifler ve margin-MSE damıtma.
## Ölçülen sonuçlar
Sabit [`mteb/TurHistQuadRetrieval`](https://huggingface.co/datasets/mteb/TurHistQuadRetrieval)
(1.024 sorgu / 1.213 belge), aynı değerlendirici, bf16:
| Model | Params | nDCG@10 | MRR@10 | Recall@10 | Recall@100 |
|---|---:|---:|---:|---:|---:|
| multilingual-e5-base | 278M | **0.499** | **0.697** | **0.531** | **0.728** |
| **DUSUNEN Rota 270M v3** | **270M** | **0.454** | 0.662 | 0.470 | 0.573 |
| Harrier OSS 270M (taban) | 270M | 0.434 | 0.631 | 0.459 | 0.535 |
**v3, tabanı geçti** (+%4,6 nDCG) ve E5-base'e yaklaştı; e-ticaret-dışı genel
Türkçe RAG/arama için kompakt bir alternatiftir. Not: tam recall@100'de E5 hâlâ
öndedir; v3 birinci-aşama aday üretimi için tasarlanmıştır.
## Eğitim
- **Taban:** microsoft/harrier-oss-v1-270m · **Öğretmen:** intfloat/multilingual-e5-large
- **Veri:** 308K doğal çift (220K MS MARCO-TR + 88K DUSUNEN); yalnız doğal, sentetik yok
- **Kayıp:** in-batch InfoNCE + 0,1·margin-MSE (öğretmen skorları) · 2 epoch · bf16
- **Not:** Bu mimari **bf16** ile çalıştırılmalıdır (fp16 gömme çıktısında NaN üretir).
## Kullanım
```python
import torch, torch.nn.functional as F
from transformers import AutoModel, AutoTokenizer
tok = AutoTokenizer.from_pretrained("Werea-co/DUSUNEN-Rota-270M-v3")
model = AutoModel.from_pretrained("Werea-co/DUSUNEN-Rota-270M-v3", torch_dtype=torch.bfloat16).cuda().eval()
def embed(texts, prefix):
e = tok([prefix+t for t in texts], padding=True, truncation=True, max_length=192, return_tensors="pt").to("cuda")
with torch.inference_mode():
h = model(**e).last_hidden_state
m = e["attention_mask"].unsqueeze(-1).float()
return F.normalize((h.float()*m).sum(1)/m.sum(1), dim=-1)
q = embed(["Türkiye'nin başkenti neresi?"], "query: ")
d = embed(["Ankara, Türkiye'nin başkentidir."], "passage: ")
print((q@d.T).item())
```
## Lisans
Apache-2.0. Taban: Harrier-OSS-270M. Eğitim: [Werea](https://werea.co).
<div align="center"><sub>💜 <a href="https://werea.co">werea.co</a> — Fikirden üretime.</sub></div>
|