Stavíme otevřenou konkurenci pro ChatGPT, říká Čech, který hraje světovou ligu umělé inteligence

Stanislava Fořta dlouho fascinovaly černé díry a vystudoval Cambridge i Stanford. Dnes vede vývoj jazykových modelů v jednorožci Stability AI.

Jiří BlatnýJiří Blatný

stanislav_fort_stabilityaiRozhovor

Foto: Veronika Rollová

Stanislav Fořt ze Stability AI

0Zobrazit komentáře

Vědcem chtěl být od dětství a odborné práce psal už jako teenager. Tématem jedné z nich byla dynamika letu slunečních plachetnic ve vesmíru. Devětadvacetiletý Stanislav Fořt za sebou má dnes díky svému zájmu o vědu studium v Cambridgi a na Stanfordu, ale i práci ve významných startupech ze světa umělé inteligence, kde se věnuje výzkumu a vývoji velkých jazykových modelů. Nedávno právě kvůli tomu nastoupil do Stability AI, firmy za populárním obrazovým generátorem Stable Diffusion, a je výraznou českou osobností v oboru, který přitahuje pozornost celého světa. V rozsáhlém rozhovoru mimo jiné říká, že teď chce se svým týmem postavit konkurenci ChatGPT od OpenAI.

Fořt je z jižních Čech, studoval na osmiletém gymnáziu v Táboře a s chutí se účastnil vědomostních olympiád. „Věnoval jsem se hlavně matematice, fyzice a astronomii. Do toho jsem hodně programoval,“ vzpomíná. Právě úspěchy na těchto soutěžích mu pomohly až na prestižní britskou univerzitu v Cambridgi, na které získal stipendium. S programováním pokračoval i tam, na elitní škole ale studoval teoretickou fyziku.

Zajímaly ho tehdy hlavně černé díry, postupně ho to však táhlo jinam. „Na konci bakalářského studia jsem si uvědomil, že v hlubokých neuronových sítích je jedinečný potenciál,“ vysvětluje Fořt. K magisterskému studiu se z Británie přestěhoval do centra technologického byznysu na Stanfordovu univerzitu v kalifornském Silicon Valley, odkud má také doktorát.

Kromě univerzit zvučných jmen Fořt působil například také v projektu DeepMind, jejž v roce 2014 koupil Google a který vytvořil program AlphaGo. Ten v roce 2016 senzačně porazil šampiona ve strategické hře Go. Působil i ve startupu Anthropic, jenž vyvíjí jazykový model Claude, který je podle Fořta v současnosti schopen jako jeden z mála konkurovat ChatGPT od OpenAI. Nedávno se pak mladý Čech stal ředitelem vývoje a výzkumu velkých jazykových modelů ve Stability AI, jednom z vedoucích startupů v oblasti generativní umělé inteligenci, který mimo jiné stojí za populárním obrazovým generátorem Stable Diffusion.

K dalšímu vývoji dostala Stability AI vloni na podzim od investorů miliardy korun a stala se dolarovým jednorožcem. Od konkurence, jako je OpenAI, ji odlišuje otevřená filozofie vývoje produktů umělé inteligence, díky které mají uživatelé přístup ke kódu programů firmy a mohou s jeho pomocí stavět vlastní aplikace. V rozhovoru pro CzechCrunch Fořt mimo jiné vysvětluje, že i to ho na práci v této firmě lákalo. Popisuje také, v čem podle něj lidé často dělají při přemýšlení o umělé inteligenci chybu. Nebo jak s nástupem této technologie do rukou široké veřejnosti souvisí cynismus vědců, kteří se jejím výzkumem zabývali v minulosti.

Jak se člověk dostane od výzkumu černých děr k tématům jako umělá inteligence a neuronové sítě?
Na konci bakalářského studia jsem si uvědomil, že v hlubokých neuronových sítích existuje jedinečný potenciál. Když jsem v roce 2016 viděl, že program AlphaGo porazil tehdejšího šampiona ve strategické hře Go, což se podle odhadů nemělo stát ještě další dekádu či dvě, zaujalo mě to. Takže jsem se postupně na konci bakaláře začal umělé inteligenci přibližovat víc a víc.

