Laya TR v2: Türkçe karar modeli (cevaplanabilirlik eklendi)
English summary. A Turkish fine-tune of convaiinnovations/laya-multilingual,
the non-autoregressive "System 1" decision model of Laya: it answers typed
choice, noul (yes/no) and score questions about a text in a single forward pass and returns calibrated
probabilities. Trained for 2 epochs on 305,812 decisions (machine-translated bev-decision-150K, its English
originals, machine-translated SQuAD 2.0 for answerability, and native Turkish MASSIVE, XNLI and movie reviews). On 101,716 held-out test decisions accuracy goes
from 0.443 to 0.686 and ECE from 0.282 to 0.083. Compared with
hayriyigit/laya-tr-test, answerability on the Turkish SQuAD 2.0 dev set
(can the document answer the question?) improves from 0.565 to 0.703 accuracy
(AUROC 0.596 → 0.794); the other test sets stay within about one point.
Bu model, Laya'nın çok dilli kontrol noktası
convaiinnovations/laya-multilingual (mmBERT tabanlı) üzerine
Türkçe karar verisiyle ince ayar yapılmış halidir. hayriyigit/laya-tr'in ikinci sürümüdür: aynı veriye
SQuAD 2.0'ın Türkçe çevirisi eklendi, böylece model bir belgenin bir soruyu gerçekten cevaplayıp cevaplayamadığına
(cevaplanabilirlik) daha iyi karar veriyor. Laya metin üretmez: bir metin (state) ve tipli sorular alır, her soru
için tek ileri geçişte kalibre edilmiş olasılıklar döndürür.
- choice: seçeneklerden biri (ör. hangi departman, hangi niyet),
- noul: bir ifadenin doğru olma olasılığı (evet/hayır),
- score: sıralı seviyelerden biri (ör. 1-5 memnuniyet).
Kullanım
import laya
agent = laya.load("hayriyigit/laya-tr-karar")
state = "Siparişim iki haftadır gelmedi, kargo takip numarası da çalışmıyor. Paramı geri istiyorum."
questions = {
"birim": {
"type": "choice",
"instructions": "Bu talebi hangi birim ele almalı?",
"criteria": {"fatura": "ödeme, iade, fatura", "kargo": "teslimat ve takip", "teknik": "uygulama veya site hataları"},
},
"iade": {"type": "noul", "instructions": "Müşteri para iadesi istiyor."},
"memnuniyet": {
"type": "score",
"instructions": "Müşteri ne kadar memnun?",
"criteria": ["Çok memnuniyetsiz", "Memnuniyetsiz", "Nötr", "Memnun", "Çok memnun"],
},
}
answers = agent.predict(state, questions)["answers"]
Bu modelin bu örnekteki cevabı:
| Soru | Cevap | Olasılık |
|---|---|---|
| birim | kargo |
0,958 |
| iade | evet | 0,909 |
| memnuniyet | Çok memnuniyetsiz (seviye 0) | 0,791 |
Her cevapta tüm seçeneklerin olasılıkları (probabilities) ve eşik koymak için answer_confidence da döner.
Soru başına bağlam 8.192 token (soru ve seçenekler için 768); kısa girdiler yalnızca kendi uzunlukları kadar işlenir. Sıcaklıklar (choice, score, noul) eğitimde görülmemiş Türkçe kararlarda kalibre edildi: 0,898, 1,078, 0,950.
Değerlendirme
Test kararlarının hiçbiri eğitimde görülmedi; metni bir test satırında da geçen eğitim satırları, İngilizce orijinaller
üzerinden eşleştirilerek eğitimden çıkarıldı (aşağıda). "Önce" sütunu ince ayar öncesi laya-multilingual'dır.
Kaynağa göre
| Test seti | Karar | Doğruluk (önce) | Doğruluk (sonra) | Fark (puan) | ECE (önce) | ECE (sonra) |
|---|---|---|---|---|---|---|
| bev-decision-150K-tr test (makine çevirisi) | 46.320 | 0,444 | 0,774 | +33,1 | 0,275 | 0,049 |
| bev-decision-150K test, İngilizce orijinal | 5.766 | 0,473 | 0,772 | +29,9 | 0,243 | 0,068 |
| jev-bench-tr (benchmark, makine çevirisi) | 22.773 | 0,402 | 0,496 | +9,4 | 0,295 | 0,175 |
| jev-bench, İngilizce orijinal | 2.000 | 0,499 | 0,584 | +8,4 | 0,246 | 0,109 |
| MASSIVE tr-TR (ana dili Türkçe) | 2.974 | 0,353 | 0,773 | +42,0 | 0,286 | 0,069 |
| XNLI Türkçe test (insan çevirisi) | 5.010 | 0,691 | 0,733 | +4,2 | 0,212 | 0,097 |
| beyazperde film yorumları (ana dili Türkçe) | 5.000 | 0,180 | 0,533 | +35,4 | 0,330 | 0,119 |
| SQuAD 2.0 dev, cevaplanabilirlik (makine çevirisi) | 11.873 | 0,520 | 0,703 | +18,3 | 0,319 | 0,133 |
| Hepsi | 101.716 | 0,443 | 0,686 | +24,3 | 0,282 | 0,083 |
Soru türüne göre
| Tür | Karar | Doğruluk (önce) | Doğruluk (sonra) | ECE (önce) | ECE (sonra) |
|---|---|---|---|---|---|
| choice | 39.616 | 0,448 | 0,660 | 0,247 | 0,098 |
| noul | 39.371 | 0,575 | 0,797 | 0,292 | 0,060 |
| score | 22.729 | 0,204 | 0,538 | 0,325 | 0,108 |
Cevaplanabilirlik (SQuAD 2.0 dev, Türkçe)
Soru: "Verilen document, question sorusunun TÜM kısımlarını doğru ve eksiksiz şekilde cevaplamak için yeterli bilgiyi
açıkça içeriyor mu? …" (noul). State {"question": …, "document": …}. 11.873 soru, yarısı cevaplanamaz; dev ile
train farklı Vikipedi makalelerinden gelir.
| Model | Doğruluk | AUROC | Cevaplanabilirde doğru | Cevaplanamazda doğru | Ort. P(evet): cevaplanabilir / cevaplanamaz |
|---|---|---|---|---|---|
| Temel model | 0,520 | 0,540 | 0,858 | 0,182 | 0,785 / 0,749 |
| laya-tr-test (v1) | 0,565 | 0,596 | 0,473 | 0,657 | 0,496 / 0,401 |
| Bu model (v2) | 0,703 | 0,794 | 0,869 | 0,537 | 0,783 / 0,465 |
Model artık iki tür soruyu ayırt ediyor, ama hâlâ kolay "evet" diyor: cevaplanamaz soruların yaklaşık yarısını yakalıyor. Eşik 0,5 yerine 0,790 alınırsa doğruluk 0,722 olur. Cevaplanabilirlik kararlarında yüksek bir eşik kullanın.
Önceki sürümle karşılaştırma
| Test seti | Doğruluk (v1) | Doğruluk (v2) | ECE (v1) | ECE (v2) |
|---|---|---|---|---|
| bev-decision-150K-tr test (makine çevirisi) | 0,771 | 0,774 | 0,031 | 0,049 |
| bev-decision-150K test, İngilizce orijinal | 0,775 | 0,772 | 0,036 | 0,068 |
| jev-bench-tr (benchmark, makine çevirisi) | 0,490 | 0,496 | 0,171 | 0,175 |
| jev-bench, İngilizce orijinal | 0,578 | 0,584 | 0,105 | 0,109 |
| MASSIVE tr-TR (ana dili Türkçe) | 0,781 | 0,773 | 0,063 | 0,069 |
| XNLI Türkçe test (insan çevirisi) | 0,738 | 0,733 | 0,095 | 0,097 |
| beyazperde film yorumları (ana dili Türkçe) | 0,531 | 0,533 | 0,067 | 0,119 |
| SQuAD 2.0 dev, cevaplanabilirlik (makine çevirisi) | – | 0,703 | – | 0,133 |
v1'in test setinde SQuAD yoktu; SQuAD için v1 değeri yukarıdaki tablodadır (aynı soru ve aynı dev seti). Toplam ECE v1'de
0,070, v2'de 0,083: sıcaklıklar yalnızca 1.571 kararlık bir doğrulama diliminde ayarlandığı için
sonuç gürültülüdür; en çok score sorularının kalibrasyonu kötüleşti.
Nasıl okunmalı
- Kalibrasyon en büyük kazanç: ECE 0,282 → 0,083. Modelin verdiği olasılıklar eşik koymak için kullanılabilir hale geldi.
- İngilizce unutulmadı: eğitime İngilizce orijinallerin ~%25'i karıştırıldı; bev ve jev-bench'in İngilizce testlerinde de doğruluk arttı. Diğer diller ölçülmedi.
- En bağımsız sinyal XNLI (+4,2 puan): ayrı kaynaklı, insan çevirisi bir test. MASSIVE ve beyazperde'deki büyük artışlar kısmen bu kaynakların train bölümlerinin eğitimde olmasından gelir.
- noul doğruluğu (0,797) v1'deki değerden (0,823) düşük görünür; nedeni test setine SQuAD'ın zor cevaplanabilirlik sorularının eklenmesidir, iki değer aynı test setinden gelmez.
- Bazı jev-bench alt setleri kötüleşti: civil_comments −5,7 puan. Nedeni ayrıca incelenmedi.
- jev-bench bev ile aynı görev ailelerinden (ör. MASSIVE, CLINC150, SST-5, BoolQ) beslenir; birebir aynı metinler çıkarıldı, ama tamamen bağımsız bir test değildir.
bev-decision alanları (Türkçe test)
| Alan | Karar | Doğruluk (önce) | Doğruluk (sonra) | ECE (sonra) |
|---|---|---|---|---|
| Sentiment, emotion, and moderation | 11.526 | 0,616 | 0,860 | 0,052 |
| Spatial and logical reasoning | 8.384 | 0,321 | 0,596 | 0,063 |
| Retail, product, and shopping | 6.601 | 0,288 | 0,929 | 0,067 |
| Response preference and quality | 3.176 | 0,321 | 0,561 | 0,071 |
| Support and intent routing | 2.858 | 0,678 | 0,969 | 0,053 |
| Tool and workflow decisions | 2.307 | 0,769 | 0,984 | 0,063 |
| Software security | 2.240 | 0,417 | 0,666 | 0,080 |
| Game-state decisions | 2.039 | 0,345 | 0,858 | 0,066 |
| Software engineering and code | 2.039 | 0,322 | 0,608 | 0,141 |
| Financial reporting and banking | 1.740 | 0,166 | 0,603 | 0,031 |
| Reading comprehension | 1.422 | 0,628 | 0,712 | 0,123 |
| Scientific and paper understanding | 508 | 0,374 | 0,848 | 0,058 |
| Contract evidence | 320 | 0,334 | 0,725 | 0,080 |
| Browser interaction | 286 | 0,273 | 0,724 | 0,133 |
| Spam detection | 271 | 0,550 | 0,956 | 0,079 |
| Civic and safety operations | 261 | 0,253 | 0,628 | 0,092 |
| Sensory quality rating | 260 | 0,073 | 0,454 | 0,091 |
| Engagement and ranking | 82 | 0,524 | 0,622 | 0,202 |
jev-bench-tr alt setleri
| Alt set | Karar | Doğruluk (önce) | Doğruluk (sonra) |
|---|---|---|---|
| arc_challenge | 1.000 | 0,251 | 0,249 |
| banking77 | 1.000 | 0,270 | 0,319 |
| boolq | 1.000 | 0,687 | 0,711 |
| chaosnli | 1.599 | 0,478 | 0,546 |
| civil_comments | 2.000 | 0,913 | 0,857 |
| clinc150 | 1.000 | 0,249 | 0,390 |
| fever_evidence | 1.000 | 0,551 | 0,813 |
| go_emotions | 1.000 | 0,277 | 0,307 |
| helpsteer2_helpfulness | 1.000 | 0,148 | 0,164 |
| helpsteer2_verbosity | 1.000 | 0,211 | 0,214 |
| ledgar | 1.000 | 0,087 | 0,092 |
| massive | 1.000 | 0,376 | 0,775 |
| measuring_hate_speech | 1.000 | 0,315 | 0,563 |
| mmlu | 1.000 | 0,274 | 0,267 |
| mnli | 1.000 | 0,719 | 0,757 |
| paws | 1.000 | 0,526 | 0,541 |
| sms_spam | 800 | 0,326 | 0,956 |
| sst5 | 1.000 | 0,283 | 0,385 |
| strategyqa_closed | 687 | 0,517 | 0,511 |
| strategyqa_grounded | 687 | 0,546 | 0,547 |
| stsb | 1.000 | 0,157 | 0,242 |
| yelp5 | 1.000 | 0,189 | 0,422 |
banking77 (77) ve clinc150 (150 seçenek) gibi çok seçenekli sorularda seçenekler 768 tokenlık soru bütçesine sığmak için kısalır; bu, Laya'nın bilinen bir sınırıdır (#394).
Eğitim sırasında doğrulama
Eğitimden ayrılan, metne göre gruplanmış 1.571 Türkçe karar (sıcaklık kalibrasyonu öncesi):
| Epoch | Doğruluk | NLL | Brier | ECE |
|---|---|---|---|---|
| 1 | 0,803 | 0,504 | 0,273 | 0,051 |
| 2 | 0,809 | 0,507 | 0,273 | 0,053 |
İkinci epoch çok az katkı verdi; daha fazla epoch önerilmez.
Eğitim verisi
| Kaynak | Satır | Karar | choice / noul / score |
|---|---|---|---|
| bev-decision-150K-tr train (Türkçe, makine çevirisi) | 102.782 | 206.164 | 69.040 / 89.653 / 47.471 |
| bev-decision-150K train, İngilizce orijinal (Türkçe satırların ikizleri) | 34.261 | 69.158 | 22.610 / 30.587 / 15.961 |
| MASSIVE tr-TR train (ana dili Türkçe) | 5.000 | 5.000 | 5.000 / 0 / 0 |
| XNLI Türkçe validation (insan çevirisi) | 2.490 | 2.490 | 2.490 / 0 / 0 |
| beyazperde film yorumları train (ana dili Türkçe) | 5.000 | 5.000 | 0 / 0 / 5.000 |
| SQuAD 2.0-tr train, cevaplanabilirlik (makine çevirisi, 130K satırdan örneklem) | 20.000 | 20.000 | 0 / 20.000 / 0 |
| Toplam | 169.533 | 307.812 |
Bunlardan metne göre gruplanmış 1.571 Türkçe karar doğrulama ve kalibrasyon için ayrıldı; bu kararların İngilizce ikizleri de eğitimden çıkarıldı. Eğitimde 305.812 karar kullanıldı.
Hedefler: Etiketler sorulardan çıkarılıp hedef olasılıklara çevrildi. Sert etiketler 0,1 ile yumuşatıldı (doğru cevaba 0,9;
scoresorularında kalan pay komşu seviyelere). Laya'nın eğitim yöntemi (RLCD) bu dağılımları hedefler.Alan dengesi: Türkçenin sinyal taşımadığı ya da etiketlerin gürültülü olduğu bev alanlarından eğitim satırlarının bir kısmı tutuldu:
Alan Tutulan oran Çıkarılan satır Software engineering and code 0,3 4.376 Spatial and logical reasoning 0,3 11.581 Browser interaction 0,3 3.202 Engagement and ranking 0,2 3.318 Örtüşme temizliği: Bir test satırında da geçen metni içeren eğitim satırları çıkarıldı:
Eğitim kaynağı Test kaynağı Çıkarılan eğitim satırı bev-decision-tr jev-bench-tr 337 bev-decision-tr beyazperde 6 bev-decision-tr SQuAD-tr 2 bev-decision-tr MASSIVE tr-TR 10 MASSIVE tr-TR bev-decision-tr 477 MASSIVE tr-TR jev-bench-tr 16 MASSIVE tr-TR MASSIVE tr-TR 16 beyazperde beyazperde 76 Bağlam bütçesi: Hiçbir eğitim kararı 8.192 tokena sığmadığı ya da doğru seçeneği kısaltılınca başka bir seçenekle aynı göründüğü için çıkarılmadı. Eğitim kararlarının token uzunluğu: medyan 188, %90 521, %99 1.474, en fazla 7.430.
bev-decision-150K'nın Türkçesi bir LLM ile alan bazında çevrildi; kod blokları, tanımlayıcılar, URL'ler ve Mind2Web sayfa
öğeleri İngilizce bırakıldı. Ayrıntılar: hayriyigit/bev-decision-150K-tr.
SQuAD 2.0'ın yalnızca paragraf ve soruları çevrildi; etiket answers'ın boş olup olmamasından gelir. Ayrıntılar:
hayriyigit/squad_v2-tr.
Eğitim
| Taban model | convaiinnovations/laya-multilingual (mmBERT-base encoder + Laya karar başlığı) |
| Yöntem | Laya'nın RLCD tarifi: gürültülü logit örnekleri üzerinde proper scoring ödülüyle policy gradient + yumuşak cross-entropy |
| Epoch / güncelleme | 2 / 19.114 (her güncellemede 32 karar) |
| Öğrenme hızı | encoder 1e-5, karar başlığı 1e-4; AdamW, cosine |
| Hassasiyet | bf16, gradient checkpointing |
| Bağlam | max_len 8.192, head_max_len 768 |
| Donanım ve süre | 1 × NVIDIA GeForce RTX 5090 (32 GB); eğitim ~1 sa 34 dk, veri hazırlığı ve değerlendirmeyle ~1 sa 42 dk |
| Yazılım | torch 2.14.1, transformers 5.18.0, laya 0.3.24 (commit fa9a2a7) |
Eğitim config'i, eğitim kaydı ve veri manifest'i training/ klasöründe; tüm metrikler eval_report.json'da.
Sınırlamalar
- Eğitim verisinin çoğu makine çevirisidir; model çeviri dilinin izlerini taşıyabilir. Ana dili Türkçe veri sınırlıdır (~12 bin satır).
- Kod, teknik tanımlayıcılar ve web sayfası öğeleri eğitimde İngilizce kaldı; bu tür girdilerde karışık dil beklenir.
- Yalnızca Türkçe ve İngilizce değerlendirildi; diğer dillerdeki performans ince ayar öncesine göre düşmüş olabilir.
- Kalibrasyon Türkçe veriyle yapıldı; farklı bir alanda kullanmadan önce kendi verinizle eşikleri kontrol edin.
- 77'den fazla seçenekli sorularda seçenek açıklamaları kısalır.
- Cevaplanabilirlik: Konusu soruyla aynı olan ama istenen bilgiyi hiç içermeyen belgelerde model hâlâ yüksek olasılıkla "evet" diyebilir. Örneğin "Türksat 6A hangi tarihte fırlatıldı?" sorusuna, fırlatma tarihini içermeyen ya da yalnızca başka bir olayın tarihini içeren Türksat belgeleri için ~0,92 verir. Bu tür kararları tek başına bu modele bırakmayın.
Lisans
Taban model Apache-2.0'dır. Eğitim verilerinin lisansları farklıdır; ayrıntılar LICENSE.md'de.
Ticari kullanımdan önce kontrol edin.
- Downloads last month
- -
Model tree for hayriyigit/laya-tr-karar
Base model
convaiinnovations/laya-multilingual