Čísla, kterými se modely poměřují a jak je číst, aby tě neoklamala. Od perplexity, která měří samotné jádro modelu, přes akademické benchmarky až po Elo z lidských porovnání. A hlavně: proč nic z toho nenahradí měření na tvé vlastní úloze.
Perplexity: přímé měřítko modelu
Perplexity je jen jinak zapsaná loss:
perplexity = e^loss
loss 4,0 → ppl 54,6
loss 3,0 → ppl 20,1
loss 2,0 → ppl 7,4
loss 1,5 → ppl 4,5
Intuice: mezi kolika tokeny model v průměru rovnocenně váhá. Perplexita 7,4 znamená, že si u každého tokenu je nejistý zhruba jako by vybíral ze sedmi možností.
Užitečné vlastnosti:
- Měří se bez anotací na libovolném textu, takže je levná.
- Dobře poslouží k porovnání téhož modelu v čase (během tréninku, po kvantizaci).
A pasti:
- Nedá se srovnávat napříč modely s různým tokenizerem. Model s větším slovníkem má na tentýž text méně tokenů, a tedy jinou perplexitu, bez ohledu na kvalitu.
- Nižší perplexity neznamená užitečnější asistent. Model po instrukčním ladění mívá na surovém textu horší perplexitu, a přitom je pro tebe mnohem lepší.
💡 Praktické použití: kontrola po kvantizaci. Když ti perplexita na kontrolním textu vyskočí o desítky procent, kvantizace model poškodila.
Akademické benchmarky
| Benchmark | Co měří |
|---|---|
| MMLU | Znalosti napříč obory, výběr ze čtyř možností |
| GSM8K | Slovní úlohy ze základoškolské matematiky |
| HumanEval / MBPP | Generování kódu, měří se pass@k |
| HellaSwag, ARC | Zdravý rozum a jednoduché usuzování |
| MT-Bench | Kvalita odpovědí ve víceotáčkové konverzaci (hodnotí model) |
pass@k znamená: nech model vygenerovat k pokusů a změř, jestli aspoň jeden projde testy.
pass@1 je přísné a nejrelevantnější pro praxi; pass@10 vypadá mnohem líp a používá se rádo
v marketingu.
Elo z lidských porovnání
V arénách dostanou lidé dvě anonymní odpovědi na svůj dotaz a vyberou lepší. Z výsledků se počítá šachové Elo.
- Plus: měří to, na čem lidem opravdu záleží, na reálných dotazech, a nejde to snadno „přeučit“.
- Minus: odměňuje sebejistý tón, hezké formátování a délku. Model, který raději přizná nejistotu, tratí, i když je ve skutečnosti spolehlivější.
Proč jsou čísla z benchmarků zrádná
- Kontaminace. Testovací otázky se dostanou do tréninkových dat a model je zná nazpaměť. Poctivé laboratoře data dekontaminují, ale ověřit to zvenku nejde.
- Výběr toho, co vyšlo. V oznámení uvidíš benchmarky, kde model vyhrál.
- Citlivost na formát. Tentýž model dostane výrazně jiné skóre podle toho, jak je otázka naformulovaná a jak se odpověď parsuje.
- Saturace. U snadných benchmarků jsou dnes všechny modely nad 90 % a rozdíly jsou v šumu.
- Neměří tvou úlohu. Skóre z maturitních otázek neříká nic o tom, jak model vytáhne položky z tvých faktur.
Co měřit u sebe
Rozděl to podle toho, co doopravdy potřebuješ:
1. Přesnost úlohy : úspěšnost na vlastní testovací sadě (viz evaluace)
2. Spolehlivost : podíl výstupů, které projdou validací
3. Náklady : tokeny a cena na jeden vyřízený případ
4. Latence : p95, ne průměr
5. Dopad : vyřešené tikety, ušetřený čas, spokojenost
Až páté číslo je to, kvůli kterému se projekt dělá. Zbytek jsou technické ukazatele, které ti říkají, proč to jde nebo nejde.
Rozumný postup při výběru modelu
- Vezmi tři až pět kandidátů podle veřejných čísel a ceny (hrubý filtr, nic víc).
- Sestav si dvacet až padesát reálných případů s očekávaným výsledkem.
- Projeď je všemi kandidáty se stejným promptem a změř úspěšnost, cenu a p95 latenci.
- Rozhodni podle své tabulky, ne podle žebříčku.
Zabere to půl dne a ušetří to měsíce ladění špatně zvoleného modelu.
Cvičení
- Model A má perplexitu 8,2, model B 11,4, ale byly trénované s různými tokenizery. Můžeš z toho vyvodit, který je lepší?
- Model má na MMLU 82 %, ale ve tvé aplikaci selhává. Uveď dvě vysvětlení, která nejsou „benchmark je k ničemu“.
Náčrt řešení: rozbal, až si cvičení zkusíš sám
- Nemůžeš. Perplexita měří, mezi kolika tokeny model váhá, a když má každý model jiné tokeny, srovnáváš různé jednotky. Model s hrubším slovníkem má na stejném textu míň tokenů, ale každý nese víc informace, takže mu perplexita vyjde vyšší, aniž by byl horší. Srovnávat se dá jen při shodném tokenizeru, případně přepočtem na bity na znak.
- Kontaminace a nesoulad úlohy. Benchmark mohl být v trénovacích datech, takže model odpovědi zná místo aby je odvozoval, viz trénovací data. A i bez kontaminace měří MMLU výběr z možností u akademických otázek, což s tvojí úlohou nemusí mít nic společného: model, který skvěle vybírá z A až D, může být slabý v dodržení formátu nebo v práci s tvými podklady. Proto se model vždy ověřuje na vlastní sadě.
Shrnutí
- Perplexity =
e^loss, tedy „mezi kolika tokeny model váhá“; nesrovnávej ji napříč tokenizery. - Benchmarky trpí kontaminací, výběrem a citlivostí na formát; saturované už nic neříkají.
- Elo z arén měří lidskou preferenci, ale odměňuje sebejistotu a délku.
- Rozhoduje vlastní sada reálných případů, změřená stejným promptem napříč kandidáty.
Model A má perplexitu 6,2 a model B 7,8. Můžeš říct, že A je lepší?
Ne, dokud nevíš, jestli mají stejný tokenizer a měřilo se na stejném textu. Model s větším slovníkem rozdělí tentýž text na méně tokenů, což perplexitu posouvá bez ohledu na kvalitu. Navíc nižší perplexita neznamená užitečnějšího asistenta.
Co znamená pass@10 a proč se v marketingu objevuje častěji než pass@1?
Že model dostal deset pokusů a stačí, aby jeden prošel testy. Vypadá to výrazně líp než pass@1, kde musí uspět napoprvé a přitom pro praxi je relevantní spíš ta přísnější varianta, protože v produkci obvykle nemáš deset pokusů zdarma.
Proč může model s nižším Elo v aréně být pro tvoji aplikaci lepší volbou?
Protože Elo odměňuje sebejistý tón, délku a hezké formátování, zatímco tvoje úloha může vyžadovat stručnost, přiznání nejistoty nebo přesné dodržení formátu. Rozhodnout může jen měření na vlastní testovací sadě.
