Rozhodovací modely
EmailRator · rešerše

Rozhodovací modely

Stav k 11. 10. 2026Čísla přečtená přímo u zdrojůPřesnosti uvádějí většinou sami autoři

EmailRator dnes pozná, jestli je vlákno tisková poptávka, pomocí modelu Jev od TypeSafe přes OpenRouter. Takový rozhodovací model nepíše text: dostane e-mail a otázky (ano/ne, výběr z možností, stupnice) a vrátí pravděpodobnost každé odpovědi. Na Ollamě je dnes ke stažení pět modelů stejného typu, které poběží i na vlastním počítači. Stránka shrnuje, jak jsou velké, jak přesné a jestli je jde dotrénovat na našich e-mailech. Záložky Náš projekt, Příprava dat a Plán čištění popisují náš vlastní pokus a doplňují se průběžně.

Shrnutí

Co z toho plyne

  1. Jev zatím zůstává. Náš vlastní pokus: malý model Qwen3.5-0.8B dotrénovaný na 287 hodnocených vláknech dosáhl na 273 společných vláknech AUC 0,948 proti 0,975 u Jevu a ve 19 jistých odpovědech se spletl; Jev v žádné [21].

  2. Přesnost se dá postavit rozdělením otázky. Ve veřejném opakovatelném testu na 2 000 phishingových e-mailech měl Jev s jednou otázkou 62,6 %. Když se otázka rozdělila na pět úzkých a jejich váhy se naučily na 1 000 označených e-mailech, dosáhl 95,0 %. Claude Haiku 4.5 měl stejným postupem 93,2 % a dvouřádkový regulární výraz 91,8 % [17].

  3. Na vlastní grafické kartě 12 GB jde dotrénovat jen malé modely: Qwen3.5 do velikosti 2B (náš trénink 2B potřeboval 11 GB) nebo laya. Modely 9B a větší jde na takové kartě nanejvýš spouštět [15] [16] [21].

  4. Hotový model na české tiskové poptávky jsme nenašli. E-mailové modely v oddílu níže řeší spam, phishing nebo obecné třídění; češtinu žádný z nich neuvádí a laya umí jen anglicky.

  5. Další krok je vyčistit vstup, ne zvětšit model. Při tréninku model vidí jen prvních 4 096 tokenů vlákna, při vyhodnocení až 16 384. Polovinu vstupu tvoří citované kopie starších zpráv a chyby se kupí právě v konverzacích s citací. Postup je v záložce Plán čištění [22] [23].

  6. Pro češtinu je nejslibnější vyzkoušet malý vícejazyčný enkodér mmBERT. Unsloth ho umí dotrénovat stejným postupem, pojme až 8 192 tokenů a na procesoru je výrazně levnější než Qwen. České výsledky zatím nikdo nezměřil, proto až po čištění a na stejných datech (záložka Model pro češtinu) [24].

Přehled

Které modely existují

Filtr Ollamy „Decision“ ukazuje pět modelů [1]. Všechny kromě layi vznikly dotrénováním jazykových modelů Qwen. Velikost souboru je místo na disku pro danou přesnost vah (4bit, 8bit, plná).

