Základní principy determinismu v AI: co je „sémantický determinismus“ a jak funguje

Zeptejme se AI třikrát na totéž a třikrát dostaneme tři různě formulované odpovědi. Někdy se liší i obsahem — a občas si model klidně vymyslí i to, co nikdy neexistovalo. Tenhle jev známe z vlastní ruky a většinou z něj máme nepříjemný pocit, že se na takového pomocníka nedá spolehnout.

Spolehlivost AI nestojí na tom, aby odpovídala pokaždé stejnými slovy. Determinismus má totiž v principu dvě různé povahy: tzv. „bajt determinismus“ anebo „sémantický determinismus“.

Jádro problému: Jak LLM hledá odpověď

Velký jazykový model (LLM), tedy onen „mozek“ AI, funguje jako hledání nejpravděpodobnějšího pokračování: podle toho, co jsme napsali, odhaduje slovo po slovu, co nejspíš přijde dál. Je to statistika nad ohromným množstvím textu, ne vyhledání faktu.

Tahle povaha má dvě strany téže mince. Na jedné straně se takto AI stává užitečným pomocníkem: odpoví i na otázku, kterou přesně takhle nikdy neviděla, umí přeformulovat, domyslet, spojit souvislosti, umí tvořit — a to i obrázky a videa. Na druhé straně je také mnohdy zdrojem halucinací — když se model nemá o co opřít, tak nepřizná „nevím“, ale dosadí to, co zní nejpravděpodobněji.

Právě proto je výstup AI ze své podstaty stochastický, tedy s prvkem náhody. Není to rozbité ani vadné. Takhle to má u AI fungovat.

Dvě povahy determinismu

Bajt determinismus (alias bitový) znamená:

Opakovaný stejný vstup „bajt po bajtu“ dává opakovaný stejný výstup „bajt po bajtu“.

Tak se chová např. Python funkce (samozřejmě, pokud se do kódu nevloží příkaz random). Bajt determinismus je „strojově přesný“ — až do posledního bajtu, jak název napovídá.

Sémantický determinismus je také determinismus, ale jiné, abstraktnější povahy:

Opakovaný stejný vstup dává významově stejné rozhodnutí alias logicky stejný výstup.

Ne nutně stejná slova resp. „strojově stejné bajty“, ale stejný závěr, stejný význam, stejnou logiku výstupu.

Například když se dvakrát zeptáme „patří tenhle případ do kategorie A?“, dostaneme dvakrát významově „ano“ — jednou to řekne stroze a podruhé zeširoka, ale je to významově totéž.

Rozdíl oproti strojovému determinismu je zásadní: U sémantického determinismu se opakovaně shoduje význam, ne bajty. A od AI, která má rozhodovat o naší doméně, není třeba, ba ani žádoucí strojová přesnost, tedy bajt determinismus. Potřebujeme, aby došla pokaždé ke stejnému závěru významově — sémanticky, a to vlastním „AI myšlením“, ne bajt determinismem.

Ještě jedna zásadní věc: každé takové rozhodnutí se v konečném důsledku dá převést na binární verdikt — situace buď definovanému pojmu odpovídá (ano), nebo ne. I zařazení do více kategorií je jen série takových ano/ne. Právě díky tomu je sémantický determinismus měřitelný: shoda „ve významu“ znamená prostě shodu ve verdiktu.

A když si AI jistá není, nedomýšlí si (to by byla halucinace), ale vrací třetí, předem daný výsledek: „nevím — k rozhodnutí pro člověka.“ Nejasný případ tak nepropadne do statistického hádání, ale putuje na stůl člověku. Vzniká tím „binární rozhodnutí, ale s ventilem“ — a právě na tom stojí auditovatelnost: hra s otevřenými kartami, žádný AI black-box, žádné skryté chyby, žádná pozdější překvapení schovaná v hromadě výstupů.

Recepty na determinismus, které problém „vyřeší“ tím, že ho zabijí

