--- 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).