ModelAutor a základParametrůSouborDélka vstupuLicenceDotrénovat
tev1 4BTogether AI, Qwen3.5-4B [2]4 mld.2,7 GB (4bit), 4,5 GB (8bit), 8,4 GB (plná) [3]asi 2 000 tokenůskripty a data MIT, váhy neuvedenoano, otevřené skripty i data [4]
tev1 0.8BTogether AI, Qwen3.5-0.8B [2]0,8 mld.812 MB (8bit), 1,5 GB (plná) [3]asi 2 000 tokenůjako 4Bano [4]
nimbleBespoke Labs, Qwen3.5-9B [5]9 mld.5,6 GB (4bit), 9,5 GB (8bit), 18 GB (plná) [6]8 192 tokenůApache 2.0je to doplněk k Qwenu (asi 165 MiB), návod nemá [7]
clef-flashCloudflare, Qwen3.5-9B [10]9 mld.11 GB (8bit) [11]64K tokenůApache 2.0podle Unsloth ano [15]
clefCloudflare, Qwen3.8-27B [8]27 mld.18 GB (4bit), 30 GB (8bit) [9]64K tokenůApache 2.0podle Unsloth ano [15]
layaConvai Innovations, ModernBERT-large [1]421 mil.846 MB [13]512 tokenů na otázku, jen angličtina [12]Apache 2.0ano, sešit pro Kaggle zdarma [14]
laya-multilingualConvai Innovations, mmBERT-base [12]322 mil.678 MB, na Ollamě jen pro Mac (MLX) [13]1 024 tokenů, s nastavením až 8 192 [14]Apache 2.0 [14]ano [14]
Jev 1.13TypeSafe, přes OpenRouter (dnes v EmailRatoru)neuvedenojen přes APIneuvedenoplacená služba—
Na jakých datech se modely učily
  • tev1 4B: 37 840 příkladů převedených do tvaru „text, otázka, možnosti“: MultiNLI 5 000, BoolQ 3 000, Banking77 3 000, AG News 1 500, SST-5 2 000, uměle vytvořená pravidla 13 500, směrování podle priorit 6 000 a taxonomie výzkumu [2]. Recept: LoRA s hodností 8 na službě Together [4].
  • nimble: kontrastní páry. Dva příklady se liší jedním faktem a ten otočí správnou odpověď [5].
  • laya: skutečná data označená lidmi, mezi nimi třídění e-mailů (spam, phishing a směrování na oddělení); umělá data podle autorů nepoužili [12].
  • Unsloth (návod na vlastní rozhodovací model): směs 12 veřejných sad a sady typed-decisions, LoRA s hodností 64, jedna epocha [15].
  • Jev: data nezveřejnili. Na čtyřech interních sadách, kde správné odpovědi určily velké jazykové modely, dosáhl 67 % [18].
Přesnost

Jak přesně rozhodují

Každý graf je jiný test, čísla mezi grafy nejde porovnávat. Délka pruhu je přesnost v procentech (u clefu F1 nebo přesnost podle testu).

Jev (dnes v EmailRatoru) otevřený model jiný postup pro srovnání

13 veřejných sad, 3 880 rozhodnutí

Sady s lidskými štítky od Bespoke Labs, měřeno na Ollamě [2].

Jev 1.13TypeSafe
76,0 %
nimble 9BBespoke Labs
75,7 %
tev1 4BTogether AI
73,3 %
tev1 0.8BTogether AI
63,5 %

Phishing, 2 000 e-mailů (opakovatelný test)

Jedna otázka proti pěti úzkým otázkám s vahami naučenými na 1 000 e-mailech [17].

Jev, 5 otázekTypeSafe
95,0 %
Haiku 4.5, 5 otázekAnthropic
93,2 %
Regulární výrazdva řádky
91,8 %
Haiku 4.5, 1 otázkaAnthropic
81,3 %
Jev, 1 otázkaTypeSafe
62,6 %

Phishing PhishNChips (údaj Cloudflare)

Tabulka na stránce modelu clef [8].

clef27B
79,6 %
clef-flash9B
75,0 %
JevTypeSafe
62,5 %

Naše poptávky, 273 vláken (náš pokus)

AUC × 100: jak dobře model řadí poptávky před ostatní vlákna [21].

JevTypeSafe
97,5
Qwen3.5-0.8Bdotrénovaný u nás
94,8
Další čísla od autorů modelů
  • laya: třídění e-mailů a phishing 73,2 %, průměr úloh, na kterých se učila, 83,8 %, úplně nové úlohy 65,1 % [12]. Po dotrénování na typed-decisions 0,766 proti 0,362 bez něj [14].
  • nimble na vlastní odložené sadě Bespoke Labs: 90,12 % (Jev 93,21 %) [5].
  • clef / clef-flash / Jev: BANKING77 (F1) 94,2 / 90,9 / 79,7; CLINC150 (F1) 97,4 / 66,8 / 89,3; medián odezvy 209,3 / 38,8 / 524,1 ms [8].
  • tev1 4B na vlastní vývojové sadě: 88,0 % (880 z 1 000); autoři upozorňují, že to není nezávislý test [2].
  • Kalibrace Jevu: v jiném testu na 900 uměle vytvořených tiketech chyba kalibrace (ECE) 0,107. Autor doporučuje kalibrovat každou otázku zvlášť a ke každému výběru přidat možnost „nic z toho“ [17].