Po bakalářském studiu v Anglii jste zamířil do Kalifornie na Stanford. Jak významná změna prostředí to byla?
Přechod do Silicon Valley pro mě byl moc důležitý, protože atmosféra tam je extrémně proaktivní. Na Stanfordu dávají velký důraz nejen na to, aby se člověk naučil, co nejvíc dokáže ve svém oboru, ale i na následné použití v praxi. Při magistru jsem vnímal, že umělá inteligence je obor, kterému bych se chtěl věnovat, ale neměl jsem ještě tak hluboké znalosti, takže jsem se snažil sám zorientovat a učit se. Vnímal jsem to tehdy tak, že systémy pravděpodobně internalizují něco, co by se mohlo charakterizovat jako intuice, nějaká speciální část, kterou lidé vnímají jako specifickou pro vlastní myšlení. Taková, která nespočívá jen v čisté výpočetní síle.

To je tedy něco, čím jste se začal zabývat? Znamená to, že neuronové sítě dokáží být kreativní?
Bezesporu. Když se podíváme na to, jak například program AlphaZero, který vychází ze zmíněného AlphaGo, funguje bez lidského vstupu a nezávisle se učí různé hry, tak vidíme, že pracuje s poměrně malým počtem informací, ale přesto pořád vyhrává. Dokáže nějakou svou intuicí vybírat informace tak, že jsou hodnotnější v porovnání s metodou, kterou používaly programy před tím.

stablediffusion

Foto: CzechCrunch/Stable Diffusion

Odpověď obrazového generátoru Stable Diffusion na zadání, ať zobrazí, jak se lidé baví o umělé inteligenci

Možná hloupá laická otázka, ale jak je možné, že program dělá něco, k čemu ho nikdo nenaprogramoval?
To je už úplně běžné. Když dnes trénujeme umělou inteligenci, neprogramujeme její schopnosti, ale nastavujeme architekturu neuronové sítě a trénovací proces. Ale už netušíme, jak se vstup přemění na výstup. Když dáte systému obrázek želvy, tak cesta od obrázku k tomu, aby systém poznal, že to je želva, je hodně komplikovaná. To je zajímavý aspekt neuronových sítí. Přestože jsou z podstaty absolutně průhledné pro naši analýzu a známe každé jejich propojení numericky naprosto přesně, tak nás i tak jejich emergentní (výsledné – pozn. red.) chování překvapuje. Což je rozdíl oproti exaktním vědám, jako je fyzika, kde tu nejhlubší úroveň neznáme. U neuronových sítí ji známe, a i přesto nás překvapují.

Nicméně se mi zdá, že hodně lidí dělá chybu, když řeknou, že neuronové sítě jsou jenom matematika, a tudíž nemůžou mít nějaké emergentní vlastnosti. Když totiž vezmete stejnou logiku a aplikujete ji na lidský mozek, dojdete ke stejnému závěru ⁠⁠– je to jen hromada iontových kanálů, které se otevírají a zavírají a posílají si při tom elektrochemické signály. To ale neznamená, že člověk nemá nějaké emergentní a komplikované vlastnosti, pocity a vědomí. Je zde tedy rozdíl mezi tím, že chápeme, co se děje na nízké úrovni, ale nerozumíme, co se děje na vysoké.

Umělá inteligence je v současnosti asi jedno z nejžhavějších témat. Pozorujete nějaký rozdíl mezi tím, jak její nástup do mainstreamu vnímá laická veřejnost, a tím, jak ji vidí experti?
Nejzajímavější mi na tom přijde, že odborníci, kteří v současnosti u výzkumu nejsou, mají někdy méně kvalifikované názory než laická veřejnost. Když si člověk může reálně vyzkoušet schopnosti programů, o kterých se tu bavíme, což někteří odborníci bohužel nedělají, logicky to na něj udělá dojem. Naopak lidé, kteří ve výzkumu umělé inteligence předtím strávili desítky let, se naučili, že takové věci reálně málokdy fungují. Zažili totiž už několik zim, kdy se například zarazilo financování těchto projektů.

