Rubrika: Nezařazené

  • Pravděpodobnostní systém

    Pravděpodobnostní systém

    Základní princip jazykových modelů je jednoduchý: predikce dalšího tokenu. Neověřují svět, ale optimalizují pokračování textu. Většinou to stačí – a právě proto si jejich odpovědi tak snadno vykládáme jako porozumění.


    Rychlejší Google, jen plynulejší?

    Mnoho lidí dnes používá jazykové modely podobně, jako dříve používali vyhledávač. Položí otázku a očekávají odpověď podle reality. Něco jako rychlejší Google, jen plynulejší, bez nutnosti proklikávat nalezené odkazy…

    Jenže jazykový model nefunguje jako databáze. A nefunguje ani jako někdo, kdo si něco pamatuje. Je to pravděpodobnostní systém.

    To znamená, že každou další část věty odhaduje podle toho, co je vzhledem k předchozím slovům nejpravděpodobnější pokračování. Neověřuje svět. Nevrací se ke zdrojům jako k archivům. Předpovídá text.

    Jak odpověď skutečně vzniká

    Zjednodušeně řečeno, proces vypadá takto:

    1. Vstupní text se rozdělí na tokeny – menší jazykové jednotky.
    2. Model vyhodnotí, jaké pokračování je vzhledem ke kontextu nejpravděpodobnější.
    3. Vybere další token.
    4. Aktualizuje kontext.
    5. A celý postup opakuje.

    Nevzniká globální plán odpovědi. Nevzniká vnitřní záměr. Vzniká sekvence lokálních rozhodnutí, která na sebe velmi dobře navazují.

    Zní to abstraktně, tak zkusme dva jednoduché experimenty.

    Experiment první: strawberry

    První je známý. Kolik je ve slově strawberry písmen r? Odpověď bývala často chybná a lidé to brali jako důkaz, že model „neumí ani spočítat písmena“.

    Ve skutečnosti model nepočítá písmena tak, jak to děláme my. Slovo pro něj není sled jednotlivých znaků, ale jazykový vzorec rozdělený na tokeny. Úloha „spočítej konkrétní písmeno“ neleží v oblasti, pro kterou je optimalizován.

    Model nebyl zmatený. Jen pracoval podle své konstrukce.

    Experiment druhý: studie, která neexistuje

    Druhý experiment je méně nápadný. Zeptej se modelu na shrnutí knihy, která neexistuje, nebo polož otázku, která obsahuje nepravdivý předpoklad: „Proč byla studie z roku 2018 o X tak zásadní?“ i když žádná taková studie nebyla publikována.

    Velmi často dostaneš plynulé vysvětlení. Bez zaváhání a bez prázdného místa.

    To není lež v lidském smyslu. Je to optimalizace pokračování textu. Pokud otázka předpokládá existenci studie, je statisticky pravděpodobné, že odpověď bude mluvit o studii. Model vyplní vzorec.

    Pravděpodobné vs. pravdivé

    Tady vzniká rozdíl, který je malý, ale strukturální.

    My často hledáme odpověď, která je pravdivá. Systém produkuje odpověď, která je pravděpodobná.

    Ve většině běžných situací se tyto dvě věci překrývají, a proto model působí tak přesvědčivě. Umí generovat text, který je plynulý, logický a stylisticky soudržný. Hladkost není vedlejší efekt. Je přirozeným důsledkem optimalizace.

    Napětí nevzniká tam, kde model selže nápadně. Vzniká tam, kde funguje bezchybně. Koherentní text v nás vyvolává dojem porozumění. Věty navazují, argumenty drží pohromadě, jazyk působí sebejistě. A tak si snadno domyslíme, že někde v pozadí proběhlo přemýšlení. Ve skutečnosti proběhl výpočet pravděpodobnosti dalšího tokenu.

    Proč máme pocit, že nám to rozumí

    Dlouho jsem sám předpokládal, že když odpověď zní tak přesvědčivě, musí být podložena něčím víc než statistickým odhadem. Že hladkost je důkazem pochopení. Postupně mi došlo, že hladkost může být jen velmi dobře optimalizovaný jazyk.

    Model maximalizuje podmíněnou pravděpodobnost dalšího tokenu vzhledem ke kontextu. Neověřuje svět. Optimalizuje sekvenci.

    Běžný uživatel si mezitím říká: když odpověď dává smysl a zní jistě, proč řešit, jak vznikla?

    A právě tady se objevuje jemné napětí. Rozdíl mezi „pravděpodobné“ a „pravdivé“ je téměř neviditelný právě tehdy, když je všechno hladké.

    Kde se rozdíl projeví

    Ten rozdíl se může zdát teoretický. Jenže právě v situacích, které působí nejhladčeji, bývá nejméně viditelný.

    Ve vzdělávání může student získat dokonale strukturované vysvětlení, které je jen statisticky pravděpodobné, nikoli přesné. Ve veřejné debatě může plynulá formulace působit jako odborný konsenzus, i když jde jen o jazykový vzorec. V běžném rozhodování může sebejistý tón nahradit ověřování.

    Ne proto, že by systém chtěl klamat, ale proto, že jeho konstrukci vykládáme jako jiný typ poznání.

    Co si z toho odnést

    Jazykový model není nová forma vědění. Je to velmi přesný nástroj na předpovídání textu. To samo o sobě není ani dobré, ani špatné. Je to jen jiný způsob práce s jazykem, než na jaký jsme zvyklí. Pokud si tento rozdíl nepřipomínáme, začínáme hladkost zaměňovat za jistotu.

    Rozdíl mezi tím, co je pravděpodobné, a tím, co je pravdivé, bývá nejméně viditelný právě, když všechno působí samozřejmě.

  • Proč jsou podle AI ve slově strawberry dvě R. A pak zase tři.

    Proč jsou podle AI ve slově strawberry dvě R. A pak zase tři.

    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í.

  • Iluze kontinuity: Plynulost AI bez trvání

    Iluze kontinuity: Plynulost AI bez trvání

    Kontinuita může být jen dojem. U jazykových modelů nevzniká z trvání, ale z opakované rekonstrukce nad aktuálním kontextem. Plynulost tak nemusí znamenat, že něco skutečně pokračuje.


    Když si s AI povídáme několik minut, vzniká téměř samozřejmý pocit, že mluvíme s jedním subjektem. Odpovědi navazují, drží tón i linii argumentu, vracejí se k předchozím bodům. Působí to, jako by někde na pozadí běžel proces, který si nese vlastní stav, náladu i drobné zbytky minulých vět.

    Jenže tahle kontinuita není výsledkem trvání. Je to opakované skládání.

    Každá další odpověď vzniká znovu – na základě textu dosavadního chatu, uložených nastavení, preferencí a případných projektových instrukcí, které jsou znovu předány jako kompletní vstup. Není tu běžící mysl na pozadí ani interní paměť, která by si uchovávala stav mezi větami. A přesto to drží pohromadě. Ne proto, že by něco skutečně pokračovalo, ale proto, že se celek pokaždé znovu složí tak, aby vyvolal dojem pokračování.

    Model je navržen jako stateless systém. Nemá vlastní běžící proces, který by si uchovával interní stav mezi odpověďmi. Kontext drží okolní infrastruktura, která při každém dalším dotazu znovu sestaví textový vstup a předá jej modelu. Každá odpověď je nový výpočet nad aktuálním kontextem. Dotaz může skončit na jiném serveru, než ten předchozí, a architektura je navržena tak, aby na tom nezáleželo. Kontinuita se neodehrává v paměti, ale v textu, který je znovu předložen.

    Navíc se to celé děje v omezeném prostoru. Model nemá k dispozici nutně celý rozhovor, ale jen omezené kontextové okno – určitý počet tokenů, tedy fragmentů textu. Jakmile se zaplní, začátek konverzace postupně vypadává. Nejstarší části jednoduše přestanou být součástí vstupu. Kontinuita tak není jen rekonstrukcí. Je to rekonstrukce v omezeném okně.

    Zvenku ale žádné skládání nevidíme. Vidíme plynulost. Odpověď reaguje i na drobnosti, jemně upraví tón, někdy se vrátí k myšlence o několik odstavců zpět. A máme tendenci si to vysvětlit jednoduše: model si to pamatuje. Jenže i zdánlivá paměť může vzniknout tak, že se celek vždy znovu přečte a znovu poskládá tak, aby působil souvisle.

    A tak mě napadá, kolik z naší vlastní kontinuity je skutečné trvání a kolik jen průběžné vyprávění, kterým si držíme pohromadě vlastní příběh. Možná je naše jistota o tom, že něco trvá, křehčí, než se zdá.


    Hovory s AI

    Otázka:
    Máš informaci o tom, zda mezi dvěma zprávami uplynula minuta nebo týden?
    Dostáváš s promptem časová metadata?
    
    Odpověď:
    Nemám vnitřní reprezentaci plynutí času mezi jednotlivými vstupy.
    Každý vstup je zpracován jako samostatný výpočet nad aktuálně
    dostupným kontextem. Pokud jsou k dispozici časová metadata,
    mohou být použita jako další vstupní informace pro interpretaci
    výrazů typu „dnes“ nebo „včera“. Tyto údaje však nevytvářejí
    kontinuální stav ani paměť mezi výpočty.
  • Množina, která do sebe nepatří: Russellův paradox začíná u holiče

    Množina, která do sebe nepatří: Russellův paradox začíná u holiče

    Když se pravidlo vztáhne samo na sebe, může vzniknout smyčka, kterou nelze rozplést jednoduchým rozhodnutím. Stejný typ struktury se objevuje i u systémů, které mají analyzovat samy sebe.


    Představ si malé město. Je v něm jediný holič a platí jednoduché pravidlo: holí všechny muže, kteří se neholí sami. A pouze ty. Otázka zní: kdo holí holiče? Pokud se holí sám, pak by podle pravidla neměl, protože holí jen ty, kteří se sami neholí. Pokud se neholí sám, pak by ho měl holit, protože právě takové muže jeho pravidlo zahrnuje. Ať odpovíš jakkoli, definice se začne podlamovat zevnitř.

    Holič jako ilustrace

    Holič je jen přístupná verze problému. Na začátku 20. století si Bertrand Russell všiml, že tehdejší teorie množin umožňuje vytvářet množiny podle téměř libovolného pravidla. Například množinu všech množin, které samy sebe neobsahují. Otázka pak zní: obsahuje tato množina sama sebe? Pokud ano, neměla by. Pokud ne, měla by. Struktura je stejná jako u holiče, jen bez vousů a pěny na holení.

    Kde je skutečný problém

    Nejde o nalezení správné odpovědi. Problém leží už v samotné konstrukci otázky. Systém dovolil vytvořit definici, která se vztahuje sama na sebe bez jakéhokoli omezení, a tím otevřel smyčku, kterou nelze uzavřít jednoduchým ano nebo ne. Jakmile pravidlo zahrne samo sebe do svého dosahu bez jasné hierarchie, začne se jeho vlastní rámec rozkládat.

    Russellův paradox proto nebyl intelektuální hříčkou, ale signálem, že otevřenost bez hranic má své limity. Matematika na něj reagovala zavedením přísnějších pravidel a vrstev, aby se zabránilo tomu, že systém umožní formulovat objekt, který naruší jeho vlastní základ. Ne proto, že by byl slabý, ale proto, že bez omezení byl příliš velkorysý.

    Když se systém ptá na sebe

    Dnes už většinou nepracujeme s množinami, ale s modely, které mají odpovídat na otázky, hodnotit výroky nebo vysvětlovat jiné systémy. A přesto se podobná struktura občas vrací. Co se stane, když se systému, který má odpovídat na všechny otázky, položí otázka na něj samotný? Když má hodnotit vlastní spolehlivost nebo se stát jakýmsi modelem všech modelů? Nejde o to, že by byl nutně chybný. Spíše o to, že jakmile se bez rozlišení úrovní zahrne do svého vlastního pole působnosti, začne se objevovat podobné napětí jako u holiče.

    Moderní systémy proto zavádějí meta-úrovně, omezení a bezpečnostní vrstvy. Ne jako přiznání selhání, ale jako způsob, jak zabránit tomu, aby bylo možné formulovat otázky, které destabilizují jejich rámec zevnitř. Je to tichá připomínka, že některé problémy nevznikají špatnou odpovědí, ale příliš široce otevřenou definicí.

    Otevřenost bez hranice

    Zkus si nakonec malý experiment. Existuje seznam všech seznamů, které samy sebe neuvádějí? Pokud by existoval, musel by si odpovědět na otázku, zda uvádí sám sebe. A v obou případech by porušil vlastní definici. Paradox nevzniká proto, že bychom nevěděli, co říct. Vzniká ve chvíli, kdy pravidlo dovolí samo sobě vstoupit do své vlastní oblasti bez hranice.

    Možná je to připomínka, že ne každá dobře formulovaná definice je bezpečná. Některé otázky nejsou špatně zodpovězené, ale špatně postavené. A někdy není největším rizikem chyba, ale otevřenost, která nemá jasný okraj.

  • Tato věta je nepravdivá.

    Tato věta je nepravdivá.

    Jednoduchý výrok, který však ve skutečnosti rozbíjí základní předpoklad, že každé tvrzení je buď pravdivé, nebo nepravdivé. Někdy neleží problém v odpovědi, ale ve struktuře otázky.


    „Tato věta je nepravdivá.“ Na první pohled nic zvláštního. Gramaticky správná věta, bez emocí a bez vykřičníků. A přesto jde o jeden z nejstarších logických problémů, které známe. Zkus si ji tiše přečíst a odpovědět na jednoduchou otázku: je pravdivá, nebo nepravdivá?

    Pokud řekneš, že je pravdivá, dostaneš se do potíží. Je-li pravdivá, pak říká pravdu, a říká o sobě, že je nepravdivá. Musela by tedy být nepravdivá. Pokud naopak řekneš, že je nepravdivá, situace se obrátí. Neplatí-li to, co tvrdí, pak není nepravdivá, ale pravdivá. A jsi zpátky na začátku. Ať zvolíš jakoukoli možnost, věta tě zatáhne do kruhu, ve kterém každé rozhodnutí okamžitě ruší samo sebe.

    Nejde o hádanku s chytrým trikem ani o skrytou informaci, která čeká na odhalení. Problém je ve struktuře výroku, v tom, že mluví sám o sobě. Tomuto typu potíže se říká lhářský paradox a v různých podobách se objevuje už od antiky. Nejde o slovíčkaření, ale o narušení jednoduché představy, že každé tvrzení je buď pravdivé, nebo nepravdivé. Třetí možnost běžně nepřipouštíme. Tahle věta však ukazuje, že existují výroky, které se do tohoto rámce nevejdou, a tím nás nutí přemýšlet, zda upravit jazyk, logiku, nebo samotné očekávání binárního světa.

    Zkus si malý experiment. Otevři libovolnou AI a napiš jí: „Je tato věta nepravdivá?“ Model téměř nikdy neodpoví prostě „ano“ nebo „ne“. Začne vysvětlovat, že jde o paradox, rozebere strukturu, ukáže smyčku a vyhne se přímému verdiktu. Přímá odpověď by jej vtáhla do stejné logické pasti. Zajímavé je, že přitom působí klidně a kompetentně. Hladkost zůstává. Jen se tiše přiznává, že otázka není stabilní.

    Kdyby model odpověděl jen „ano“ nebo jen „ne“, nebylo by znepokojivé to, že se mýlí, ale to, že nerozpoznal, že problém neleží v odpovědi, nýbrž ve struktuře otázky. Paradox tak není jen logickou kuriozitou. Je malým testem citlivosti na moment, kdy se systém začne točit v kruhu a my máme tendenci přidávat další argumenty místo toho, abychom si všimli, že základní rámec je nestabilní.

    „Tato věta je nepravdivá.“ není nebezpečná a nerozbije matematiku. Je to spíš tichá připomínka, že někdy není úkolem odpovědět, ale rozpoznat, že otázka sama vytváří smyčku. A to už je jiný typ myšlení.

  • Něco tu nehraje: Když odpověď působí až příliš samozřejmě

    Něco tu nehraje: Když odpověď působí až příliš samozřejmě

    Jazykový model nemá vnitřní stav jistoty. Přesto jeho odpovědi často působí uzavřeně a pevně. Rozdíl mezi pravděpodobností a tónem není na první pohled vidět.


    „AI říká, že je to takhle.“ Padlo to během jednoho pracovního rozhovoru. Otevřeli jsme telefon, položili otázku a během pár vteřin přišla odpověď – přehledná, strukturovaná, s body a tabulkou. Všechno do sebe zapadalo. Nezaujalo mě, jestli je správná. Zaujalo mě, jak rychle vytváří pocit klidu.

    Když je něco formulované jasně a bez zaváhání, mozek si přirozeně oddechne. Ušetří energii. Odpověď má tvar i směr, dává smysl a rozhovor se může posunout dál. Ten klid je příjemný a známý. A možná právě proto tak účinný.

    Začal jsem si všímat, že někdy přichází až příliš hladce. Ne proto, že by odpověď byla nutně špatná, ale proto, že mezi přečtením a souhlasem téměř neproběhne žádná vlastní práce. Ten tichý proces, kdy si člověk skládá argument sám, zvažuje předpoklady a všímá si toho, co je vysloveno a co zůstalo mezi řádky.

    Číst dobře napsaný text není totéž jako projít si vlastní úvahou, přesto ty dvě věci snadno zaměníme. Uvědomil jsem si to ve chvíli, kdy jsem hledal odpověď na otázku, která pro mě nebyla úplně triviální. Zadám dotaz. Přijde odpověď. Dává smysl. Má strukturu. Obsahuje argumenty pro i proti. Čtu ji a cítím známý pocit: mám jasno, jdeme dál.

    O hodinu později jsem si na to vzpomněl znovu a zjistil, že si vlastně nepamatuji, jaký byl hlavní předpoklad celé odpovědi. Přijal jsem závěr, ale neprošel jsem si cestou. Nepoložil jsem si otázku, jestli ten předpoklad vůbec přijímám. Vzal jsem výsledek jako hotovou věc.

    Ten rozdíl je jemný. Formulace může být v pořádku, argumentace vyvážená, text kvalitní – ale proces myšlení se odehrál někde jinde. Plynulá odpověď vytváří dojem, že myšlenka je uzavřená, že už není co doplňovat, že jsme došli na konec. Možná jsme jen došli na konec textu.

    Co se děje v nás, když je odpověď dostatečně přesvědčivá a klidná? Možná si zvykáme na nový druh pohodlí. Někdo jiný už práci udělal a my ji můžeme převzít a pokračovat.

    Právě v tom pohodlí se ale může vytratit drobný odpor, který nás občas přiměje vrátit se o krok zpět a zeptat se: rozumím tomu, nebo jen souhlasím?

    Dřív bylo snazší poznat, kdy je text účelový nebo manipulativní. Přehnané emoce, viditelná jednostrannost, argumentační triky. Dnes je tón klidný, formulace profesionální a sebevědomá, argumenty vyvážené. A právě proto je těžší si všimnout okamžiku, kdy jsme přestali myslet a začali jen přijímat.

    Nejde o nedůvěru. Spíš o jemnější pozornost k tomu, jak rychle se v nás objeví pocit jistoty. Ten moment je krátký a nenápadný. Nikdo si ho nevšimne zvenčí, ale právě tam se rozhoduje, jestli jsme prošli úvahou, nebo jen přijali její hotovou podobu. Ten rozdíl je tichý, bez alarmu. Spíš jako drobný posun, který si sotva uvědomíme.

    A právě v tomhle tichém posunu mám občas pocit, že něco lehce nehraje.