Na internetu najdete návody (články, kurzy apod.), jak u AI získat determinismus: „obalíme“ mozek AI nástroji (tools, hooks apod.), tedy napíšeme Python funkce. A je to pravda — funkce vrátí pokaždé přesně totéž. Klasický bajt determinismus, spustitelný v prostředí AI. Někdy je to přesně to, co potřebujeme, a jinudy ani cesta nevede: třeba když AI zpřístupňujeme CASE nástroj EA (Enterprise Architect), odpovídající vložený prvek „EA_Bridge“ prostě musí být napsaný v kódu např. v Pythonu. Bajt determinismus tu má své místo.

Jako obecný recept na determinismus AI to ale neobstojí. Takhle by se z chytrého a schopného kolegy s mozkem stal automat na kávu. Zmáčkneme tlačítko, vypadne káva. Pokaždé stejná, naprosto spolehlivě, sice bez jediného překvapení — a taky bez jediné myšlenky.
Jenže u kolegy AI potřebujeme pro naše úkoly právě tu schopnost „myšlení“, protože úkoly pro AI není reálné napsat jako funkce. Jako příklad: z této Zadávací dokumentace „vydestiluj“ Funkční a Technologické požadavky… To není problém algoritmu kódu, ale sémantiky.

Co ve skutečnosti chceme

Cíl není udělat z AI automat. Cíl je nechat jí mozek — tu schopnost rozumět, domýšlet, formulovat — a dát jí možnost pracovat na našem problému tak, aby přitom rozhodovala spolehlivě. Tedy zachovat sémantiku, ale zbavit ji nahodilosti.

Poznámka: Dokonce není ani možné budovat složité konstrukce přesného „bajt strojového determinismu“ pro úkoly, které potřebujeme řešit, jako zpracovávat analytické dokumenty, tj. pracovat s texty, obrázky, diagramy apod. Stačí prostá úvaha: kdyby se to celé dalo napsat jako funkce, žádnou AI bychom nepotřebovali.    

Nechceme po AI bajt determinismus na straně jedné a ani volnou ruku básníka na straně druhé. Chceme sémantický determinismus: mozek, který pokaždé dojde ke stejnému významovému závěru, protože se řídí pevně danými pravidly a ne odchylkami statistiky.

Jak se sémantický determinismus dělá: pojmy a vztahy

Představme si nového juniora v týmu. Je chytrý, učí se rychle, ale první týden nesmí nic rozhodovat, protože „toho moc neví“. Musí se nejdřív naučit naše pojmy a naše vztahy: co u nás znamená analytická třída, atribut, asociace atd., čím se liší „úroveň abstrakce Analýza“ od „úrovně abstrakce Design (návrh technologie)“ a co na co navazuje. Dokud to nemá v hlavě přesně, nesmí si nic domýšlet — protože domýšlení je nepřípustné.

S AI je to úplně stejné. Sémantický determinismus nevznikne tím, že model spoutáme. Vznikne tím, že mu dáme přesné definice pojmů, přesné definice vztahů mezi nimi a případně přesné algoritmy, jak s nimi pracovat — a pak řekneme: podle toho rozhoduj, nic jiného si nevymýšlej. Naše pojmy a naše vztahy se stanou jediným zdrojem pravdy. Nebude to mlha z tréninkových dat, ale náš svět, přesně popsaný. Nakonec časem takto získáte do týmu AI Analytika Seniora.

Poznámka: Zavedení AI do analýzy (AAF) s sebou automaticky nese i metodiku. Podle přesných pojmů, vztahů a postupů sémantického determinismu se totiž neřídí jen AI — „musí“ podle nich rozhodovat i analytik. A přesně to je metodika, protože ta musí být postavena na vzájemná dohodě o společné sémantice.

Model si tak zachová mozek — pořád rozumí, pořád formuluje — ale rozhoduje uvnitř pojmů, vztahů, mantinelů a algoritmů, které jsme mu postavili my.

