Článek
Článek si také můžete poslechnout v audioverzi.
Podívejme se na moderního chatbota metaforou továrny. Jako v každé továrně, i tady začíná proces ještě před podáním zakázky. Celému komplexu musí nejprve někdo definovat účel. Vyrábíme auta, okna, nebo třeba tužky? V našem případě specifikují programátoři velkému jazykovému modelu, že je například osobním asistentem.
„Aby model mohl odpověď vygenerovat, musíme do něj dostat kontext. Tím dostane konkrétní roli. Role může být například: Jsi osobní asistent a budeš neúnavně odpovídat na otázky,“ říká Jan Šedivý, vedoucí Českého institutu informatiky, robotiky a kybernetiky na ČVUT v Praze.
Magazín Seznam Zpráv
Cestování | Jídlo | Životní styl | Architektura | Historie
Jakmile má naše metaforická továrna připravenou specializaci, může se dostavit první zákazník s objednávkou. V případě chatbota to bude uživatel se zadáním neboli promptem v podobě otázky. Například se zeptáme, kolik aut vyrobila Škoda Auto za rok 2023.
Agenti a pásová výroba
Ještě před „vyhotovením zakázky“ si naše továrna zavolá na pomoc velký jazykový model, takzvaný LLM, aby poskytnutý prompt upravil. V praxi se totiž stává, že uživatel udělá překlep anebo plně neovládá jazyk, ve kterém prompt píše – u angličtiny je to častý jev. LLM tedy prompt upraví tak, aby byl srozumitelnější.
Jakmile je chatbot nebo jiný AI program takto schopen si sám na pomoc zavolat jiný nástroj, v praxi se mu říká agent nebo agentní systém. Takovým agentům se budeme také v článku věnovat, ale nejprve pokračujme ve výrobním procesu.
„Model si potom zavolá vyhledavač a provede klasické vyhledávání. A protože ta informace někde na internetu bude, vybere si prvních několik výsledků, včetně odkazů na konkrétní stránky,“ přibližuje Jan Šedivý. Nástroj si dále sestaví odpověď z dostupných informací.
Chatbot ale nemusí hledat pouze na internetu, může mít i lokální databázi. Když je to firemní asistent, chatbot může teoreticky nahlížet i do interních dokumentů, jako jsou výkresy, interní statistiky či pracovní postupy. Nakonec nastupuje opět jazykový model LLM a vygeneruje odpověď pro uživatele. „Tohle je ta nejjednodušší forma – dotaz, LLM, vyhledavač, LLM, odpověď,“ doplňuje Šedivý.
V dnešním internetovém prostředí však nebývají informace zpravidla připraveny na zlatém podnose tak, aby si je chatbot jen převzal a poskytl uživateli. Systémy musejí být schopny nahlížet i do pdf souborů nebo čerpat ze stránek, kde je text kombinován s videem, reklamou a různými designovými prvky.
Když k tomu dojde, standartní technologií, která nastoupí k výrobní lince naší továrny, dle Šedivého bývá takzvaný Retrieval-Augmented Generation (RAG), volně přeloženo jako generování rozšířené o načítání.
Přesný jako laserový zaměřovač
RAG umožní chatbotovi přebírat informace přímo z internetu. Program tak nepřebírá informace jen z vlastní databáze, ale může je porovnat s informacemi z webových stránek. Dle společnosti Google jsou poté generované výsledky přesnější a relevantnější, než by tomu bylo u klasického prohledávání databází.
Představte si, že bychom do naší metaforické továrny, chatbota, dodali například rozkaz, aby pro svou tvorbu využívala i oficiálních tiskových zpráv ze stránek Škoda Auto. Na zmíněnou otázku, kolik firma vyrobila aut za rok 2023, by tak chatbot šel přímo ke zdroji.
Tam by si vzal veškerý obsah, vyhledal by relevantní informaci, odebral zbytečný design a samostatný text dále zpracoval. U faktografických otázek poté můžeme mít větší jistotu správné odpovědi. Za jiných okolností chatbot prohledá třeba jen svou uloženou databázi, která však může být nedostatečně aktuální.
Co jsou agenti a jak fungují
Výše jsme zmínili, že chatboti a další AI programy se mohou také nazývat agenty. Jaký je ale rozdíl mezi klasickým chatbotem a agentním systémem? Dle informací firmy IBM jsou klasické jazykové modely, které jsou nezbytnou součástí chatbotů, limitovány množstvím informací, na kterých se natrénovaly. Jakmile je informace v trénovacích datech zastaralá, budou zastaralé také informace vygenerované v odpovědi.
Systém se stává agentním tehdy, když je schopen si automaticky, bez vyzvání, zavolat na pomoc jiný nástroj. Typickým příkladem je výše zmíněné přivolání jazykového modelu LLM na úpravu promptu pro lepší srozumitelnost. Anebo automatické vyhledání informace na internetu pomocí RAG.
Šedivý také upozorňuje, že je to právě model LLM, který se musí rozhodnout, jestli odpověď na dotaz bude hledat ve vlastní databázi, anebo si zavolá internet. I proto se o agentech mluví v množném čísle, protože jednotlivé nástroje, agenti, si mohou zavolat na pomoc další nástroje.
Dnešní ChatGPT je příkladem takového agentního systému. Mimo zmíněné je schopen si zavolat i generátor obrázků Dall-e a během konverzace vygeneruje obrázek. Jako uživatel přitom nemusíte přecházet na jinou stránku. Dalšími takovými agenty jsou například Claude, ale také Siri v iPhonech nebo Alexa od Amazonu.
Agentní systém zkrátka nemusí být jen chatbot. „Například i letadla se ve vzdušném prostoru domlouvají, kudy se mají minout. Bývají to větší systémy a neomezují se pouze na ty chatboty“, vysvětluje Šedivý.
Moderní letadla neustále vysílají kolem sebe informace o tom, jak jsou vysoko, nebo jakým jsou typem letounu. Jakmile se ocitnou dvě letadla blízko sebe, díky AI se mohou sama „domluvit“, jak se nejlépe vyhnout. Takto využitá umělá inteligence se dále učí na základě předchozích dat.
Když tedy zůstaneme u přirovnání k továrnám, klasický chatbot staršího typu s vlastní databází je jen manufakturou zaměřenou na konkrétní produkt, zatímco agentní systém je moderní industriální komplex, schopný sám se přizpůsobit objednávce. Agenti jsou tedy nafouklé programy využívající množství jiných nástrojů a jsou schopny se samostatně rozhodnout, jestli je použijí, nebo ne.
Co je token a k čemu slouží
Když v naší továrně přijde čas na samotnou objednávku, tedy prompt, je taky dobré si uvědomit, že ji nečte člověk. Stroj nechápe dotaz stejně jako my lidé. Jan Šedivý připomíná, že prompt prochází v jazykovém modelu takzvaným tokenizérem. Ten převede jednotlivá slova a znaky do tokenů, což jsou menší segmenty slov.
Pro každý jazyk jsou tokeny trochu jiné. V angličtině odpovídá jeden token zhruba čtyřem znakům, přičemž znaky jsou jednotlivá písmena, čísla, interpunkce, ale i mezera. Tokenizér může slovo rozdělit i na logické celky, například na kořen slova, předpony a přípony. Každému takovému segmentu následně přiřadí numerickou hodnotu, token, s níž jazykový model může pracovat. Tokenizér je v podstatě překladatel mezi lidským jazykem a matematikou.
„Pokud byste chtěl například zaznamenat 98 procent slov, které se objevují v českém denním tisku, potřebujete asi 1,5 milionu slov. Čeština je morfologický jazyk a každý tvar slova je samostatné slovo,“ připomíná Šedivý. Tokenizace slouží k tomu, aby se zmenšil objem dat, která jazykový model zpracovává.
Proč AI halucinuje
Pří tvorbě odpovědi pak model LLM naopak sestavuje slova z tokenů dle toho, jak se statisticky objevují jednotlivá slova společně v trénovacích datech, a v jakém kontextu se nejčastěji užívají. Jde tedy o statistiku. „Kdybyste vzal větu ‚zítra budou padat…‘, tak za slovem ‚padat‘ můžou být ‚rekordy‘, ‚větve‘, ‚kroupy‘. Tam hraje roli pravděpodobnost a kontext,“ vysvětluje expert z ČVUT.
Protože model vybírá slova z množiny vyhovujících slov, občas se může stát, že nevybere správně. Dle Šedivého pak může u odpovědi správně odpovídat gramatika a styl věty, ale nemusí to být odpověď, kterou bychom čekali. Obvykle se v takových případech říká, že AI halucinuje, ale ve skutečnosti je to statistická chyba.
Pokud se tedy například chatbota zeptáme na otázku: „Jaké bude zítra počasí?“ Může se nám v případě „halucinace“ stát, že program odpoví například: „Zítra budou padat rekordní odměny“. Občas si jednoduše chatbot vybere špatné slovo. „Protože se zabýváte distribucí slov, nikdy nemůžete mít naprostou jistotu, že to LLM vybere správně,“ doplňuje Šedivý. U nejmodernějších chatbotů je však pravděpodobnost této statistické chyby malá.
Jak AI rozumí otázce
Když zadáte chatbotovi otázku, využitý model LLM nechápe její význam, jako by ji četl člověk. Chatbot v podstatě rozebere prompt do tokenů, vyhledá relevantní informace, poté sestaví odpověď jako skládačku podle statistických metod a výsledek nakonec ve formě odpovědi napíše uživateli. Ani na konci stále nechápe podstatu sdělení. Populárně se strojové chápání textu přirovnává k metafoře „čínské místnosti“ od Johna Searla.
Forem metafory „čínské místnosti“ je vícero. Jednou z nich je ta, že máme místnost s obrovským množstvím čínských textů. Do místnosti vejde člověk, který neumí ani slovo čínsky, zavřeme dveře a pod dveřmi mu podáme papírek s otázkou v čínštině, spolu s podrobným návodem, jak sestrojit odpověď. Člověk by po určitém čase měl být schopen vyhledat relevantní čínské znaky a sepsat z nich odpovědět na otázku i bez toho, aby vlastně chápal, co v otázce bylo.