Hodně lidí dělá chybu, když řeknou, že neuronové sítě jsou jenom matematika.

Takže jich dost zcyničtělo?
Ano, zdá se mi, že cynismu je dnes mezi odborníky docela hodně. Nebyl to tedy případ mého okolí v Silicon Valley. Tam dnes většina lidí se systémy umělé inteligence opravdu pracuje a vidí, že vývoj je o dost rychlejší, než jsme čekali.

Je ještě něco dalšího, co lidé nemusejí vnímat úplně správně?
Jedna věc, které jsme se už dotkli. Je pravda, že velké jazykové modely, které v současnosti vedou vývoj kupředu, jsou v podstatě trénované jen na to, aby predikovaly další slovo. Mají hromady dat z internetu, dostanou tisíc slov a úloha je předpovědět tisící a první slovo. Co si lidé často neuvědomují, je to, že abych byl dobrý v predikci například dalšího slova v počítačovém kódu, musím umět programovat.

Takže není pravda, že když se třeba zeptám ChatGPT na řešení matematické úlohy, že počítat neumí, ale jen předpovídá?
Jestli vnitřně prožívá nějaké porozumění, je otázka, kterou dnes nedokážeme vyřešit. Ale prakticky rozumět musí, protože úlohy prostě řeší. Dneska bych si ale spíše tipnul, že žádný subjektivní prožitek pochopení nemá. Nicméně to není tak jednoduchá otázka, jak by se mohlo zdát, jak jsme zmínili při srovnání neuronové sítě a mozku.

turchynmicrosoft

Přečtěte si takéInternetové vyhledávání a digitální reklama se změní, říká expertUmělá inteligence změní hledání na internetu i trh s digitální reklamou, říká expert Microsoftu

Každopádně to vypadá, že se programy naučily postup, který umožňuje řešit problémy, jako jsou různé rovnice a podobně.
Ano. To jde otestovat na aritmetice. Když po neuronové síti chcete, aby sčítala pěticiferná čísla, jeden způsob, jak to udělat, by byl zapamatovat si všechny kombinace pěticiferných čísel a umět na základě toho přiřadit správnou odpověď ke konkrétní kombinaci. Jenže jakmile se dostanete na více než třímístná čísla, není v silách neuronové sítě si takové informace uložit. Tudíž nejjednodušší způsob s tak omezenou kapacitou je najít si během tréninku nějaké algoritmické řešení.

A my u systémů opravdu pozorujeme nějaké emergentní schopnosti. Když zůstanu u aritmetiky, tak sice platí, že čím větší síť, tím lepší výsledek, ale to zlepšení je do určité úrovně docela marginální. Systém se v úlohách s pěticifernými čísly trefuje lépe a lépe, ale jen v určitém tempu. Jakmile se nicméně dostaneme nad určitou velikost modelu, zdá se, že nějak interně pochopí, jak se taková věc řeší. A najednou umí v podstatě perfektně sčítat.

Bavíme se tu o velkých řečových modelech, pojďme podrobněji popsat, co je to za technologii.
Modely jsou postavené na architektuře, což je typ zapojení neuronů, kterým se říká transformery. Je to architektura, která pochází z jedné studie Googlu. Většina autorů tohoto výzkumu má mimochodem dneska startupy, které právě transformery využívají k řešení různých problémů. Na tomto principu funguje i ChatGPT.