Trénink

Co se dá dotrénovat na vlastní kartě

Paměť grafické karty potřebná k dotrénování (LoRA). Naše karta je RTX 5070 s 12 GB [21]. Přesnost je z návodu Unsloth na testu 3 000 otázek (2 000 z typed-decisions, 500 z BANKING77, 500 z CLINC150) [15].

ModelPaměť: návod UnslothPaměť: obecná tabulka UnslothČas a přesnost (Unsloth)Náš tréninkKarta 12 GB
laya2,5 GB—10 min, 77 %—ano
Qwen3.5-0.8B (základ tev1 0.8B)4 GB3 GB42 min, 78 %špička 7,191 GBano
Qwen3.5-2B8 GB5 GB40 min, 81 %11 GBano, těsně
Llama 3.2 3B4,1 GB—30 min, 79 %—ano
Qwen3.5-4B (základ tev1 4B)neuvedeno10 GB76 % za 10 min (krátký běh na L4)—na hraně
Gemma 4 E4B14,4 GB—49 min, 77 %—ne
Qwen3.5-9B (základ nimble a clef-flash)—22 GB——ne
Qwen3.5-27B (clef stojí na Qwen3.8-27B)—56 GB——ne

Obecná tabulka Unsloth platí pro LoRA v plné přesnosti; 4bitový trénink modelů Qwen3.5 Unsloth nedoporučuje [16]. Jeho návod na rozhodovací modely přesto načítá model 4bitově [15]. Náš trénink: vstup do 4 096 tokenů, při vyhodnocení se 2B do 12 GB nevešel u dlouhých vláken.

Hotové modely

Modely trénované na e-mailech

  • laya je dotrénovaná mimo jiné na třídění e-mailů (spam, phishing, oddělení), jen anglicky [12].
  • email-safety-triage (Qwen3.5-2B): vrací JSON s tříděním, prioritou a rizikem. Učil se na 8 000 e-mailech ze sady email-safety-triage-10k; na testu stoupl průměr z 0,537 na 0,862 a podíl úspěšných odpovědí z 61,5 % na 89,0 %. Licence „other“ [19].
  • email-triage-lora (Llama 3.2 3B): volí mezi předáním člověku, automatickou odpovědí a doplňujícím dotazem. Na 21 e-mailech 71,4 %, jednoduchá pravidla 76,2 % [20].
Co ověřené není

Co zatím nevíme

  • Nezávislé srovnání všech těchto modelů na stejných datech neexistuje; většinu přesností měřili autoři modelů.
  • Jestli laya-multilingual rozumí češtině. Autoři uvádějí přes 100 jazyků, seznam jsme nečetli.
  • Pod jakou licencí jsou váhy tev1. Stránka modelu uvádí licenci jen u skriptů a dat.
  • Kolik paměti potřebuje spuštění modelu s dlouhým e-mailem. Uvádíme jen velikost souboru; dlouhý vstup chce paměti víc.
  • Ohlasy uživatelů: diskuse se skutečnými zkušenostmi jsme nenašli, jen články a stránky autorů.
Náš projekt

Jak postupuje vlastní model

Cíl je lokální model, který odpoví na otázku „je vlákno tisková poptávka?“ místo Jevu nebo jako jeho druhý hlas. O peníze nejde: Jev stál 0,054 $ za 770 vláken. Jde o nezávislost na OpenRouteru, o to, aby text e-mailů neodcházel z našich počítačů, a o model, který se dá doučovat [21].

  1. S0

    hotovo

    Sonda proveditelnosti. Dotrénovaný model jde provozovat i na procesoru bez Unsloth (llama.cpp). Domácí server zpracuje vlákno o 9 300 tokenech za 352 s, takže délka vstupu je i provozní otázka [21].

  2. S1

    hotovo

    Data a srovnávací laťky. 136 lidsky označených vláken, pět skupin podle odesílatele a časový běh: trénink na starších 80 %, test na nejnovějších 20 %. Testovací vlákna do tréninku nepatří [21].

  3. S2

    brána neprošla

    První trénink Qwen3.5-0.8B a 2B na kartě 12 GB. Model 2B dosáhl AUC 0,950, Jev 0,989. Jev zůstal [21].

  4. S2c

    hotovo

    Delší okno 8 192 tokenů se do 12 GB nevejde (přetéká do sdílené paměti) a 31 ze 102 vláken by zůstalo uříznutých [21].

  5. S3a

    brána prošla

    Velký model glm jako druhý učitel (Ollama cloud): na 136 vláknech AUC 0,997 a žádná jistá chyba [21].

  6. S3b–d

    hotovo

    Víc štítků. glm a Jev navrhly štítky, sporná a kontrolní vlákna rozhodl člověk: 162 vláken [21].

  7. S3e

    brána neprošla

    Přeměření s víc štítky. Na 273 společných vláknech AUC 0,948 proti 0,975 u Jevu a 19 jistých chyb. Víc štítků model zlepšilo jen nepatrně a udělalo ho přesvědčenějším [21].

  8. Č

    teď

    Čištění trénovacích dat podle průzkumu, viz záložky Příprava dat a Plán čištění [22] [23].

