Publikováno před měsícem

Jak funguje ChatGPT? Takhle bych to vysvětlil u piva

U piva bych to vysvětlil takhle: slova dostanou souřadnice jako GPS, navzájem se zabarvují podle kontextu a výsledek je tak dobrý, že ani tvůrci nevědí proč. Funkce ChatGPT bez vzorečků a bez videí.

„Jak ChatGPT vlastně funguje?“ Pokusím se to vysvětlit stručně a srozumitelně, bez videí a bez vzorečků. Ale fakt neručím za to, že se to povede 🙂

Jedna věc hned na začátek: algoritmus není tajný. Tým výzkumníků z Googlu ho publikoval v roce 2017 pod názvem Transformer – původně šlo o vylepšení strojového překladu. Že z toho vznikne něco jako ChatGPT, tehdy netušil nikdo. Co se děje uvnitř, nedokáže nikdo přesně vysvětlit. Například v Anthropicu (tvůrci Clauda) existují celé týmy, které zkoumají, proč to vlastně funguje, a publikují o tom fascinující články.

Krok 1: Slova na souřadnice 📍

Když do modelu pošlete text, rozseká ho na kousky – slova, čárky, tečky (takzvané tokeny). Každý token má přiřazené souřadnice. Něco jako GPS. (Tyhle souřadnice vznikají během fáze učení, o té ale někdy jindy.)

A podobně jako u GPS: věci, které k sobě patří, mají blízké souřadnice. Praha a Brno jsou blízko sebe – obojí česká města. Češi a Slováci taky. Ale Tokio bude daleko od nich všech.

Se slovy to funguje podobně – „pondělí“ bydlí blízko „úterý“ a „středě“, všechny dny v týdnu pohromadě. A „banán“ bude úplně jinde. Na rozdíl od GPS, tady blízkost znamená podobnost významem. A není tu jen zeměpisná šířka a výška, ale tisíce dalších rozměrů.

Krok 2: Slova se navzájem zabarvují 🎨

Tohle je to, co v roce 2017 změnilo všechno. Vyšel článek Attention is All You Need – slovo „attention“ bych přeložil jako „zřetel“. Model bere zřetel na kontext.

Jak? GPT si propojí každé slovo s každým a odhadne, jak moc spolu souvisí. Podle toho jeho souřadnice trošku „zabarví“ – posune je směrem ke slovům, se kterými souvisí.

Příklad: vezměte si slovo „zámek“. Když se v jeho blízkosti objeví „dveře“ nebo „klíč“, jeho souřadnice se posunou k významu zamykací mechanismus. Když „věž“ či „hradby“ – k hradu. Když „mobil“ a „displej“ – k zámku obrazovky.

Jedno slovo, tři úplně jiné souřadnice. Protože GPT vzalo zřetel na okolí.

Krok 3: Jdeme do hloubky 🔬

Po zabarvení se souřadnice ještě proženou malou neuronovou sítí. Ta funguje jako jakýsi filtr – zabarvení řeklo „tyhle věci spolu souvisí“, a tahle síť z toho vyvodí důsledky.

Zabarvení + neuronová síť – to je jedna vrstva. A těch vrstev je u dnešních modelů klidně sto za sebou. Proto se tomu říká hluboké neuronové sítě. S každou vrstvou model zachycuje jinou rovinu významu.

Rané vrstvy řeší spíš vztahy mezi blízkými slovy. Hlubší vrstvy začínají zachycovat složitější vzorce – třeba ironii. Když někdo napíše „To se ti ale povedlo!“, na povrchu je to pochvala. Ale model v hlubších vrstvách dokáže z celkového kontextu rozpoznat, že to znamená pravý opak. Jak přesně – to výzkumníci stále zkoumají.

Krok 4: Zpátky na slovo 🎯

Na začátku jsme slova převedli na souřadnice. Ty souřadnice pak prošly stovkou vrstev zabarvování a přepočítávání – a teď v sobě nesou hluboké porozumění tomu, co se v textu děje. Kdo komu co dělá, jaký je tón, co bude logicky následovat.

A přesně z toho teď model vychází. Vezme souřadnice na poslední pozici textu a přepočítá je zpět na slova – pro každé slovo, které zná, spočítá pravděpodobnost, že by mělo následovat.

„Šel jsem do obchodu a koupil jsem…“ – souřadnice na konci tohoto textu po stovce vrstev zpracování v sobě nesou kontext nakupování, jídla, běžného dne. Takže „chleba“ dostane vysokou pravděpodobnost. „Mléko“ taky. „Rohlíky“ – proč ne. „Slona“ – spíš ne 🙂

Mohlo by se zdát, že stačí vždy vybrat to nejpravděpodobnější. Ale ukazuje se, že to vede k nudným, opakujícím se textům. Proto se do výběru záměrně přimíchá troška náhody. To je také důvod, proč model na stejnou otázku pokaždé odpoví trochu jinak.

Krok 5: A jak vzniká celý text? 🔄

Jednoduše: celý tento proces se opakuje dokola. Model vygeneruje jeden token, přidá ho k textu a všechno proběhne znovu. Token po tokenu, dokud není hotovo.


Když se na to podíváte zpětně, zní to skoro jako recept: rozsekat na kousky, přiřadit souřadnice, zabarvit kontextem, prohnat pár vrstvami, vybrat nejpravděpodobnější slovo, opakovat. Kdybych ten recept četl před pár lety, nevěřil bych, co z toho vznikne. Protože tenhle recept vede k něčemu, co má v sobě zakódované hluboké porozumění lidské řeči. Dokáže dělat věci, které bychom ještě před pár lety považovali za sci-fi.


Pokud vás to zaujalo, mrkněte i na další články o tom, jak modely fungují:

David Grudl Tvůrce open-source projektů a specialista na AI, který lidem otevírá dveře do světa umělé inteligence. Jeho projekty Nette a další používají weby, které denně navštěvujete. Píše na Uměligence, La Trine a moderuje Tech Guys. Organizuje AI workshopy a věří, že technologie mají smysl jen tehdy, když lidem skutečně pomohou.