Na první pohled jde o drobnou chybu. Ve skutečnosti situace odhaluje, jak jazykový model pracuje s textem – sekvenčně, pravděpodobnostně a bez globální kontroly faktu. Konzistence, kterou v odpovědi čteme, nemusí být výsledkem řízeného rozhodnutí, ale vedlejším efektem optimalizace.
Otázka zní jednoduše: kolik je ve slově strawberry písmen r? Mnoho lidí dostalo od AI odpověď: dvě. Když model požádali, aby slovo vyhláskoval po písmenech, skutečně zazněla tři „r“. A když se následně znovu zeptali na jejich počet, odpověď se vrátila ke dvěma. Se stejnou jistotou jako předtím.
Na první pohled to vypadá jako nekonzistence nebo jako důkaz, že model „neumí počítat“. Tahle sekvence ale ukazuje něco jiného: jak jazykový model pracuje s textem.
Jazykový model nezpracovává slova jako sled jednotlivých písmen. Slova jsou pro něj rozložena na tokeny. Token není nutně jedno písmeno ani celé slovo. Je to jednotka vzniklá při tréninku tak, aby co nejlépe zachytila jazykové vzorce. Když se modelu položí otázka „Kolik je ve slově strawberry písmen r?“, neprochází slovo znak po znaku a neověřuje si ho jako celek. Optimalizuje odpověď na typickou otázku o počtu znaků. Předpovídá nejpravděpodobnější pokračování věty.
V tréninkových datech je mnohem více situací, kde podobné otázky mají jednoduchou odpověď, než situací, kde je potřeba přesně rozebrat grafickou strukturu konkrétního slova. Nejpravděpodobnější odpověď se tak může odchýlit od skutečnosti.
Když je model požádán o hláskování, optimalizuje jiný typ úlohy. Teď generuje sekvenci jednotlivých písmen. V tomto režimu může správně vypsat tři „r“, protože lokálně předpovídá další znak podle vzorce hláskování. Problém nastane při návratu k otázce „Kolik jich tedy bylo?“ Model nemá centrální paměť, která by udržovala globální fakt „byla tři“. Znovu optimalizuje odpověď na otázku o počtu znaků a vrátí se k nejpravděpodobnějšímu vzorci.
Moderní jazykové modely pracují s tokeny, které mohou být celé slovo, část slova nebo kombinace znaků. Reprezentace není navržena pro manipulaci s jednotlivými písmeny. Úlohy vyžadující přesné grafické operace stojí mimo hlavní optimalizační cíl systému.
Tahle epizoda tak neukazuje hloupost systému. Ukazuje, že každý krok generování je lokální optimalizace dalšího tokenu. Model nespravuje konzistentní interní databázi faktů o právě proběhlé konverzaci. Generuje text postupně a při každém kroku maximalizuje podmíněnou pravděpodobnost dalšího tokenu vzhledem k předchozí sekvenci. Globální konzistence napříč dialogem není samostatně řízený proces. Je vedlejším efektem jazykových vzorců.
Zbývá otázka jistoty. Odpovědi na počet „r“ byly často formulovány sebevědomě. To ale neznamená, že model „věřil“, že jsou správné. Sebejistý tón je také jazykový vzorec. V tréninkových datech jsou přímé odpovědi na faktické otázky obvykle formulovány bez váhání. Nejpravděpodobnější styl odpovědi je tedy přímočarý a jistý.
Z jediné epizody tak lze vyčíst víc než jen chybu v počítání písmen. Ukazuje, že jazykový model nepracuje s jazykem jako s grafickou strukturou, ale jako s pravděpodobnostní sekvencí. A že konzistence, kterou vnímáme, není řízena centrálním věděním, ale vzniká z lokálních predikcí.
Je to konstrukční vlastnost systému. A možná i připomínka toho, co vlastně považujeme za porozumění.