Vezme slova ve větě a rozdělí je na takzvané tokeny. To jsou jednotky typicky menší než slovo, někdy klidně i jedno písmeno, ale může to být i skupina slov. Tokeny se pak vkládají do vektorového prostoru. Může jich být třeba 65 536, což je dvě na šestnáctou. Každý token má přiřazený vektor, což je zhruba tisíc rozměrů, takže jednoduše řečeno tisíc reálných čísel pro daný vektor. Vstup jazykového modelu může mít třeba sto slov a každý z nich vektor má.

Tato sekvence prostupuje hromadou vrstev, každá vrstva v sobě má mechanismy, které síti umožňují dívat se na skupinu znaků nebo slov, které jsou ve větě, a nějak je spojovat a výsledky pak posílat dál. Tohle probíhá hodněkrát za sebou, takže systém je schopný najít asociace mezi jednotlivými slovy, pak asociace z těchto asociací a asociace z asociací těch asociací a tak dále. A to je vše, co model dělá. Na konci predikuje pravděpodobnost pro každé z možných následujících 65 536 slov. Když to takhle popíšu, nepředpokládal bych, že takový systém má schopnosti, které se podobají inteligenci.

Zdá se mi, že cynismu je dnes mezi odborníky docela hodně.

Už jsme zmínili, že existuje závislost mezi tím, jak velký model je, a jaké jsou jeho schopnosti. Jak silná tato závislost je?
Důkazy, že tomu tak je, jsou hlavně empirické. Kolem roku 2020 vyšel článek popisující zákony ve strojovém učení, kterým se anglicky říká Scaling Laws. Text ukázal, že čím větší síť a čím víc dat, tím lepší predikce. A zlepšení je navíc krásně předvídatelné. Takže máme poměrně silný empirický zákon, který jednoduše řečeno ukazuje, že když model zvětšíme, bude lepší. Vlastně nám říká, jaké optimální množství dat a parametrů potřebujeme, abychom nejlépe využili rozpočet, který máme k tréninku sítě stanovený.

Což je výhoda pro výzkumné laboratoře i z byznysového hlediska. Když třeba shánějí peníze pro větší model, mohou se odkázat na ten zákon.
Ano, přesně tak.

Velikost jazykových modelů, respektive jejich zvětšování, byl problém, kterému jste se věnoval po doktorátu na Stanfordu ve startupu DeepMind. K čemu jste v průběhu své práce tam dospěl?
Pracoval jsem na škálování umělé inteligence do větších velikostí. Tenkrát jsme řešili hlavně vizuální modely a zjistili jsme, že zvětšování vede k jejich větší robustnosti. Existuje článek s názvem The Bitter Lesson od Richarda Suttona, což je jeden z pionýrů takzvaného reinforcement learningu, principu strojového učení. V tomto článku z roku 2019 píše, že se zdá, že v podstatě veškeré naše snažení, které vynakládáme ke zlepšování umělé inteligence, není důležité v porovnání s dopadem, který má zvyšování výpočetního výkonu. To je podle něj věc, která vyhraje závod v umělé inteligenci. A podobný příběh jsem právě viděl i v DeepMind. Je to dnes docela mainstreamový názor, ale tehdy s tím ne úplně každý souhlasil.

pocitacovyvedec_stablediffusion

Foto: Stable Diffusion/CzechCrunch

Počítačový vědec podle obrazového generátoru Stable Diffusion

Velkým jazykovým modelům jste se věnoval i ve startupu Anthropic. Co vás tam zlákalo?
Anthropic založili autoři vědeckého článku, který světu představil jazykový model GPT-3. Ten ukázal, že se v modelu skutečně děje něco, co jsme nečekali. Tito lidé pak z OpenAI, která za GPT stojí, odešli a založili právě Anthropic a tam jsme poslední rok a kousek stavěli pravděpodobně jediný konkurenční jazykový model srovnatelný s ChatGPT, který se jmenuje Claude.