Změřeno na našich datech

Co model dnes dostává

Měřeno na 340 trénovacích vláknech S3e: podíly v tokenech tokenizéru Qwen3.5, zkrácení a ořez ve znacích, chyby modelu na 287 hodnocených vláknech [22].

  • Polovina vstupu je historie. Citované řádky (začínající znakem „>“) tvoří 49,3 % tokenů, zástupné symboly masky 17,0 %.
  • Trénink a vyhodnocení vidí jiný text. Unsloth při tréninku řeže vstup na 4 096 tokenů a konec zahodí bez značky; predikce čte až 16 384 tokenů [25] [26]. Týká se to 17 % vláken.
  • Dnešní čištění nestačí. Nahrazení citovaných kopií značkou zkrátí sadu jen o 11,4 % a z 63 uříznutých vláken zachrání 6.
  • Celou historii smazat nejde. U 20 poptávek je text poptávky jen v citaci.
  • Chyby se kupí v konverzacích s citací. U negativních vláken s historií nad 50 % se model spletl ve 12 z 80 případů, bez historie v 1 ze 131. Je to souvislost, ne dokázaná příčina.
Z literatury

Jak připravit data

Studie jsou většinou na angličtině a na větších sadách. Co z nich platí pro nás, ověří jen pokus na stejných datech [22].

Čištění e-mailů

  • Odstranit citace a podpisy: v klasifikaci žádostí v e-mailech stoupla přesnost ze 72,28 % na 83,76 % (Lampert 2010, klasické strojové učení). U malých jazykových modelů takové srovnání nikdo nezveřejnil.
  • Řezat po celých zprávách, ne uprostřed věty. U BERT vyhrálo spojení začátku a konce textu (prvních 128 a posledních 382 tokenů).
  • Hotové knihovny češtinu neznají. Pro české citační hlavičky zbývají vlastní pravidla.
  • Stejná funkce při tréninku i v provozu pro čištění, řez i masku. Jinak model v provozu dostane jiný vstup, než na jakém se učil.

Štítky a skladba sady

  • Podezřelé štítky přezkoumat, ne mazat: u kandidátů z confident learning potvrdili lidé chybu jen u 51–54 %.
  • Ponechat přirozený poměr tříd. Převažování menšinové třídy AUC nezlepší a pokazí kalibraci.
  • Strojové štítky jen ze shody dvou učitelů. Víc štítků od jednoho učitele u nás model jen zpřesvědčilo.
  • Téměř stejná vlákna (šablony, newslettery) držet ve stejné skupině, jinak test vychází lépe, než je skutečnost.
Plán Č · doplňuje se průběžně

Plán čištění dat

Varianty dat se porovnávají na stejných pěti skupinách a časovém běhu, se stejnými opravenými štítky. Jev zůstává měřítkem na stejných vláknech [23].

  1. 0

    hotovo

    Změřit rozdíl okna bez tréninku. Na dlouhých vláknech dá predikce na stejných 4 096 tokenech jako trénink AUC 0,910 místo 0,861 a 2 jisté chyby místo 4. Rozdíl okna tedy škodí.

  2. 1–3

    zrušeno

    Přezkum štítků naslepo. Jisté chyby našeho modelu, Jevu i glm a stejný počet jistě správných vláken, zamíchaně a bez skóre. Zrušeno 12. 10., protože skoro všechna posuzovaná vlákna byla ze soukromé pošty.

  3. 2b

    teď

    Data jen z vláken Prelude. Vlákna od Prelude nebo pro Prelude a všechna vlákna od kolegy, celkem 204. Člověk označí naslepo 181 vláken, která štítek ještě nemají. Pak z nich vznikne nová sada se skupinami podle odesílatele a nová laťka.

  4. 4–6

    čeká

    Jedna funkce délky. Řez po celých zprávách (první zpráva a nejnovější zprávy) na rozpočet v tokenech Qwen, stejně pro trénink i predikci.

  5. 5

    čeká

    Deduplikace citací. Opakovaný řádek zůstane jen při prvním výskytu ve vlákně, takže poptávka, která je jen v citaci, se neztratí.

  6. 7

    čeká

    Čtyři varianty textu: cv0 dnešní vstup, cv1 s řezem po zprávách, cv2 navíc s deduplikací citací, cv3 navíc se sloučenými podpisovými bloky masky.

  7. 9

    čeká

    Trénink na HAL3000: 4 varianty po 6 bězích, výchozí a nejlepší varianta se třemi semeny.

  8. 10

    čeká

    Vyhodnocení. Brána beze změny: AUC aspoň 0,955 a žádná jistá chyba. Varianta se přijme, jen když se zlepší aspoň ve 4 z 5 skupin.

  9. 11

    podle výsledků

    Další páky: téměř stejná vlákna do jedné skupiny, cílené štítkování konverzací s citací, jiný model (záložka Model pro češtinu).

Průběh

  • 11. 10. 2026: plán napsán podle průzkumu, nic zatím neprovedeno.
  • 11. 10. 2026: uživatel plán schválil včetně srovnání s Jevem na stejných vláknech a štítcích (ne na stejném textu). Další krok: kostra skriptu a změření rozdílu okna bez tréninku.
  • 11. 10. 2026: rozdíl okna změřen na stávajících predikcích S3e (287 vláken, z toho 60 dlouhých). Predikce na 16 384 tokenech: AUC 0,927, na dlouhých 0,861. Predikce na 4 096 jako při tréninku: AUC 0,935, na dlouhých 0,910. Jde o jeden běh a horní odhad, ale směr podporuje řez po zprávách stejný pro trénink i predikci.
  • 11. 10. 2026: revize plánu proti průzkumu. Přezkum štítků je teď symetrický: posoudí se jisté chyby našeho modelu, Jevu i glm. Kdyby se opravovaly jen chyby našeho modelu, štítky by se posouvaly k němu a srovnání s Jevem by mu nadržovalo. Tři semena u všech variant a cílené štítkování konverzací s citací během tréninku uživatel nevybral. Vítěz se proto vybere z jednoho běhu a těsný výsledek bude potřeba ověřit dalšími semeny.
  • 11. 10. 2026: stránka k přezkumu je připravená. Mezi 287 hodnocenými vlákny má jistou chybu náš model ve 20 vláknech, glm v 5 a Jev v žádném. K 24 podezřelým vláknům přibylo 24 jistě správných, takže se posuzuje 48 vláken naslepo bez skóre i dnešního štítku. Čeká se na označení.
  • 12. 10. 2026: po 12 posudcích změna směru: uživatel si všiml, že většina vláken je z jeho soukromé pošty, která s projektem nesouvisí. Trénovat se bude jen na vláknech Prelude. V databázi EmailRatoru je jich 204 z 1 094, včetně všech 169 vláken od kolegy. Ta jdou do tréninku, i když zatím sloužila jako testovací sada EmailRatoru, a model se ověří křížovou validací. Z dosavadní sady 340 vláken jich do Prelude patří jen 23. Na stránce k označení je 181 vláken.
Doporučení

Který model dotrénovat na české e-maily

