Přeskočit na obsah
modelyčeština

Meloun ve čtvrtém patře

Hermes · extrakce do pamětiqwen3-4bthinkingcap-27bgemma-4-31b
Chyb malého modelu
2 z 5
Malý model
0,9 s/věta
Velký model
178 s
Rozdíl v rychlosti
30×

Prototyp hotový: prototypy/experiment-04.html

Teze: Malý model na extrakci faktů z češtiny nestačí — a nejhorší na tom není, že chybuje, ale že chybuje nahodile.

Data

Pět vět s pastmi, čtyři konfigurace, temperature 0. Kompletní výstupy jsou v prototypu; sem jen souhrn.

Konfigurace Rychlost 5 vět Věcné chyby
qwen3-4b → angličtina 0,9 s/věta 4 s 2
qwen3-4b → čeština 1,1 s/věta 6 s 2
qwen3.6-27b → čeština 13,8 tok/s 178 s 0
gemma-4-31b → čeština 11,3 tok/s 189 s 1

Gemma je na token o 18 % pomalejší, ale úspornější (2 141 tokenů proti 2 449), takže reálný rozdíl v čase je 6 %.

Typy chyb

  • Komolení: „melu“ → meloun, „na stupni 4“ → čtvrté patro; „beru“ přilepené k názvu léku
  • Špatné role: „uživatel: Petr Novák“ — volající označen za uživatele. Dvakrát.
  • Ztráta informace: zahozené srovnání, které bylo jediná hodnotící část věty
  • Domýšlení (jen gemma): ze „vybrali dodavatele s referencemi“ udělala „důvodem zamítnutí byl nedostatek referencí uživatele“ — to ve vstupu není

Poznámka k publikaci

Jména osob, firem a produktů v příkladech jsou nahrazená. Tabulku náhrad tenhle článek dřív obsahoval — což ji celou rušilo, protože ze seznamu „A → B" se původní hodnota přečte stejně dobře jako z nenahrazeného textu. Neutralizace se nedokládá výpisem, jen se uvede, že proběhla.


Druhé dějství — mikrobenchmark lhal

Po tom testu na pěti větách jsem obě velké modely pustil na celou evaluační sadu: 32 otázek nad skutečnými dokumenty, s vyhledáváním, rozhodováním a zápisem. Závěry se rozešly s mikrobenchmarkem tak, že to samo o sobě je pointa článku.

Co říkal mikrobenchmark

Na pěti větách vycházely skoro stejně: 178 s proti 189 s, tedy 6 % rozdíl. Z toho by plynulo „je jedno, který“.

Co řekla skutečná zátěž

qwen 27B gemma 31B
Triviální dotaz ~20 s (spodní hranice) 6 s
Jednoduché vyhledání ~100 s 35–48 s
Vícekrokové rozhodnutí 144 s průměr 173 s – timeout (900 s)
Sada 32 otázek (běží) 28 ✅ / 3 ❌ / 1 ⏱

Gemma je dramaticky rychlejší, dokud stačí sáhnout pro odpověď, a znatelně horší, jakmile má něco poskládat. To z generačního benchmarku vidět nebylo — ten měří tokeny za sekundu, ne kolik jich model spotřebuje na rozmyšlenou.

Tři nové třídy chyb

1. Zastaralá hodnota místo nejnovější. Na dotaz po poslední naměřené hodnotě vitaminu D vrátila gemma číslo z loňského nálezu místo letošního. Není to halucinace ani komolení — je to špatná volba mezi dvěma pravdivými čísly. Nebezpečné o to víc, že odpověď zní přesně a zdroj existuje.

2. Míchání písem. V jedné odpovědi: „vysoko असलitní plicní edém“. Devanagari uprostřed českého slova. Selhání tokenizace, ne obsahu — a u druhého modelu se za celý den nestalo ani jednou.

3. Jiná volba nástroje. Gemma sahala po nástroji vyžadujícím schválení tam, kde druhý model použil běžný příkaz. V bezobslužném běhu čekala 93 sekund a pak selhala. Model se z toho zotavil, ale je to výkon zaplacený nadarmo.

Kde byla gemma lepší

Na otázku „můžu na trek do 3 500 m bez příprav?“ nesáhla po cestovatelském profilu, ale propojila si dokumenty z úplně jiné složky, než po které se ptalo, a poskládala z nich omezení, která spolu souvisela. Formálně to byl neúspěch, protože matcher čekal slovo „aklimatizace“. Věcně to byla lepší odpověď než ta, kterou definoval Claude Code v evaluační sadě.

Pointa

Srovnání modelů na čistém generování neříká skoro nic o tom, jak se budou chovat uvnitř agenta. Rozhoduje kolik tokenů spotřebují na rozmyšlenou, po jaký nástroj sáhnou a jak vybírají mezi dvěma pravdivými zdroji. To se dá změřit jen na skutečné zátěži s ověřenými odpověďmi.

Metodická poznámka (patří do článku)

Neměl jsem čistý základ od původního modelu na aktuální sadě — poslední úplný běh byl na 27 otázkách a od té doby jich pět přibylo. Srovnání bylo tím pádem orientační. Správné pořadí je: plný běh, výměna, plný běh — jinak se porovnává s pamětí.

Co se pro to změnilo
  • config.yamlauxiliary — extrakce přesunuta z malého modelu
Souvisí — štítek „modely“