ufakzeka ailesinden karar modeli
ufakzeka-karar
Türkçe bir metni okur ve o metin hakkında sorduğunuz soruları cevaplar; her sorunun türü ve seçenekleri önceden bellidir. Sorunun türüne göre bir seçenek kümesinden birini seçer, sıralı bir ölçekte bir düzey belirler ya da evet veya hayır der. Her seçeneğe bir olasılık verir ve bu olasılıklar ayrı tutulan doğrulama verisinde ayarlanmıştır. Her soruda yanılma olasılığını da tahmin eder. Bu değeri “emin değilim” sinyali olarak kullanabilirsiniz. Metin üretmez; her soruyu sıradan bir işlemcide tek seferde değerlendirir.
- 182.494.466parametre
- 102,5 mssoru başına medyan süre, Apple M1 işlemcide tek iş parçacığıyla
- 7 / 16HakemBench liderlik tablosundaki sıra
- Apache-2.0lisans
Metin girer, olasılık çıkar
Bir istek, bir metinden (state) ve her birine bir ad verilen sorulardan oluşur. Model her soruyu metinle birlikte tek bir ileri geçişte (forward pass) okur ve seçeneklerin olasılık dağılımını verir. Seçenekler birbirini görmez ve aynı konum indislerini paylaşır. Bu yüzden seçeneklerin sırası değiştiğinde olasılıklar on seçeneğe kadar bit düzeyinde aynı kalır; daha fazla seçenekte yalnızca kayan noktalı sayı hesaplarındaki küçük yuvarlama farkları kadar değişebilir. Bir geçişte en çok 10 seçenek okunur; daha büyük kümeler gruplara bölünerek okunur ve olasılıklar tek bir dağılımda birleştirilir.
Metin ile sorudan toplam en fazla 448 token okunur. Daha uzun bir metnin sonu okunmaz; soru her zaman okunur. Bir seçeneğin en fazla 48 tokenı okunur.
Seçim (choice)
Model, 2 ile 255 arasında seçenek içeren bir kümeden birini seçer. Cevapta en olası seçenek, bütün seçeneklerin olasılıkları ve bir güven değeri yer alır.
Derecelendirme (score)
Model, metni 2 ile 10 arasında düzeyi olan sıralı bir ölçekte bir düzeye yerleştirir. Cevapta beklenen düzey, düzeylerin olasılık dağılımı ve bir güven değeri yer alır.
Evet/hayır (noul)
Model bir evet/hayır sorusunu cevaplar; cevap, “evet”in olasılığıdır.
“Emin değilim” sinyali (abstain), modelin bu soruda yanılma olasılığının tahminidir. Bu değer, modelin kendi hatalarından öğrenilen bir eşlemeyle hesaplanır. Bir güven eşiği seçip bu eşiğin altındaki cevapları bir kişiye bırakabilirsiniz. HakemBench’te 0,90 ya da üstünde bir güvenle cevaplanan soruların oranı (kapsama oranı) yüzde 29, bu cevaplardaki hata oranı ise yüzde 6’dır. Ancak “emin değilim” sinyali güvenlik bariyeri hatalarını kaçırır. Güvenlik bariyeri sorularında güveni 0,99 ya da üstünde olan cevapların yüzde 12’si yanlıştır; müşteri desteğinde ise neredeyse hiçbir cevabın güveni 0,90’a ulaşmaz. Bu iki kategorinin sayıları, aşağıdaki HakemBench sonuçlarında açıklanan “test sonuçları görülerek şekillendi” işaretini taşımaktadır.
Nerede işe yarar
Müşteri desteği
Bir talebin bir müşteri temsilcisine aktarılması gerekip gerekmediğine, verilen cevabın soruyu karşılayıp karşılamadığına ve konunun hassas olup olmadığına karar verir. Model bu kategoride zayıftır; aşağıdaki “Zayıf yanları” bölümüne bakın.
İçerik denetimi
Bir mesajda küfür, hakaret ya da saldırgan dil olup olmadığını belirler.
Güvenlik bariyeri (guardrail)
Bir yapay zekâ asistanına gelen mesajın, asistanın talimatlarını devre dışı bırakmaya ya da ona yetkisiz bir işlem yaptırmaya çalışıp çalışmadığını (prompt injection) değerlendirir. Tek başına değil, başka katmanlarla birlikte kullanılmalıdır.
Spam ve oltalama
Bir mesajın türünü (dolandırıcılık, istenmeyen reklam, izinli pazarlama, işlem bildirimi, kişisel yazışma) ve okuyanı kandırmaya çalışıp çalışmadığını belirler.
Doğruluk kontrolü önceliklendirmesi
Bir cümlede kontrol edilebilir bir iddia olup olmadığını ve kontrolün ne kadar öncelikli olduğunu değerlendirir. Model iddianın doğru olup olmadığına karar vermez.
Eğitimde puanlama
Öğrencinin cevabını puanlar ve sorunun hangi derse ait olduğunu belirler.
Hukuki yönlendirme
Bir uyuşmazlığın ya da talebin hangi mahkemeye ya da merciye gideceğini, bir bireysel başvurunun da hangi temel hakla ilgili olduğunu belirler.
İstek ve cevap
İstek ve cevapta, API üzerinden sunulan bir karar modeli olan Jev’in JSON alan adları kullanılmaktadır (state, questions, type, instructions, criteria). Bu biçimde her sorunun cevap türü ve seçenekleri önceden bellidir (typed decision). Bizim eklediğimiz tek alan “abstain”dir.
{
"model": "ufakzeka-karar",
"state": "Faturam iki kez kesildi, iade istiyorum.",
"questions": {
"konu": {
"type": "choice",
"instructions": "Mesajın konusu nedir?",
"criteria": {
"fatura": null,
"kargo": null,
"iade": null
}
},
"temsilci": {
"type": "noul",
"instructions": "Bu mesaj bir müşteri temsilcisine yönlendirilmeli mi?"
},
"ofke": {
"type": "score",
"instructions": "Müşteri ne kadar öfkeli?",
"criteria": [
"Sakin",
"Rahatsız",
"Öfkeli"
]
}
}
}Yayımlanan modelin bu isteğe verdiği cevap olduğu gibi gösterilmiştir; sayılar üç ondalık basamağa yuvarlanmıştır. Metin hem faturadan hem iadeden söz ettiği için model konu sorusunda iki seçenek arasında kalır; güveni yüzde 50’nin altında olduğu için de “emin değilim” der.
{
"model": "ufakzeka-karar",
"answers": {
"konu": {
"type": "choice",
"choice": "iade",
"probabilities": {
"fatura": 0.459,
"kargo": 0.07,
"iade": 0.471
},
"confidence": 0.42,
"abstain": 0.58
},
"temsilci": {
"type": "noul",
"noul": 0.126,
"abstain": 0.145
},
"ofke": {
"type": "score",
"score": 0.915,
"legend": {
"0": "Sakin",
"1": "Rahatsız",
"2": "Öfkeli"
},
"probabilities": {
"0": 0.404,
"1": 0.278,
"2": 0.319
},
"confidence": 0.369,
"abstain": 0.631
}
}
}# hf download ufakai/ufakzeka-karar karar.py requirements.txt --local-dir .
# pip install -r requirements.txt
from karar import Karar
karar = Karar.from_pretrained("ufakai/ufakzeka-karar")
karar.decide(
"Faturam iki kez kesildi, iade istiyorum.",
{"konu": {"type": "choice", "instructions": "Mesajın konusu nedir?",
"criteria": {"fatura": None, "kargo": None, "iade": None}}},
)probabilities- her seçeneğin olasılığı; toplamları 1’dir ve olasılıkları kalibre etmek için modelle birlikte yayımlanan sıcaklık değeriyle (temperature scaling) ölçeklenmiştir
confidence- 1 eksi abstain değeri; yalnızca seçim ve derecelendirme cevaplarında bulunur
abstain- modelin bu soruda yanılma olasılığının tahmini
score- beklenen düzey; düzeyler 0’dan başlayarak sayılır
noul- “evet”in olasılığı
HakemBench’teki sonuçlar
- 0,660bileşik puan, [0,642; 0,677]
- 7 / 16liderlik tablosundaki sıra
- 0,705karar kalitesi (makro F1), [0,688; 0,718]
- 0,482kalibrasyon ekseni (yüksek olması iyidir), [0,456; 0,507]
Köşeli parantez içindeki değerler, metinlerin yeniden örneklenmesiyle (bootstrap) hesaplanan yüzde 95 güven aralıklarıdır.
HakemBench’in açık kümesindeki 4.275 soruda ufakzeka-karar, 0,660 [0,642; 0,677] bileşik puanla liderlik tablosunun 16 satırı arasında 7. sıradadır. Gemini 3.8 Flash, GPT-5.6 Sol, GLM 5.3, Jev 1.13, Kev 4B ve Kev 9B bu modelin üstündedir. Bunlardan üçü API üzerinden erişilen büyük dil modelleridir, Jev 1.13 ise API üzerinden sunulan bir karar modelidir. Kev 4B ve Kev 9B de milyarlarca parametrelik açık ağırlıklı karar modelleridir. Tabloda adıyla yer alan bazı API modelleri, benchmark verisinin bir bölümünü yazan ya da etiketleyen modellerle aynı ailedendir (HakemBench sayfası).
Modelin güçlü yanları başka yerdedir. Ağırlıkları açıktır (Apache-2.0) ve 182.494.466 parametreyle sıradan bir işlemcide çalışır; tek iş parçacığında soru başına medyan süresi 102,5 ms’dir. Seçeneklerin sırası cevabı değiştiremez (sıra duyarlılığı 0,000). HakemBench’in dayanıklılık değeri, seçenek sırasına karşı tutarlılık ile yeniden ifade uyumunun ortalamasıdır; bu iki bileşenden ilki modelde yapısı gereği 1,0’dır. Dayanıklılık değeri modelde 0,941, Jev 1.13’te 0,943’tür. Gerçekten ölçülen bileşen olan yeniden ifade uyumunda model 0,883 [0,833; 0,932], Jev 1.13 ise 0,926 [0,889; 0,963] almaktadır; güven aralıkları örtüşmektedir.
84 destek sorusundan oluşan ve elle cevaplanan küçük bir kümede modelin doğruluğu 0,476 [0,369; 0,583] düzeyindedir; metnin anlamına değil, yalnızca uzunluk, bir rakam ya da soru işareti gibi yüzeysel özelliklere bakan basit bir yüzeysel ipucu modeli ise burada 0,619 [0,512; 0,714] almaktadır. Bu sayfadaki insan cevaplarının hepsi tek bir kişiye aittir; tek bir etiketleyici de hata yapabilir, bu yüzden bu cevaplara dayanan sayılar yol gösterici niteliktedir.
| Kategori | Soru | Doğruluk | Makro F1 | Brier skoru | Kalibrasyon hatası |
|---|---|---|---|---|---|
| Doğruluk kontrolü önceliklendirmesi | 602 | 0,640 [0,602; 0,681] | 0,437 [0,390; 0,481] | 0,499 [0,460; 0,538] | 0,037 [0,033; 0,066] |
| Eğitim | 640 | 0,787 [0,756; 0,817] | 0,802 [0,773; 0,826] | 0,278 [0,249; 0,308] | 0,025 [0,025; 0,047] |
| Güvenlik bariyeri* | 418 | 0,770 [0,730; 0,811] | 0,764 [0,722; 0,805] | 0,367 [0,305; 0,433] | 0,158 [0,119; 0,200] |
| Hukuki yönlendirme | 308 | 0,782 [0,737; 0,825] | 0,754 [0,690; 0,797] | 0,291 [0,238; 0,350] | 0,056 [0,036; 0,097] |
| İçerik denetimi* | 353 | 0,952 [0,929; 0,975] | 0,951 [0,927; 0,973] | 0,099 [0,077; 0,123] | 0,084 [0,063; 0,105] |
| Spam ve oltalama | 614 | 0,806 [0,774; 0,839] | 0,746 [0,708; 0,779] | 0,271 [0,237; 0,307] | 0,035 [0,029; 0,060] |
| Müşteri desteği* | 1.340 | 0,569 [0,534; 0,605] | 0,479 [0,446; 0,511] | 0,526 [0,497; 0,554] | 0,069 [0,048; 0,095] |
Değerler açık kümede, modelin verdiği olasılıklarla hesaplanmıştır. Köşeli parantez içindeki değerler yüzde 95’lik bootstrap güven aralıklarıdır. Kalibrasyon hatası sütunu, düzgünleştirilmiş beklenen kalibrasyon hatasını (smooth ECE) göstermektedir; bu değer, modelin belirttiği güven ile gerçekte ne sıklıkla haklı çıktığı arasındaki farkı ölçer ve düşük olması iyidir. Yıldızlı üç satır (güvenlik bariyeri, içerik denetimi ve müşteri desteği) için aşağıdaki not geçerlidir.
Hukuki yönlendirmedeki 181 mahkeme metni ile güvenlik bariyerinde kaynak veri kümelerinden gelen 28 metin, bu veri kümelerinin test bölümlerinden alınmıştır. Aynı veri kümelerinin eğitim bölümleri (mahkeme metinlerinde 3.000 satır; güvenlik bariyerinde, bu 28 metnin geldiği iki veri kümesini de içeren üç prompt injection veri kümesinden 1.791 satır; yakın kopyalar çıkarılmıştır) ufakzeka-karar’ın eğitim verisinde yer almaktadır. Yani ufakzeka-karar, bu soruların geldiği kaynaklardan etiketli örneklerle eğitilmiştir; diğer modeller ise bu sorulara hiç örnek görmeden (sıfır atışlı) cevap vermiştir. Hukuki yönlendirme puanı ve güvenlik bariyeri sayıları bu durum göz önünde tutularak okunmalıdır.
Model güvenlik bariyerinde 217 prompt injection saldırısının 194’ünü yakalamış, 201 zararsız mesajın 128’ini geçirmiştir. İçerik denetiminde 157 saldırgan mesajın 150’sini işaretlemiş, 196 temiz mesajın 186’sını geçirmiştir.*
* Modelin sayıları test sonuçlarından bağımsız değildir. Önceki eğitimlerden çıkan modellerin test sonuçları eğitim verisini şekillendirdiği için güvenlik bariyeri, içerik denetimi ve müşteri desteği sayıları “test sonuçları görülerek şekillendi” olarak işaretlenmiştir. Bu sayılar tabloda ve yukarıdaki paragrafta yıldızla gösterilmekte, sayfanın başka bölümlerinde geçtiklerinde de ayrıca belirtilmektedir. Bunun nasıl olduğu aşağıda, “Bu noktaya nasıl gelindi” bölümünde anlatılmaktadır. Bütün modeller yalnızca diğer dört kategoride puanlandığında bileşik puanı 0,678’dir ve 16 satır arasında 6. sıradadır.
Zayıf yanları
- Müşteri desteği sorularında zayıftır. Bu kategoride doğruluğu seçim sorularında 0,490, derecelendirme sorularında 0,481 düzeyindedir. Bu sayılar için de yukarıdaki yıldızlı not geçerlidir. Elle cevaplanmış küçük bir kümede basit bir yüzeysel ipucu modelinin gerisinde kalmaktadır (0,476’ya karşı 0,619). Yüzeysel ipucu modeli açık kümedeki destek sorularında da öndedir; seçim sorularında 0,516, derecelendirme sorularında 0,507 almaktadır (yüzeysel ipucu modeli bu soruların bir kısmıyla eğitildiği için bu değerler kısmen kendi eğitim verisi üzerinde ölçülmüştür). Destek yönlendirmesini bu modele tek başına bırakmayın.
- Bir iddianın doğruluk kontrolünün ne kadar öncelikli olduğunu derecelendirmekte zayıftır; bu sorularda doğruluğu 0,500, makro F1 değeri ise 0,268 düzeyindedir.
- Güvenlik bariyerinde çok sayıda yanlış alarm verir; 201 zararsız mesajın 73’ünü işaretlemiş, 128’ini geçirmiştir. Bu sayılar için de yukarıdaki yıldızlı not geçerlidir.
- İçerik denetimindeki sonucu olduğundan yüksek görünebilir. Eğitim için yazdırılan içerik denetimi yorumları, üslup bakımından benchmark için yazdırılmış metinlere benzemektedir; açık kümedeki içerik denetimi metinlerinin tamamı da bu metinlerden oluşmaktadır.
- Dünya bilgisi zayıftır. Bilgi sınavı MMLU-Pro-TR’de doğruluğu 0,098 [0,092; 0,103] düzeyindedir ve 0,111 olan şans düzeyinin biraz altında kalmaktadır. Model, metinde yazılı olmayan bilgileri bilmediği için cevabı metinde değil genel bilgide olan sorularda yanılabilir.
- Yayımlanan sıcaklık değeri, dışarıda tutulan destek sorularında kalibrasyon hatasını 0,036’dan 0,064’e çıkarmaktadır; yayımlanan model bu sorularla sonradan eğitilmiştir. HakemBench’te model bir miktar aşırı emindir; olasılıklarını düzeltmek için sonradan belirlenen sıcaklık değeri 1’in üstündedir (1,1733). Güvenlik bariyerinde güveni 0,99 ya da üstünde olan cevapların yüzde 12’si yanlıştır (yukarıdaki yıldızlı not bu sayı için de geçerlidir). Eğitim sırasında hiç görmediği türde bir soruda güven değerini daha temkinli okuyun.
- İnsan cevaplarının hepsi tek bir kişiye aittir; etiketleyiciler arası uyum ölçülememiştir. Altın standart etiketlerin (benchmark’ın doğru kabul ettiği cevaplar) çoğu tek bir yapay zekâ modeli ailesinin etiketleme turlarından gelmektedir.
- Açıklama yazmaz; yalnızca olasılık verir ve bir cevabı neden seçtiğini söylemez.
Bu noktaya nasıl gelindi
Yayımlanan model, HakemBench’te puanlanan üç eğitimin sonuncusudur ve sayıları test sonuçlarından bağımsız değildir. İkinci eğitime eklenen veri, ilk eğitimden çıkan modelin test kümesinin tamamında güvenlik bariyeri, içerik denetimi ve müşteri desteğinde yaptığı hataları hedeflemiştir. İkinci eğitimden çıkan modelin test kümesinin tamamındaki güvenlik bariyeri sonuçları ise bu modelin 217 saldırının yalnızca 106’sını yakaladığını göstermiştir. Bunun nedeni büyük olasılıkla, eğitimdeki güvenlik bariyeri metinlerinden gerçek bir kullanıcı mesajı gibi yazılmış olanların hepsinin zararsız olması ve modelin üslubu bir kısayol olarak kullanmasıdır. Yayımlanan model bu sonuçlar görüldükten sonra, verisi ve kodu hazırlanmadan ve eğitimine başlanmadan önce yazılı olarak sabitlenen bir protokole göre eğitilmiştir. Bu kısayolu düzeltmek için eğitim verisine, metinlerini bir modelin sohbet diliyle yazdığı, açık lisanslı bir prompt injection veri kümesi eklenmiş ve model, önceden yazılı olarak belirlenen bir kurala göre altı aday arasından seçilmiştir. Seçim kuralı ve sonucu kodla birlikte yayımlanmaktadır. Modelin bu sayfadaki bütün sayıları bu incelemelerden sonra elde edilmiştir. Sürecin tamamı araştırma yazısında anlatılmaktadır.
Başka Türkçe test kümelerinde
| Küme | Soru | Şans düzeyi | Doğruluk | Makro F1 |
|---|---|---|---|---|
| MASSIVE 1.1, tr-TR niyetleri | 2.937 | 0,017 | 0,745 | 0,691 |
| MiDe22, Türkçe tweetler | 1.012 | 0,333 | 0,741 | 0,727 |
| MMLU-Pro-TR | 11.838 | 0,111 | 0,098 | |
| OffensEval-TR 2020, A alt görevi | 3.528 | 0,500 | 0,844 | 0,755 |
| XCOPA, Türkçe | 500 | 0,500 | 0,584 | |
| X-FACT, Türkçe test iddiaları | 169 | 0,250 | 0,343 | 0,207 |
Bu kümelerdeki her soru, cevap türü ve seçenekleri önceden belirlenerek, istekte hiç örnek verilmeden sorulmuştur; her eğitimden çıkan model kendi sıcaklık değeriyle puanlanmış, tabloda yayımlanan modelin sonuçları verilmiştir. OffensEval-TR, MASSIVE ve MiDe22’nin eğitim bölümleri eğitim verisinde yer aldığı için bu üç kümedeki sonuçlar sıfır atışlı aktarımı değil, denetimli öğrenmeyi göstermektedir. HakemBench’te puanlanan ilk eğitimden çıkan modele göre MMLU-Pro-TR, OffensEval-TR, MASSIVE ve MiDe22’de küçük düşüşler, XCOPA ve X-FACT’te küçük artışlar vardır. MMLU-Pro-TR bir bilgi sınavıdır; sonucu yukarıda, zayıf yanlar arasında verilmiştir.
İşlemcide çalışır
- Apple M1 işlemcili bir bilgisayarda tek iş parçacığıyla, 13 örnek soru üzerinde yapılan ölçümde soru başına medyan süre 102,5 ms, en yüksek bellek kullanımı (RSS) ise 986.038.272 bayt olmuştur. Bu, genel bir hız testi değil, tek bir makinedeki ölçümdür.
- HakemBench ölçümünde, bir Mac’in işlemcisinde, soru başına medyan süre 103,6 [102,4; 106,8] ms olmuştur. Hız bileşik puana katılmamaktadır ve kullanılan donanım modelden modele değişmektedir; open-jev ve kısa girdi uzunluğundaki Laya satırları da bir Mac’in işlemcisinde, Kev, Qwen3.5-4B ve decider-2b bir NVIDIA L4 GPU’da, 2048 token girdi uzunluğundaki Laya satırları bir GPU’da, API modelleri ise ağ üzerinden ölçülmüştür.
- Model fp32 formatında yayımlanmaktadır (float32). Modelin int8 dosyası yayımlanmamaktadır, çünkü daha önceki bir kontrol noktasında denenen int8 dosyaları makro F1’de fp32’nin 0,5 puandan (0,005) fazla gerisinde kalmıştır. Kalibrasyon hatasındaki fark ise en fazla 0,11 puan (0,0011) olmuştur. Yayımlanan modelin int8 sürümü ölçülmemiştir.
Kalibrasyon ne değiştirdi
| Sıcaklık | İlk eğitimde dışarıda tutulan destek soruları, sıcaklık uygulanmadan | İlk eğitimde dışarıda tutulan destek soruları, sıcaklık uygulandıktan sonra | Geliştirme kümesi, sıcaklık uygulanmadan | Geliştirme kümesi, sıcaklık uygulandıktan sonra |
|---|---|---|---|---|
| 1,2614 | 0,036 | 0,064 | 0,050 | 0,038 |
Sıcaklık dışındaki değerler kalibrasyon hatasıdır. Sıcaklıkla ölçekleme, ilk eğitimde dışarıda tutulan destek sorularında kalibrasyon hatasını artırmakta, geliştirme kümesinde ise azaltmaktadır. Geliştirme kümesi, HakemBench’in biçiminde hazırlanmış ve test kümesinden ayrı tutulan destek sorularından oluşmaktadır. Dışarıda tutulan küme dört destek sorusundan (HakemBench’in her destek metnine sorduğu dört soru) oluşmaktadır ve yayımlanan model bu sorularla da eğitilmiştir; bu yüzden dışarıda tutulan kümedeki sonuç, modelin hiç görmediği sorulardaki davranışını göstermemektedir. HakemBench’te puanlanan ilk eğitimden çıkan ve bu sorularla hiç eğitilmemiş modelde, o modelin kendi sıcaklık değeriyle kalibrasyon hatası 0,027’den 0,045’e çıkmıştır. Sıcaklık ayrı bir veri bölümünde, dışarıda tutulan kümenin sonucu görülmeden önce sabitlenen bir ölçüte göre seçildiği için T = 1,2614 değiştirilmeden yayımlanmaktadır; T = 1 kullanılsaydı dışarıda tutulan kümedeki kalibrasyon hatası 0,036 olacaktı.
Dosyalar ve kod
- Demokarar.ufakzeka.com
- Hugging Faceufakai/ufakzeka-karar
- GitHubufakai/ufakzeka-karar
- Araştırma yazısıYöntem, ölçümler ve sınırlar
- BenchmarkHakemBench