Rešerše k 11. 10. 2026. Srovnání modelů na českých e-mailech nikdo nezveřejnil, takže pořadí je náš úsudek z dostupných čísel [24].

  1. Plán čištění dokončit na Qwen3.5-0.8B. Výsledky půjdou porovnat s dosavadními pokusy a model mezi variantami dat se nemění.

  2. Vítěznou variantu dat vyzkoušet s mmBERT-base. Unsloth vedle Qwenu umí dotrénovat i enkodér s rozhodovací hlavou (cesta Laya, jen v 16 bitech) [26]. Vícejazyčná laya na mmBERT-base má 322 mil. parametrů, s nastavením pojme 8 192 tokenů a na procesoru odpoví za 193–464 ms; trénink laya potřebuje podle Unsloth 2,5 GB [15]. mmBERT měl v předtréninku 22,7 mld. tokenů češtiny a ve vícejazyčném testu XNLI 77,1 proti 74,6 u XLM-R. Česká čísla nemá.

  3. Gemma 4 E2B jako druhý kandidát, když mmBERT zaostane: ve vícejazyčném testu MMMLU 67,4 %, licence Apache 2.0. Větší E4B potřebuje k tréninku 14,4 GB a na naši kartu se nevejde; paměť pro E2B je potřeba nejdřív změřit.

  4. Nejdřív změřit, kolik tokenů dá čeština v tokenizéru každého kandidáta na našich vláknech. Na tom závisí, kolik vlákna se vejde do okna a kolik stojí provoz na procesoru.

ModelProProti
mmBERT-base (laya)dlouhý vstup, levný provoz, dotrénování v Unsloth, Apache 2.0bez dotrénování nefunguje, čeština neměřena
Qwen3.5-0.8Bvyzkoušený, export pro llama.cpp ověřenna procesoru pomalý u dlouhých vláken, trénink jen do 4 096 tokenů
Qwen3.5-2Bvejde se na kartuproti 0.8B u nás bez zisku (AUC 0,950 proti 0,949)
Gemma 4 E2Bsilná vícejazyčnost, Apache 2.0paměť pro trénink neověřena, s rozhodovací hlavou u nás nezkoušena
Llama 3.2 3Bv českém srovnání BenCzechMark nad křivkou skóre vůči velikosti, Unsloth trénink 4,1 GBlicence Llama, české e-maily neměřeny
RobeCzech, Czert, FERNETsilné v češtině na krátkých textechvstup jen 512 tokenů, vlákna by se musela dělit

V českém dotrénování na úloze ABSA (2025) měla Gemma 3 4B F1 70,46; malé modely s 1–3 mld. parametrů byly na úrovni dřívějších enkodérů nebo pod ní [24].

Zdroje

Odkud čísla jsou

  1. Ollama: rozhodovací modely
  2. Ollama: tev1
  3. Ollama: tev1, velikosti
  4. GitHub: togethercomputer/tev1
  5. Ollama: nimble
  6. Ollama: nimble, velikosti
  7. Hugging Face: Bespoke-Nimble-9B
  8. Ollama: clef
  9. Ollama: clef, velikosti
  10. Ollama: clef-flash
  11. Ollama: clef-flash, velikosti
  12. Ollama: laya
  13. Ollama: laya, velikosti
  14. Hugging Face: convaiinnovations/laya
  15. Unsloth: vlastní rozhodovací model
  16. Unsloth: dotrénování Qwen3.5
  17. beri.net: Jev 62,6 % s jednou otázkou, 95 % s pěti
  18. The Batch: Models Built to Do One Thing Well
  19. Hugging Face: email-safety-triage-qwen3.5-2b
  20. Hugging Face: email-triage-lora
  21. Náš pokus: plán projektu collabQwen354b, docs/plans/2026-10-10-rozhodovaci-model-design.md (stav S2 a S3e, 10.–11. 10. 2026)
  22. Náš průzkum přípravy dat: collabQwen354b, reports/Čištění vláken pro trénink.md a poznámky v research_notes/ (11. 10. 2026; odkazy na studie jsou tam)
  23. Plán čištění: collabQwen354b, docs/plans/2026-10-11-cisteni-dat.md
  24. Rešerše modelu pro češtinu: collabQwen354b, research_notes/Model pro češtinu/model_pro_cestinu.md (11. 10. 2026; odkazy na zdroje jsou tam)
  25. GitHub: Unsloth, _decision_common.py (délka tréninku a predikce)
  26. GitHub: Unsloth, decision.py (predikce, cesta Laya)