Můžete nějak přiblížit, jaký je mezi ChatGPT od OpenAI a Claudem od Anthropicu rozdíl?
Pardon, to bohužel nemůžu. Takové detaily jsou extrémně chráněné. Obecně ale má trénink takovýchto modelů tři fáze. První je předtrénink na hromadě nestrukturovaných dat. To může být cokoliv od tabulek po celou Wikipedii a tak dále. Číselně to může být zhruba až bilion slov, takže pro představu mluvíme o něčem, co je asi stokrát větší než Wikipedie, která má několik desítek miliard slov.

A vypadá to, že předtrénink formuje části kognice jazykového modelu, které pak můžeme podle potřeby zvýraznit při druhé fázi, kterou je takzvaný finetuning, tedy vylaďování na kvalitnějších datech. Když například ladíme model, aby uměl sledovat instrukce, dáme mu text s návodem, jak se daný pokyn krok po kroku plní. Model pak dokáže lépe reagovat. Poslední fáze byla velmi důležitým krokem od GPT-3 k ChatGPT. Je jím procedura, která modelu dává konzistentnější osobnost a schopnost reagovat lidštěji (procedura se jmenuje Reinforcement Learning on Human Feedback, zkráceně RLHF – pozn. red.). Model v této fázi trénuje na interakcích s lidmi, kteří hodnotí, jestli se jim interakce líbila, nebo ne.

Tohle je ale relativně drahý krok, protože potřebujete reálnou lidskou zkušenost. V Anthropicu nám nedávno vyšel nový článek, kde jsme ukázali, že dokážeme takové interakce simulovat pomocí několika umělých inteligencí, které se baví mezi sebou. Tím zvyšujeme počet dat, která generujeme, a snižujeme jejich cenu. Takový trénink je pravděpodobně i efektivnější než interakce s člověkem.

Chtěl jsem se přesunout do projektu, ve kterém bych mohl věci zase stavět od začátku.

Z Anthropicu jste nicméně už nějakou dobu pryč. Přešel jste do Stability AI, což je startup, který je zatím známý hlavně svým obrazovým generátorem Stable Diffusion. Co vás k přestupu motivovalo?
Chtěl jsem se přesunout do projektu, ve kterém bych mohl věci zase stavět od začátku. Stability AI začala formovat divizi pro jazyk a kód a nastoupil jsem tam jako vedoucí vývoje a výzkumu velkých jazykových modelů. Teď budujeme tým a naším úkolem je postavit modely pro programování a jazykové úlohy, které budou otevřené, budou k dispozici komunitně a zároveň budou kompetitivní s těmi nejlepšími uzavřenými systémy dneška, jako je ChatGPT. Právě obrazový generátor Stable Diffusion je dobrým příkladem open source přístupu, který Stability AI razí. Díky snaze komunity a týmu ve firmě se postupně zlepšil a teď se dá říct, že pro hodně aplikací je lepší než DALLE-2 od OpenAI.

Byl komunitní aspekt něco, co hrálo roli ve vašem rozhodování jít do Stability AI? Je to přeci jen něco, co ji odlišuje od jiných firem zaměřených na vývoj těchto modelů.
To je velká pravda. Věřím tomu, že interakce vývojářů s velkou otevřenou komunitou pravděpodobně povede k demokratizaci na straně jedné a ke zlepšení modelů na straně druhé. Otevřenost bude další významný rozdíl v mé práci. Bavili jsme se tu o Anthropicu a já jsem nemohl zmínit, jak vypadal náš model. Ve Stability AI budeme naopak publikovat všechno. Doufáme, že první prototyp našeho jazykového modelu bychom mohli lidem ukázat během docela krátké doby. Pracujeme taky na tom, abychom tam zahrnuli všechny nejmodernější bezpečnostní techniky, aby byl co nejbezpečnější k použití, na to se hodně soustředíme. Nechceme vypustit něco jen proto, aby to bylo rychle venku.

Říkáte, že modely chcete představit v docela krátké době. Můžete být konkrétnější?
Je hodně pravděpodobné, že budou k dispozici v řádu několika měsíců.