Paradoxně AI takto vlastně halucinuje — ale přesně podle našeho návodu. S trochou nadsázky (ale je to opravdu přesná analogie) vytváříme pro AI tzv. „Matrix“ (jak z kultovního sci-fi), ale v obráceném gardu: je to námi vytvořený „Matrix for AI“, ve kterém ona žije.  

Názorný (jednoduchý) příklad: V tomto repo (ukázka jde až do skillů), druhé demo (viz Clean AI Skill Code):

Definovali jsme nejprve pojem Cat jako tvora, který mňouká. AI podle tohoto kritéria kategorizovala přesně, co je a co není Cat. Poté jsme v definici tohoto pojmu měnili implementaci skillu na „tvora s fialovou hlavou“ (žádné mňoukání). Opět kategorizovala přesně, ale jinak: tvora, který mňouká, zařadila v reportu pro zadavatele promptu do škatulky „Nevím – k řešení pro člověka“ a tvora s fialovou hlavou zařadila bez váhání do škatulky „Cat“.

Příklad měl otestovat, zda se AI v našem světě přesných pojmů (v „Matrix for AI“) nenechá zmást „realitou“, tj. tím, co se naučila výukou (trénování modelu).

Kde to drhne: mlhavý pojem

Celé to závisí na tom, jak přesné ty definiční pojmy jsou. Pokud volíme v zásadě mlhavé, nepřesné a nejednoznačné pojmy (foggy terms), tak s tím padá i sémantický determinismus.

Ověřeno přímo v praxi: Při zavádění AI do analýzy jsme nejprve zavedli pojem „okrajové technologické podmínky“ jako „věci z technologie“, které mohou mít zpětný vliv na funkční požadavky. Jenže ukázalo se, že námi definovaný pojem je neurčitý už samotnou povahou věci. V mnoha případech by se dva analytici nad nějakým sporným případem pohádali, jak to je, a de facto „oba měli z určitého svého pohledu pravdu“. Opakovatelnost v těchto případech nefunguje. Proto jsme zavedli pro zpracování Zadávací dokumentace jiné, praktičtější a jednoznačné pojmy: „Technologický požadavek“ a „Funkční požadavek“. Tyto pojmy se opíraly o předešlé skill definice, co to je „úroveň abstrakce analýza“ a „úroveň abstrakce design“. V opakovaných testech došlo ke 100% determinismu (samozřejmě sémantickému) a v reportu se získal „sirup“ ze zadávací dokumentace takto přesně kategorizovaný.

Nutnost zavést Clean AI Skill Code

Skills, které implementují zmíněný sémanticky deterministický svět „Matrix pro AI“, se musí držet v „čisté podobě“ (podobně jako Clean Code), konzistentně a auditovatelně — tak, aby se pravidlo dalo kdykoli přečíst, ověřit a nikde nezůstala skulinka, kterou by statistika propašovala vlastní domněnku.

To je úloha pro oblast zvanou Clean AI Skill Code (CASC): čistý kód skillů, ve kterém jsou pojmy a vztahy zapsané jednoznačně — ne jako v protipólu Dirty AI Skill Code, kde jsou rozprostřené v próze a významy se rozpíjejí.

Poznámka: Principy a zásady Clean AI Skill Code nejsou jen pravidla při zavádění determinismu, ale obecně by je měl dodržovat každý autor AI skillů, v opačném případě padne do pasti Dirty Code.

Mlhavý pojem je díra v základech. CASC je to, co drží „Matrix pro AI“ zalitý do přehledné, čisté a udržovatelné podoby.

Co bude příště

Zbývá jediná, ale klíčová otázka: jak ty přesné pojmy a vztahy vlastně udělat, aby unesly rozhodování a nedaly se ohnout? Však to vypadá jako vysoká abstrakce… Nesmí to být prózou, ani slovníkem na koleni, ale strukturou, kterou AI přečte jednoznačně.

Odpověď je zavedení pojmů: metaclass a pattern (vzor) — to bude tématem příštího článku.

Tam začneme stavět další patro „Matrixu pro AI“ — sémantického determinismu.


Comments

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *