GoktugD's picture
Mirror of Werea-co/DUSUNEN-Rota-270M-v3
109419b verified
|
Raw
History Blame Contribute Delete
2.96 kB
---
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
---
> ℹ️ Bu, [Werea-co/DUSUNEN-Rota-270M-v3](https://huggingface.co/Werea-co/DUSUNEN-Rota-270M-v3) modelinin GoktugD profilindeki aynasıdır; asıl geliştirme Werea-co altında sürer.
# 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>