Data Talk #35: Marek Rosa (GoodAI a Keen Software House)
epizoda#35 | vyšlo | délka | 682 poslechů | permalink | mp3
V dalším dílu Data Talk se tématicky držíme AI a to s jedním z nejpovolanějších hostů na tuto oblast, Markem Rosou, zakladatelem a CEO GoodAI a Keen Software House. Marek s námi probral, jak moc se změnilo budování obecné umělé inteligence od roku 2015 a jaké jsou synergie mezi jeho firmami. Zároveň nám představil jeho nový projekt, sandboxové RPG AI Odyssey, využívající síly autonomních AI agentů. Podcastem provádí Jiří Vicherek a Hynek Walner.
Strojový přepis
Dobrý den, moje jméno je Jirka Vyšorek.
Dobrý den všem, moje jméno je Hinek Volner.
A vítáme vás u dalšího dílu Data Talku.
Dneska naše pozvání přijal Marek Rosa, zakladatel a CEO GoodAI a Keen Software House.
Ahoj Marku, děkujeme, že jsi přišel.
Ahoj.
Marek je host, kterého jste nejspíš někdy slyšeli, protože jeho GoodAI je tady česká firma, která intenzivně pracuje na vzniku AGI, všeobecné umělé inteligence. A myslím si, že je to taková jedna z hvězd české technologické scény. My jsme si Marka pozvali hlavně proto, že trendy a věci, co se dějí ohledně umělé inteligence, jsou překotné a velmi dynamické, a chceme vidět, co si o tom myslí.
Předtím, než tak ale učiníme, tak první třetinu bychom chtěli věnovat příběhu Marka a tomu, jak se vlastně stalo, že kluk ze Slovenska začal tady stavět AGI. Tak Marku, kde to pro tebe všechno začalo?
Děkujeme za otázku. Ono to začalo, když mi bylo asi 14 let, kdy jsem vlastně začal programovat a dostal jsem se nějak pořádně k Pascalu a k počítači. A mě to začalo bavit. V té době jsem si ale i uvědomil, protože jsem v tom čase předtím četl sci-fi, tak jsem si uvědomil, že když uděláme umělou inteligenci, roboty, zautomatizujeme práci, tak vlastně odbouráme jeden z hlavních bottlenecků, který tu je. A to je množství inteligence na této planetě, že by jí mělo být mnohonásobně více než jen lidí.
A tak, že to bude vlastně přizpůsobenější těm novým problémům, které přijdou, když budeme chtít jako civilizace expandovat do vesmíru a lépe poznávat vesmír.
No a co jsi tak četl? Asimova?
Asimova. Už si přesně nevzpomenu, jestli v období, kdy mi bylo 14, ale četl jsem toho opravdu hodně, protože jsem byl tenkrát hodně knihomol. Četl jsem všechno možné. Ale určitě jsem četl i Ikáriu například. To byl pro mě úplný základ, ten časopis. A tak jsem programoval.
Bavilo mě dělat věci s počítačovou grafikou a něco, co jsem vnímal jako virtuální realitu. Takže jsem se věnoval hrám a to byla vlastně moje první firma. To je moje první firma, kterou jsem založil, Kings of Terra. Tam vyvíjíme hry, například Space Engineers. Ale pořád jsem měl v hlavě takovou druhou vizi, a to je udělat General AI.
Jedna věc byla vytvářet hry, to mě bavilo, protože člověk má pocit, že něco vytváří, vytvoří nějakou novou realitu v podstatě. A myslím, že vytváření umělých realit bude velmi důležitá věc v budoucnosti, kde podle mě se bude odehrávat většina našich zážitků.
Teď zpátky k GoodAI – podařilo se ho založit v době, kdy se nám dobře rozběhl Space Engineers a začalo to vydělávat tolik peněz, že jsem si mohl dovolit pustit se do GoodAI a nebylo potřeba už tolik šetřit.
Takže to bylo hned v roce 2015, kdy jsem GoodAI zahájil a odložil si na to velkou část peněz. Věděl jsem, že máme na deset let vystaráno a nemusíme se stresovat krátkodobými cíli, můžeme se soustředit skutečně na General AI a ne jen na nějaké úzké AI, vyřešit třeba Image Recognition a jiné menší úlohy.
A v jakých řádech byl takový rozpočet, když říkáš na 10 let dopředu?
Bylo to asi 10 milionů dolarů. Ono to reálně bylo nakonec trošku složitější, ale stále to tak financujeme.
Čemu se tedy teď věnuješ?
Kromě Space Engineers pracujeme na nové generaci našeho herního enginu Virage 3. Této práci ale momentálně nevěnuji tolik času. Nejvíce času zabírá GoodAI, kde jsou dva hlavní projekty: jedna je AI hra a druhý autonomní agenti.
K té AI hře – co je na tom zajímavé, je, že máme agentů…
Počkej, ještě nepřeskakujme k té AI hře. K King Software House – když jste vydali Space Engineers, začali to hrát lidé, jak to přijali ve firmě, když jsi přišel a řekl: „Hele, jdu dělat druhou firmu, která nebude mít s gamingem téměř nic společného?“ Nakonec to sice souvisí, ale jak vznikalo to rozhodnutí, jak to probíhalo, jak se to řešilo?
Jelikož to byla moje firma, mohl jsem dělat, co jsem chtěl. Také to byly moje peníze, takže kolegové, které jsem tam v té době měl, to brali s určitým pochopením.
Možná to úplně nepochopili v tom smyslu, že by to sami nedělali, možná by radši peníze investovali jinak, třeba koupě něčeho nebo tak, ale nikdo mi to nijak negoval. Takže to brali v pohodě. Pravděpodobně viděli, že budu mít méně času na hry, což mohli vnímat jako negativum, ale to jsme se naučili manažovat.
Snažím se totiž, abych nebyl překážkou v těchto firmách, a deleguji co nejvíce práce. Existují situace, kdy to nejde, zejména pokud chci, aby něco bylo přesně podle mé vize, ale pokud jsou procesy už zaběhnuté a je k dispozici dobrý tým s lídry, tak to běží samo.
Například u Virage to má na starosti jeden kolega, který vede asi 15 lidí, a funguje to velmi dobře. Já se starám vlastně jen o strategii, nastavujeme si KPI, které engine má splňovat například z pohledu vizuální kvality, výkonu a dalších parametrů. Ta práce je spíše sporadická, pak to nechám na nich.
Když se teď vrátíme k roku 2015, kdy byla GoodAI založena, jak vypadal tehdy technologický stav v oblasti obecné umělé inteligence?
Rok 2015 byl před obdobími, jako je AlphaGo. Vlastně general AI bylo považováno skoro až za špatné slovo, za něco naivního nebo nereálného. Z velkých firem tam například Google měl svůj výzkumný tým Google Brain, který se věnoval více obecné otázce AI, měl za cíl AGI, ale mnoho jeho vývojářů tomu moc nevěřilo. Byla tam taková zvláštní schizofrenie.
Facebook a jiné firmy tam také zakládaly své týmy, DeepMind vznikl zhruba ve stejné době nebo o něco dříve než GoodAI. DeepMind byl tehdy taktéž neznámou firmou.
OpenAI tehdy ještě neexistovalo a celkově bylo v oblasti AI méně lidí. Mnoho výzkumů se zaměřovalo na tzv. narrow AI problémy, tedy úzce specializované úkoly jako analýza dat, rozpoznávání obrazu, které byly specifické a špatně přenosné do jiných domén.
Modely fungovaly často jen na trénovacích datech, ale na testovacích nebo validačních datech už ne, což znamenalo, že nebyly dostatečně robustní.
Bylo velmi obtížné trénovat modely, aby měly kvantitativní kvalitu použitelnou v byznysu. Například model dosahoval 50 % úspěšnosti na testovacích datech poměrně rychle, ale zlepšit to na 60 % vyžadovalo měsíc práce, na 70 % půl roku a 80 % i dva roky, a pak už se pokrok zastavil.
V takové situaci jsem přemýšlel, zda přistupovat ke strojovému učení přes deep learning, kterému jsem původně nevěřil, měl jsem pocit, že nebude schopný skutečně generalizovat, protože vždycky přeučuje (overfituje) na trénovací data.
Zkoušeli jsme různé jiné architektury a přístupy.
Když jsi tedy získal finance, najal tři datové vědce – jak vznikl původní tým a jak znělo jejich první zadání? Říkal jsi: „Teď tři měsíce budete číst všechny research papery, pak si řekneme, co dál,“ nebo to bylo jinak?
Bylo to skutečně tak, že jsme nejen tři měsíce, ale i dva roky trávili čtením, diskusemi a přemýšlením o tom, co by měla být naše roadmapa. Možná jsem tím i některé štval, protože jsem pořád říkal, že musíme mít dobrou roadmapu, dopředu to dobře promyslet, než do toho skočíme.
Někteří lidé byli odhodláni vzít první nový paper, který vyšel na konferenci, a rovnou to implementovat s tím, že to je cesta k AGI. Ale já jsem si říkal, že to nemá smysl, že nemůžeme jen tak náhodně implementovat věci bez hlubokého pochopení finálního cíle, technických detailů a bez rozdělení na menší úkoly, které postupně vyřešíme.
Takže jsem se hodně věnoval chápání, co je to inteligence, co je to agent, jak otestovat, zda je něco inteligentní, co znamená se učit postupně a tak dále.
Prvotní tým tvořili většinou lidé, kteří studovali strojové učení nebo matematiku, nebo informatiku na českých univerzitách.
Pokud se posuneme asi o 2 až 4 roky dál, tedy když jste měli už zpracovanou roadmapu, co jste si vyslovili jako rozhodující cestu k obecné umělé inteligenci?
Po těch letech stále nebylo jasné, jak by měla vypadat finální architektura – jaký typ neuronů použít, jak mají mezi sebou komunikovat, jaký je regulační signál, a jak z něčeho, co zpočátku nemá jasnou strukturu, vybudovat systém, který dokáže plnit různé úkoly a učit se je plnit.
Při trénování neuronové sítě existují pravidla, a my jsme přemýšleli, jaká by měla být ta naše neuronová síť, aby umožňovala právě kontinuální učení. To bylo velmi důležité.
Druhá věc, kterou jsme vytvořili, bylo mít benchmark – vytvořit datový dataset, kterým budeme měřit, jestli se agent učí postupně, jestli dokáže využívat dřívější znalosti k efektivnějšímu osvojování nových.
Takový dataset jsme vytvořili a publikovali jako soutěž s názvem General AI Challenge. Byly dvě kola, první si už přesně nepamatuji, ale druhé bylo právě toto.
Zapojilo se mnoho lidí z komunity, byla finanční odměna, a nakonec vyhrál člověk, který byl astronautem NASA. Pravděpodobně na důchodě nebo to bylo jeho hobby.
Problém byl v tom, že soutěžící optimalizovali své systémy přímo na ten benchmark, takže nikdo nesplnil požadovanou úroveň kvality, kterou jsme vyžadovali – bylo tam cca 20 úkolů a systém se zastavil na asi 15. úkolu a dál se již nenaučil vyřešit další.
Na těch prvních 15 úloh měli spíše hardcoded postupy.
Dataset jsme měli rozdělený na takový ukázkový a tajný validační dataset. Soutěžící mohli ladit své systémy podle veřejné části, ale neznali ten tajný dataset.
Žádný systém ale nevykazoval univerzální učení, jaké jsem očekával.
Stále jsme zkoušeli nové architektury, ale byla to těžká doba, protože ve vlastním týmu bylo obtížné vysvětlit vizi a co přesně rozumíme pod kontinuálním učením. Často vznikala nedorozumění i na základní úrovni.
Před asi třemi lety nás napadlo pracovat na projektu, který jsme nazvali Memetic Budget.
Je to taková architektura, kde si představte, že máte agenty v nějakém 2D prostředí. Každý agent je definován sadou mémů.
Mémy se mezi agenty replikují podobně jako u lidí, dochází k selekci, variacím a replikaci, tedy evoluci.
Chtěli jsme, aby agenti, řízení těmito mémami, mohli mezi sebou spolupracovat nebo soupeřit o zdroje jako jídlo, mohli vytvářet větší skupiny, což by vedlo ke komplexitě větší než samotný jeden mém. Kombinací více mémů dochází k teoreticky neomezené komplexitě.
Cílem bylo, aby v takovém evolučním systému vznikaly stále složitější mémy a skupiny agentů.
Na tomto jsme pracovali, ale projekt jsme asi před dvěma týdny pozastavili, protože nedocházelo k očekávanému otevřenému růstu komplexity. Evoluční systém se nakonec saturuje a dál neroste, což je problém, který mají často i evoluční algoritmy.
Text bohužel končí uprostřed poslední věty, takže zde nemohu pokračovat. Pokud máte další části textu, rád je upravím.
Jaký je ten systém, kde je nějaká fitness funkce, která je jasně definovaná, a vlastně evoluční algoritmus optimalizuje směrem k této fitness funkci, a když je dosaženo, systém se zastaví? Nejedná se o takový systém. Náš systém je takový, že vzhledem k tomu, že je tam mnoho agentů, přičemž každý má jiné mémy, tak v podstatě každý z těchto agentů představuje jinou fitness funkci. Nové fitness funkce vznikají vlastně tím, jak mezi sebou soutěží a jak operují. Takže alespoň teoreticky je to open-ended systém, systém, který si interně vytváří nové problémy a zároveň hledá řešení těchto nových problémů. Teoreticky by měl růst do nekonečna.
Zjevně ale máme nějaký problém v tom, jak ti agenti spolu komunikují a jak vytvářejí skupiny. Dříve jsme doufali, že budou vznikat větší celky, které bychom mohli nazvat například obvody (circuits). Jenže to se nedaří, takže jsme tento směr na chvíli pozastavili. Teď se právě věnujeme autonomním agentům, a za tím je docela silný důvod, pokud mohu říct.
Ještě k této problematice: Jak to vypadá? Jak se to staví? Děláte to v nějakém 2D prostoru jako herní engine? Nebo je to čistě matematická funkce? A představujete si, že spolu ti agenti jako by mluví? Že antropomorfizujeme?
Mohu vám to i ukázat. Bohužel to neuvidí lidé, kteří nás poslouchají, ale vy byste měli mít alespoň něco na ilustraci. Toto je vizualizace. Někdo by mohl říct, že je to jako simulace částic. Tento program běží na GPU a je napsán v jazyce Julia. Z nějakého důvodu jsme zvolili právě Julii. Je to v podstatě napsáno jako simulátor částic, což znamená, že můžeme paralelně simulovat všechny tyto částice, v našem případě tedy agenty. Takže se to velmi dobře paralelizuje.
Je tam základní fyzika, takzvaná softbody physics, což znamená, že částice se mohou odpuzovat nebo přitahovat. Není tam složitější fyzika jako rigidní tělesa a podobně. Jsem rád, že jsem se zeptal. Co vidíš, Jinku? Můžeš to popsat našim posluchačům?
Viděli jsme 2D prostor, v podstatě simulaci částic. Můžeme chápat, že každá částice je agentem a pravděpodobně mezi nimi probíhá určitá kooperace, například u těch žuků, které jsme viděli. Ano, to je správné.
Chceme, aby z těchto žuků vznikaly trvalejší celky, podobně jako organismy, které by mezi sebou kooperovaly a zároveň soupeřily. A opět by vznikaly větší celky s nějakou sofistikovanější logikou – takový život v podstatě. Nejkomplexnější, čeho jsme dosáhli, je právě to, co vidíte.
Myslím si však, že to není proto, že by to nebylo možné, ale jen proto, že se nám nepodařilo přijít na to, jak by měly ty skupiny agentů vznikat tak, aby jim to poskytlo okamžitou výhodu být ve skupině. Často se stane, že když jsou spolu ve skupině, tak jim to žádnou výhodu nedává, spíše naopak vzniká nějaká nevýhoda. Proto evolučně není výhodné se spojovat do skupin, což je nastavení simulace nyní. Nevím, jak dlouho by to trvalo, kdybychom to dovedli vyladit.
Záměr byl, aby nakonec vznikly skupiny agentů, které by byly inteligentní, protože inteligencí je možné lépe soupeřit a spolupracovat než bez ní. Kdyby k tomu došlo, mohli bychom systém násměrovat tak, aby plnil úkoly užitečné pro nás.
Co bylo vlastně vstupem do systému? Nebo možná přesnější otázka: Ty mémy…
které definovaly agendu těch agentů – dá se to nějak přirovnat k vlastnostem nebo bazálním potřebám organismu, co definovalo systém jednotlivého agenta? Agent má tělo, tedy částici, má nějaké pozorování – vidí, co je kolem něj. Má určité zorné pole, a tam probíhá takzvaný raycast, takže má vektor přibližně o deseti číslech, kde každé číslo určuje vzdálenost v daném směru zorného pole.
Kromě toho je tam další vektor, který obsahuje ID objektů, které vidí, například jídlo, jiného agenta nebo člena své skupiny a podobně. To je tedy vstup agenta. Výstupem je akce, například pohyb nebo, nyní jsme tam přidali možnost střílet laserem, aby tam byla nějaká soutěžení.
Uvnitř agenta jsou mémy, které lze představit jako pravidla řídící chování agenta. Je to trochu složitější, ale mémy v každém časovém kroku hlasují, který z nich bude aktivní a bude řídit chování těla agenta. Zároveň se rozhodují, zda přijmou nový meme přicházející od jiného agenta, nebo ho odmítnou. To je něco jako sexuální výběr v evoluci – rozhodneš se, zda přijmeš novou vlastnost či nikoli.
Ty mémy lze přirovnat k behaviorům – nejsou to jen pasivní vlastnosti, ale chování agenta, které je podmíněné pozorováními a také interním stavem, například pamětí.
Dále je třeba zdůraznit, že jsme pro tento systém nedefinovali žádnou externí fitness funkci, tedy fitness funkci přicházející zvenčí. Fitness funkce totiž vznikají zde v systému samy. Samozřejmě zde vždy existuje základní fitness funkce, a to je přežití – kdo přežívá lépe, lépe šíří své geny nebo mémy. To je univerzální fyzikální zákon.
Kromě tohoto principu se domnívám, že tam nebyl žádný jiný princip podobný fitness funkci, kterou bychom mohli do systému vnějšími silami tlačit. Doufali jsme tedy, že systém si sám vymyslí vlastní problémy a cíle.
Kolik takových projektů vlastně běželo paralelně? Nebo zda šlo jen o jediný pokus, do kterého jste investovali zdroje a pozornost, ale ukázalo se, že to je slepá ulička, a teď hledáte další směr? Nebo jak nad tímto projektem přemýšlíte, jako „hard things about hard things“ – že vlastně nemáte tu cestu?
Podle mě je to zajímavé v kontextu start-upů. V dnešní době má každý start-up podrobný plán. Když si děláš early-stage plán svého SaaS pro logistiku, tak už máš know-how, co máš dělat. Ale tohle tady ještě není, je to úplně R&D.
Na začátku jsme takových projektů měli paralelně i více, třeba 5 až 10, podle počtu lidí v GDI a poměru sil. Snažil jsem se vždy, i když bylo těžké to týmu komunikovat, že každý nový směr, experiment by měl mít způsob, jak validovat, zda jde o dobrou hypotézu, dobrý nápad.
Některé projekty ale byly těžké takto zkoumat, protože někdo přišel s nápadem, kterému jsme úplně nerozuměli. Když jsem ho poslouchal, říkal jsem si, že nevím, jak se to souvisí s AGI. OK, funguje tam něco, ale nevidím další kroky. Často ani ten člověk sám neuměl vysvětlit, jak to dál bude. Často jsem takové projekty podporoval na slepo, jen abychom viděli.
Problém je, že je velmi těžké po určité době, ať už třech měsících či roce, ověřit, jestli projekt pokročil, jestli byly potvrzeny či objeveny nějaké hypotézy, které byly na začátku. To bylo velmi náročné i pro mě. Často jsem podporoval věci, kterým jsem vlastně nevěřil, ale dal jim šanci. Finančně to bylo nepříjemné, protože jsem si říkal, že raději podpořím něco jiného.
Postupně se tak některé nápady vytratily, protože i zkušenost byla taková, že když mi někdo na začátku nedokáže vysvětlit, proč by to mělo fungovat a být cesta k AGI, vidím v tom obrovské nedostatky ve vizi, pak je pro mě hloupé takový směr podporovat, když můžu podporovat jiné.
Zavedl jsem si proto princip, že nebudu podporovat věci, kterým nerozumím. Měl bych mít rozum, abych do toho mohl s jistotou investovat energii a další zdroje.
Nicméně asi před třemi lety jsme začali pracovat i na AI hře, která byla výsledkem týmu, jenž předtím u nás dělal aplikovaný strojový learning pro firmy, tedy konzultace v ML. Byl to také experiment.
Chceš se u něj zastavit? Můžeš.
Spustili jsme to, pak asi po třech letech ukončili. Byl to nápad – spolupracovat s jinými lidmi, kteří nebyli výzkumníci, ale spíše inženýři a byznysmeni. Snažili jsme se dělat konzultace v ML pro firmy, zjistit jejich use-cases a pak okolo toho vytvářet nějaké aplikace. Udělali jsme hodně zakázek a byl to trochu ziskový směr.
Problém byl ale v tom, že ML většinou nepřináší zásadní řešení problémů zákazníků, spíš to stálo hodně peněz a bylo tu riziko. Když jsme slíbili zákazníkům AI řešení dohlížející třeba na vady ve výrobě, musela být určité kvality, protože pokud systém měl polovinu falešných poplachů, bylo lepší jej vypnout než jej trápit.
Člověk musí dosáhnout určité přesnosti, ideálně lepší než lidské oko. Často bylo tak drahé AI řešení, že pro firmu bylo během let výhodnější, než si najmout dva brigádníky. Za cca 10 milionů korun jste mohli mít AI, která řeší problém na roky.
To mě donutilo říct si, že nechci řešit pomocí AI takové blbosti. Nechci jen nahrazovat lidi, chci, aby AI tvořilo něco úplně nového, co bez lidí nevznikne. Aby AI zvládla práci tisíce lidí, ne jen vyhodit brigádníka nebo někoho v továrně bez jiné možnosti.
Tento směr jsme potlačili, dokončili poslední zakázky a část týmu přešla právě na tu hru. Právě tam vzniknul nápad. Byl motivován myšlenkou, že pokud vytvoříme hru s agenty, kteří se budou od hráče učit, budou vnímat prostředí a budou v něm umět konat, může nás to více přiblížit k AGI a přinést praktické i komerční aplikace.
Aby to nebyly jen akademické diskuze o definici inteligence, které mohou neskončit nikdy. Někdo s ní bude souhlasit, někdo ne, ale nedojde se k hmatatelným výsledkům. To je něco, co mě vadí.
Roadmapa byla proto velmi konkrétní a čím konkrétnější, tím lepší, tedy měřitelnější. Ve firmě platí, že pokud to neumíš měřit, nemůžeš to optimalizovat, maximalizovat nebo zlepšovat. Jsou případy, kdy to neplatí, ale obecně by měl být tohoto cíle každý vždy vědom.
Ještě než se dostaneme k AI hře, připomeňme synergií s Keen Software House. Byla tam nějaká? Pamatuji, že jste se hodně učili na hrách. Byla to náhoda nebo tam probíhaly nějaké přenosy znalostí?
Totéž platí o Good AI Applied?
Ano.
Good AI Applied byla vlastně jen značka, nebo také výzkum a vývoj a know-how vyvinuté v Good AI? Mělo to smysl na trhu?
Podle toho, co říkáš, tak vlastně ne, že?
Všichni chtěli black box – úzké, jasně definované krabičky – a nebyl tam přechodník. U Good AI Research se řešil skutečný základní, fundamentální výzkum, velmi vzdálený od reálného komerčního využití, protože jsme byli na špičce vědy.
Ano, přesně tak.
Poté Applied – to byly projekty na úrovni nápadů, hypotéz a podobně. Čím výše jdeš v technologické připravenosti (technology readiness level), tím více je věc ověřená. U Applied jsme se soustředili na oblasti, kde už existovaly publikované články, benchmarky a výsledky, na které se dalo navázat. Ideálně tam bylo i zdrojové kódy, což nám umožňovalo rychle testovat, jestli to bude fungovat.
Kde do toho zapadá Keen Software House?
Jen trochu, řekl bych nedůležitě. Pracovali jsme například na agentech, které jsme trénovali ve hře Space Engineers, ale není to úplně vhodný simulátor pro machine learning. Space Engineers běží na 60 fps a není žádný smysl běžet rychleji.
Dokázali jsme Space Engineers spustit bez vykreslování, kde běžel simulátor na stovky fps fyzikálních kroků, ale i to bylo málo, protože by bylo potřeba tisíce kroků za sekundu.
Používali jsme Space Engineers jako simulátor pro roboty a agenty, ale nebyl to zatím významný směr. Možná časem bude, nebo se k tomu vrátíme.
Dělali jsme například evropský projekt Very Dream, kde jsme řešili některé věci z Good AI. Jeden z úkolů bylo natrénovat robotického kontroléra, který umí ovládat nohy robota ve Space Engineers, takže může chodit i po nerovném terénu.
Teoreticky by bylo možných to udělat v jakémkoli jiném robotickém simulátoru. To, že to bylo ve Space Engineers, bylo spíš hezké, že to nějak propojuje.
To je zajímavé, protože když jsi zmínil AI hru, v mé hlavě bylo zajímavé, že to přišlo z Good AI Applied a ne z Keen Software House, protože jsem tam viděl obrovskou synergii mezi Keen Software House a Good AI.
Ve skutečnosti to ani nepřišlo z Applied – do toho zasáhli téměř lidé z Good AI Research.
Tam nás to nejako tak napadlo, že naozaj urobiť komerčnú hru, kde cieľom bude, že máš agenta alebo agentov a potrebuješ ich trénovať, že nám to vlastne spätne v tom výskume niečo pomôže, pretože začneš zrazu riešiť praktické problémy. Myslím si práve často, že praktické problémy ťa donútia riešiť veci také, aké naozaj sú. Je to taký stret s realitou, pretože v tom výskume si niekedy ľudia môžu problém, ktorý riešia, „ohnúť“ tak, aby dosiahli nejaké výsledky, no vlastne sa neposunú ďalej. Ale realita je taká, že ťa jednoducho nepustí. Napríklad komerčne to funguje tak, že buď bude hra úspešná, alebo nebude. To sa nedá nejako obísť – buď bude, alebo nebude. Alebo keď v tej hre niečo funguje, tak to buď funguje, alebo nie. Nie je to tak, že si urobím nejaký jednoduchý vedecký experiment, nejaký „toy task“, kde vypnem hromadu vecí len preto, aby som ukázal jeden scenár, v ktorom mi to funguje. To si nemôžeš dovoliť, keď robíš komerčný produkt.
Takže to bola motivácia za tým urobiť hru – mať nejaký reálny komerčný problém aj s možnosťou komerčného úspechu na konci. Zároveň sme sa chceli pri výrobe agenta do tej hry naučiť ešte lepšie, čo to vlastne znamená a čo potrebuješ, keď chceš takéhoto agenta trénovať.
Môj svetlo a dvojka, keď sleduješ, ako opakuje tvoje akcie a tak ďalej, to si myslím, že bolo dosť užitočné. Jednoducho to nebolo iba tak, že „robíme…“ Lebo napríklad vo vede je veľa ľudí, ktorí keď ich spýtaš na cieľ, tak sa postavia na zadné. Absolútne nechcú, aby im niekto určil cieľ. Oni si robia výskumnú agendu podľa toho, čo ich zrovna zaujíma, čo ich napadne a tak ďalej. A je to samozrejme dobré, pretože musí tam byť kreativita a vášeň. Keď má výskumník vášeň pre nejaký smer, pôjde mu to lepšie, než keby si ho do niečoho násilím tlačil.
Ale ja som si hovoril, že takýto prístup – že vôbec nemáš cieľ – je fajn, ale mne úplne nevyhovoval. Vždy som mal cieľ, že na konci bude agent, ktorý automatizuje inteligenciu. Mať niečo ešte konkrétnejšie medzi tým – teda agenta do hry, kde to nemusí byť až tak spoľahlivé, ako v biznise, ale je to len hra – som si povedal, že to je niečo veľmi konkrétne, na čom sa vieme ľahko dohodnúť v tíme, nebude sa to dať nejako obchádzať alebo inak interpretovať. Takže to bol ďalší dôvod, prečo mi vyhovoval nápad robiť hru.
Môžeme si pokojne tú hru bližšie predstaviť? Ty vlastne popisuješ, aké sú ciele hry, ale konkrétne – je to v podstate štandardná hra, ktorej cieľom je baviť a zároveň sa na nej môžete viac naučiť a trochu pokročiť vo výskume? Alebo je to niečo medzi tým? To ma zaujíma, že ešte nemám úplne predstavu, ako si to predstaviť.
Tam boli asi tri ciele. Jeden bol výskumný – že nás vývoj hry nakopne v tom výskume konkrétnejším cieľom. Potom boli dva ďalšie ciele, ktoré sa časom vyvinuli. Jeden z nich bol, že musíme urobiť hru, ktorá bude komerčne úspešná, zarobí peniaze, bude zaujímavá a tak ďalej. A ten druhý cieľ bol urobiť hru s unikátnym herným zážitkom. Len vytvoriť nejakú hru, ktorých už je veľa, podľa mňa nemá zmysel, to je strata času.
Išlo teda o to, urobiť hru, ktorá prinesie hráčovi nový druh zážitku, ktorý doteraz nemali. Keď to spojíte s AI, poviete si, jasné, v hrách dnes sú nejaké AI, ale to sú zväčša iba skripty. Chýba tam množstvo vecí – agenti v hrách sa často neučia, nevnímajú prostredie v celej šírke, a hlavne sa nevedia učiť. Ich osobnosť, emócie sú asi iba emulované skriptom, veľmi jednoduchou formou, nie plnohodnotnou sandboxovou emuláciou osobnosti a emócií.
Takisto sa nevedia učiť, ako som spomenul. Toto začalo u mňa dominovať – urobiť hru, ktorá je niečím skutočne unikátna a prinesie na trh niečo revolučné. A keď v tom uspejeme – hra ešte nie je vydaná, stále je tam riziko neúspechu – no ak uspejeme, hráči ju budú kupovať práve preto, aby zažili ten nový pocit, že majú agentov, ktorí myslia, majú vlastné emócie, môžu medzi sebou komunikovať, interagovať s prostredím, vznikajú emergentné príbehy, ktoré hráčovi vytvoria zaujímavý zážitok.
To je pointa, Westworld. Niečo ako Westworld, presne tak, to je jedna z vízií.
Teraz vám to môžem vysvetliť na videu, ktoré bohužiaľ ľudia nevidia. Chcete, aby som ho spustil? Ok.
Toto je súbeh, ako Markova hra funguje. Dal som to na YouTube, takže je to verejné. Na tomto videu sú tri postavičky – jednu ovláda hráč, dve sú agenti, NPC – manžel a manželka. Hráč povie manželke, že videl jej manžela, ako sa bozkáva s Irinou, a od tej chvíle je celé správanie emergentné – nie je nič naskriptované alebo pripravené vopred.
Manželka sa naštve, ako vidíte v texte, to sú jej myšlienky. Rozmýšľa, čo urobí, rozhodne sa vziať panvicu do ruky a je naozaj nahnevaná. Rozhodne sa konfrontovať manžela, vyzve ho na rozhovor a začnú diskutovať. On sa snaží vysvetliť, že to bola chyba a už sa nebudú bozkávať s Irinou.
Teraz trochu preskočím, pretože ich dialóg je pomerne dlhý. Nakoniec jej psychika praskne, príde za ním a panvicou ho udrie. On uteká preč.
Zaujímavé je, že keď tú scénku hráme druhýkrát, vďaka náhodnosti v AI, situácia sa môže vyvinúť inak. Napríklad on ju presvedčí, že sa s Irinou nebozkával, že hráč si to vymýšľa a je manipulátor. Manželka sa naopak nahnevá na hráča a ide za hráčom, ktorého začne biť panvicou.
Takže v hre vznikajú takéto emergentné príbehy, a to je sila hry. Dúfam, že hráčov to zaujme práve preto, že tam sú inteligentní agenti, dynamický systém a hráč do neho môže nejako zasahovať a pozorovať následky svojich akcií.
Keď poviem, že hráč len jednu vec povedal – že videl, ako sa Sean bozkáva s Irinou – a všetko ďalšie sa deje emergentne, prirodzene, zaujíma ma sledovať tieto dôsledky. Výsledkom by mal byť zážitok, ktorý by som prirovnal k sledovaniu reality show s tým, že hráč do nej môže zasiahnuť. Povedať napríklad, že teraz ten hráč alebo účastník reality show povie niečo a sledovať, čo sa stane – aké peklo nastane.
To je vízia.
K tomu ma napadá otázka – ako veľmi ste obmedzení rôznymi limitáciami dynamického systému? Pretože mi napadajú rôzne vtipné gify zo Skyrimu, kde NPC majú na hlave meč a nevidia, alebo naopak bezpečnostné obmedzenia… Harmónia takéhoto divokého systému môže spôsobiť veľa zaujímavého chaosu, ktorý nemusí vždy byť prijateľný. Premýšľate o tom?
Sú dve veci. Prvá, že niektoré veci sú v poriadku, keď vzniknú. Napríklad ten kybel na hlave je srandovný a navyše hre pomohol marketingovo. Takže také veci mi vôbec neprekážajú. Ale sú situácie, keď niečo nedôjdeme. Hra je sandbox, nie je lineárna adventúra. Máme backstory, sú tam obmedzení ľudia, no vývoj závisí od akcií agentov a hráča. Nie je tam žiaden pevný koniec, v skutočnosti nevieme, ako to skončí.
Druhá oblasť obmedzení je, aby nevznikali veci, ktoré sú povedzme nelegálne, napríklad aby hráči nemanipulovali agentov na tvorbu detskej pornografie alebo nacistického obsahu a podobne. Zatiaľ to nemáme, ale plánujeme pridať nejaký „parental lock“, ktorý detekuje zakázané témy a zatiaľ to zastaví.
Na druhej strane nie som úplne zastáncom maximalizácie obmedzení. Snažím sa maximalizovať slobodu hráčov, nech si oni rozumejú, čo chcú, ideálne by som ani nič nezakazoval. Ale nechcem vytvoriť hru, ktorá bude známou práve pre nešťastný obsah, ako napríklad detskú pornografiu. Preto tam určite bude parental lock.
Rád by som sa vrátil niečo späť na zem, než sa opýtam, akú rolu v tom zohrávajú veľké jazykové modely, a preklenieme tak vlnu súčasných trendov. Čo sa teda reálne deje vo vašich systémoch, keď tam pošlem napríklad bozkávanie s Irinou?
Dôležité je povedať, že agenti sú emulovaní na veľkých jazykových modeloch (LLM). Momentálne používame väčšinou OpenAI modely, pretože potrebujeme vysokú kvalitu. V budúcnosti plánujeme prejsť na open-source modely, ideálne bežiace lokálne na klientovi u hráča, aby sme nemali náklady na cloudové služby.
Ako to funguje? Hra vytvorí pozorovania (observations) reprezentované v texte, pretože jazykový model rozumie len textu. Tento text ide ako prompt do modelu, spolu s backstory agenta. Z dlhodobej pamäte (long-term memory) sa vyberú relevantné spomienky k danému kontextu. Potom je tu popis API hry, teda akcie, ktoré môže agent v danom svete vykonať, pretože jazykový model nepozná fyziku sveta – nevie, čo s kameňom urobiť, či ho zdvihnúť alebo rozbiť, závisí to na hernom svete.
Model potom predikuje akciu agenta, ktorú my následne v hre interpretujeme.
Na prvý pohľad znie všetko jednoducho, ale realita je komplikovanejšia a je veľa vecí, ktoré treba riešiť, aby to naozaj fungovalo.
Napríklad, aby sa agenti chovali zaujímavo. Jazykové modely sú trénované cez RLHF, teda násilím spätnej väzby, na slušné a etické správanie. Ale v hre máme väzenie a jedného strážcu, ktorý by mal byť zlý chlap. Jazykový model sa však štandardne nebude správať zle, preto musí byť promptovanie veľmi špecifické, aby sa bránil ako reálny zlý chlap vo väzení.
Čo ešte dodať? Je veľa technologických výziev. Veľkou záležitosťou pre nás bola dlhodobá pamäť (long term memory), pretože jazykové modely majú limitovanú veľkosť kontextu – zhruba 4 tisíce tokenov. To nie je veľa, pretože do promptu vstupujú pozorovania a ďalšie informácie, ktoré zaberajú veľa miesta.
Ak chceš, aby si agent pamätal, čo videl, myslel si, čo robil alebo počul pred nejakým časom, musíš obsah promptu veľmi komprimovať. Jedným zo spôsobov je uchovávať všetky spomienky v long term memory a podľa aktuálneho kontextu ich vyvolať (retrieve).
To možno poznáte z vlastnej skúsenosti – pamäť nášho mozgu funguje podobne.
Long term memory v systémoch sa dnes skladá z vektorových databáz, ktoré poznáte – ako Faiss od Facebooku a podobne. Fungujú tak, že text rozdelíš na malé útržky (chunks), každý útržok má embedding – vektor, ktorý sa uloží do databázy. Keď chceš niečo vyhľadať, spravíš query, ktorú tiež prevedieš na embedding a nájdeš najbližšie vektory.
Znie to jednoducho, ale prax je náročná. Niekedy ti databáza nevráti relevantné veci, alebo stačí trochu inak položiť otázku a výsledky sú nepoužiteľné. Dokonca v jednej vete, ak sú zmiešané dva fakty, môže system zlúčiť vektory tak, že sa vyhľadanie pokazí.
Preto robíme veľa predspracovania a postprocesovania spomienok, a myslím, že na tom budeme pracovať ešte mesiace až roky, aby sa long term memory naozaj rozvinula a umožnila kontinuálne učenie.
Skúsenosť je, že keď sme ešte long term memory nemali, agenti rýchlo zabudli, o čom sa bavili. Ako keby sa im to „vyšumelo z hlavy“. Spýtaš sa ho, ako sa volá jeho sestra, povie meno, chvíľu sa s ním bavíš, rozoberáš témy a potom sa spýtaš znova a on už povie iné meno, lebo LLM je generatívny model a odpoveď sa vždy trošku líši.
Keď sme pridali long term memory, agent si uloží to, čo vymyslel, a keď sa ho spýtaš druhýkrát, retrievne tú informáciu z pamäte a odpoveď je konzistentná. To je super, lebo začína vytvárať konzistentné osobnosti.
Z iného pohľadu sme skúšali experiment, že sme jednému agentovi napísali 16-stranový backstory, že…
Jeden příběh o něm, jak se stalo, že jeden kolega napsal nějaké vlastní příběhy a měl něco, co nebylo veřejné. My jsme právě chtěli něco, co by nebylo veřejné, aby byla jistota, že ten příběh není v hranicích toho modelu. Takže jsme vzali tento příběh, nahráli jsme ho do toho LTM (long-term memory) a vlastně když se pak s tím agentem bavíš, on si vytahuje jednotlivé části ze své osobnosti z té své dlouhodobé paměti. A najednou je jeho osobnost mnohem hlubší než když tam není. Protože to je právě to – například jsme si to ještě před pár měsíci ani neuvědomovali, ale když máš jen nějaké LLM (large language model), kterému řekneš, aby emulovalo nějaký charakter, například nějakého dozorčího ve věznici, tak to LLM si musí hodně věcí, které nejsou definované, vymyslet. A vlastně vždy dělá nějaké předpoklady založené pouze na tom, co mu daloš. Modely totiž vždy fungují tak, že vygenerují další textový token na základě těch tokenů, které byly předtím. Když jich málo a řekneš mu jen, že je to dozorčí, bez dalších detailů, nemá šanci být konkrétní a tedy ti dá tu nejprůměrnější odpověď, která často bývá nudná.
Ale když mu rozšíříš osobnost, dáš mu tu dlouhodobou paměť, on si vytahuje různé části svých vzpomínek, například tam může být, že před dvěma dny zmlátil nějakého vězně a všechno to má postupně vložené do promptu. Tak se ten jazykový model víc konstruuje, co má vygenerovat, co má předpovědět. Výsledkem jsou pak zajímavější, hlubší a realističtější osobnosti. Toto mě opravdu překvapilo, jak zajímavě to funguje.
A předpokládám správně, že to LTM je to, co osobnost obohacuje? Protože například v ukázce, kterou jsme viděli, když Francesca zmlátila Shona, bude mít tento incident vliv na paměť těch agentů, například že už spolu asi nechodí, a jejich akce musí být konzistentní vůči určitým událostem.
Přesně tak. To je ta pointa – kdyby to nebylo, nepovažoval bych to za sandbox. Sandbox nebo nějaký emergentní dynamický systém vždy musí fungovat tak, že má paměť a reaguje na ni, generuje nový stav na základě této paměti. Kdyby tam paměť nebyla, nevím, jestli by to vůbec šlo nazvat dynamickým systémem, spíš by to byl systém, který se pořád točí dokola, nikam se neposouvá. A myslím, že tohle potřebuješ pro sandboxovou hru, protože sandboxová hra je o tom, že dochází k nějakým změnám ve světě – v tomto případě jsou to sociální změny. V případě Space Engineers jsou to fyzické změny, jak stavíš lodě, a tady jsou to změny na sociální nebo lidské úrovni. Bez paměti by ses pořád točil v kruhu, nemohly by vznikat nové emergentní komplexní jevy, které vždy vycházejí z událostí, které nastaly předtím. Paměť byla pro nás velmi důležitá.
Mám oblíbený citát z podcastu Lexa Friedmana: „Život je vesmír tvořící si paměť.“ Organický život je komplexnější a uchovává více dat.
Kdy to plánujete zveřejnit?
Plánujeme vydat letos ještě nějakou alfa verzi nebo verzi, která bude mít to jádro, ale měla by fungovat dobře. Podobně jako jsme to dělali u Space Engineers, když jsme hru vydali v roce 2013, měla jen jádro. Mohl jsi dát několik bloků dohromady, postavit loď, létat s ní, při nárazu se loď zdeformovala nebo rozbila. Toto jádro fungovalo velmi dobře, ale bylo tam asi maximálně 10 až 15 druhů bloků, například pancíř, gravitační generátor, thruster a pár dalších základních prvků. Na tom jsi mohl postavit loď a létat, nic víc tam nebylo, bylo to úplně minimalistické MVP. Ale bylo to dobře vyladěné a ukazovalo emergentní potenciál. Když lidé viděli toto, mohli si domyslet, kam se hra může vyvinout, a to byla krása celého projektu. Kdyby viděli jen polovinu toho MVP, udělali by si o tom špatný dojem a možná by si dosadili neznámé věci, které my nechtěli.
Takže teď potřebujeme MVP i z této hry, které bude stačit, aby se soustředilo na core loop, ale zároveň bylo dobře udělané, zábavné a aby hráče bavilo se k ní vracet a zažívat nové zajímavé situace. Pak máme plán, jak přidávat další funkce a jak hru vylepšovat.
Zmínil jsi cíle projektu a také akademickou část. Pochopil jsem, že teď se zaměřujete spíše na komerční stránku, ale co bude akademická část, co z ní budete zkoumat?
Studium zodpovědnosti je těžká věc, ale dá se zkoumat. Můžeš například dělat experimenty jako Prisoner's Dilemma s agenty ve 3D prostředí, kde vidíš jejich interakci. Takové věci by šly, ale není to naše priorita. Prioritou bylo pochopení, jak vytvořit autonomního agenta, který má vlastní cíle nebo cíle, které mu dáš, funguje v nějakém loopu – to znamená, že má pozorování prostředí, nějaké uvažování (reasoning), paměť (proto je paměť důležitá) a nějakou akci v prostředí. To je základní framework agentů. Language model tam slouží jako uvažovací systém, který pomáhá agentovi chápat souvislosti. Ale LLM postrádá schopnost učit se nové věci, protože je to bezstavová neuronová síť – dostane vstup, vytvoří výstup, ale nijak nezmění svůj vnitřní stav, tedy se neučí. Proto je tam ta dlouhodobá paměť, aby agent věděl, co si zapamatuje a co pak dokáže znovu vytáhnout.
Pomohlo nám to v druhém projektu, který děláme – autonomní agenti. Uvědomili jsme si čím dál víc, že chceme dělat tyto autonomní agenty. Teď znáte AutoGPT, BabyAGI, princip je podobný – LLM, které je relativně „hloupé“. My už to tak děláme asi rok, ale v rámci hry, ne na webu. Ukazuje se mi to jako nejvíc proveditelný způsob, jak dosáhnout AGI – mít LLM v nějakém loopu s long-term memory a dalšími prvky uvnitř, aby agent uměl správně plánovat a sledovat své plány, aby se neztrácel. Vyřešit problémy, které má AutoGPT, případně aby tam bylo víc agentů uvnitř jednoho agenta. Velmi zajímavý směr.
Nechci říkat, že děláme výzkum, myslím, že my v GoodAI už prakticky neděláme vědecký výzkum, ale vyvíjíme produkty – hru a autonomní agenty. Spíše bych to označil za výzkum podobný jako u herního vývoje. Například do našeho engine V-Rage právě děláme volumetrickou vodu – simulovanou vodu na úrovni metrových kostek po celé planetě. Jsou to miliardy údajů, které nemůžeš kompletně simulovat, takže musí být nějaké načítání. Je to velmi zajímavé. Tohle je otázka, jestli je to ještě výzkum nebo jen inženýrství – možná profesor na univerzitě by to bral jako výzkum a možná by napsal paper, ale my to děláme do hry. Takže je to kombinace výzkumu a inženýrství.
Výzkum obvykle znamená, že nemáš jasné cíle, ale postupně se posouváš. V GoodAI děláme spíš inženýrství, protože máme jasné cíle. Děláme hru i autonomní agenty, víme, co chceme, aby agent uměl, co s ním uživatel může dělat, jak komunikovat, a jaké business problémy to bude řešit.
Když se podíváme na všechno, co GoodAI zažilo, na investice do slepých uliček a co jste se naučili – vytlačili velké jazykové modely částečně na vedlejší kolej?
Podle mě úplně ne. Myslím, že právě jazykové modely byly to, co jsme celý čas hledali, jen jsme to nevěděli. Kdybych začínal teď, vůbec bych zbytečně neházěl peníze do věcí, které jsme dělali dřív, šel bych rovnou po tom, co děláme teď – tedy LLM-driven agenti. Část peněz byla jak školné.
Na druhou stranu všechny problémy, o kterých mluvíš, jazykové modely řeší algoritmickou část, výzkum a vývoj, ale implementační věci jako long-term memory zůstávají a to jsme se naučili právě díky té práci. Myslím, že díky těm letům v GoodAI máme nějakou výhodu oproti ostatním, ale ne příliš velkou. Někdo, kdo teď přijde a pochopí, že LLM v loopu plus long-term memory, není tak v nevýhodě.
To je myslím cena toho – na začátku jsem viděl riziko, že peníze budou vyhozené, bez návratnosti, ale i tak jsem si říkal, že to stojí za to, protože aspoň mám šanci dosáhnout AGI. Pokud bych jen seděl na penězích, neměl bych šanci to dosáhnout.
Nikdo mě nevyzývá, a možná teď nechci dělat velká prohlášení, ale kde vidíš další velké výzvy na cestě k AGI? Jazykové modely už zřejmě zůstanou základní součástí inteligence. Jak to vidíš?
Já mám trochu názor, že jazykové modely se už dostaly do dobré fáze, nevím, jestli už nejsme v fázi klesajících výnosů (diminishing returns), kdy teď všichni doženou open-source modely.
Spíše GPT-4 je i přes to ještě mírně lepší, ale vývoj se možná zpomaluje. Co myslíš ty?
Například sám Altman, šéf OpenAI, říkal, že narážejí na limity velikosti modelů a že je nebudou zvětšovat. To beru s rezervou, protože jeden papír – Chinchilla paper od DeepMind ukázal, že stejný výkon lze dosáhnout zvýšením množství trénovacích dat místo velikosti modelu. Jsou tam různé detaily kolem škálování (scaling), že nemusíš zvětšovat model, ale stačí cvičit na více datech.
Teď je otázka, jaká data to jsou – zda data vytvořená lidmi a stažená z internetu, nebo data generovaná autoGPT agenty, které řeší úkoly, některé úspěšně, jiné ne. Možná by se takto dala vytvořit další data pro trénink modelu, který nebude muset být velmi velký, ale bude mít stonásobek nebo tisícinásobek dat proti GPT-4. Podívejme se na to z tohoto pohledu. Dalším pohledem je to, že LLM stále dělají chyby – například naprogramují něco špatně nebo udělají hloupé chyby. Zde podle mě nutně potřebujeme změnu v přístupu – další krok není jen vylepšování LLM, ale možná vylepšování agentů, kteří LLM používají. Aby nebyli jen LLM trénovaní na následování instrukcí (Instruction Following), jako GPT 3.5 nebo 4, ale aby byli fine-tunováni na „Thinking in the Loop“ – tedy agent, který si plánuje a pak fine-tunuje v loopu.
Toto podle mě může přinést velký posun. Agentům patří budoucnost.
Současně ale myslím, že i vylepšování LLM dává smysl – konkrétně udělat je multimodální, tedy aby uměli pracovat s obrázky. Například GPT-4 to umí, ale veřejně dostupné to ještě není. Aby měli schopnost rozpoznávat obrázky, případně vnímat 3D prostor.
Například trénovat je na videích, aby vnímali 3D prostor přirozeně, ne jen slovně, ale tak, že budou mít zkušenost ze skutečných videí jako z YouTube nebo TikTok. To by mohlo přinést další významný skok u LLM.
Další možnost je dělat modely efektivnější – dosáhnout stejné schopnosti, ale s menšími modely, které potřebují méně paměti a rychlejší inference. A potom samotná inference – aby generování odpovědí bylo rychlejší. Dnes GPT-4 generuje token po tokenu velmi pomalu, GPT-3 je už o něco rychlejší.
Představ si, kdyby se podařilo transformátorovou architekturu optimalizovat nebo nahradit jiným typem neuronové sítě, která by se učila stejně efektivně, ale dokázala generovat třeba 50 milionů tokenů za minutu místo 50. To by zásadně změnilo svět.
LLM by se pak používaly jako CPUčka – myslím, že úplně nahradit CPU nebudou, ale přistupovalo by se k nim jako k procesorům, kde těžko řešíš, jestli zvládnou miliardu nebo dvě miliardy instrukcí – budeš je používat prostě pro velké množství operací.
To si myslím, že může hodně změnit svět.
A pokud se vrátím k agentům, toto všechno je důležité, protože kdybych měl agenta složeného z milionů subagentů, přičemž každý má vlastní LLM a long-term memory a mezi sebou komunikují a řeší problémy a delegují úkoly, mohli bychom řešit problémy, které dnešní jeden agent nedokáže.
LLM to nezvládne, protože kontext je pevně daný. A vlastně mi to připomíná další věc – velikost toho kontextu. Že je to 4 000 tokenů, teď už většinou 8 000, a GPT-4, byť to zatím není úplně veřejné, mají to jen někteří lidé, má 32 000 tokenů jako velikost kontextu. A to je super, samozřejmě to je pomalé ve výsledku a je to drahé.
My jsme to počítali a myslím, že jeden prompt přijde na 3 dolary, když tam dáš těch 32 000 tokenů při ceně za token, kterou má GPT-4. Když si to představíš, platíš tedy za zpracování myšlenek, a tady zaplatíš 3 dolary za zpracování jedné myšlenky. Na druhou stranu, kolik platíme lidem za zpracování myšlenek? To je mnohem více peněz. To jsou prostě směšné částky, které se platí LLM.
Takže mám obavu, že by například agenti nemuseli stačit, nebo že se to může zaseknout. Jedna taková věc, na které narážíme u našich agentů, je ta, že pokud LLM už má ve váhách naučenou nějakou znalost nebo fakt, a ty mu ho v promptu chceš změnit, tak bys teoreticky měl mít tu možnost, protože už mají in-context learning. Ale jsou případy, kdy to prostě nefunguje.
Příklad, který jsme našli, je ten dětský hádankový hlavolam: máš zelí, kozu a vlka a chceš je dostat na druhou stranu řeky tak, aby se dvě věci navzájem nezjedly. Když to dáš GPT-4, dá ti správnou odpověď, je to vyřešené. Ale když trochu změníš pravidla, například řekneš, že zelí a vlk nemohou jít spolu, protože by se sežrali, nebo že vlk sežere zelí, tak on odpoví pořád podle původních pravidel – jednoduše není schopen se poučit z toho, co mu dal prompt. To může být problém.
Druhý problém, který podle mě taky dost zásadní, je ten, že i když máme long-term memory, a tu můžeš využívat k tomu, aby se agent učil ze zkušeností – že udělá nějakou akci, spustí si vlastní kritiku té akce, co se naučil, uloží si to do long-term memory a při podobné situaci si tu relevantní zkušenost vytáhne zpátky do promptu a tím pádem by už neměl udělat stejnou chybu.
Problém je, že pokud bys potřeboval vyhledat třeba 100, 200 nebo 300 zkušeností z minulosti, už se nevejdou do promptu. Představ si, že máš ve své hlavě pracovní paměť, která udrží třeba sedm mentálních položek. A aby sis vyřešil nějaký úkol, potřebuješ 50 těch položek. Ten úkol bez toho, že by sis to zapsal někde bokem, není řešitelný.
Z toho mám docela obavu, že by to mohl být moment, kdy tento přístup nebude hned vést k AGI. Ale obracím to – myslím, že to vyřešíme. Existují transformery, které mají teoreticky nekonečnou paměť. Nedávno byl nějaký transformer, který měl milion tokenů. Mají ale jiné nevýhody – že jsou strašně pomalé a ztrácejí kontext v relaci. To znamená, že věci na začátku promptu mají menší vliv než ty bližší konci.
Kdybych měl říct k LLM plus agentům plus long-term memory, zda to povede k AGI, tak já za to hlasuji, že ano. Hlasuji i svými penězi – investujeme do toho a jdeme do toho.
Stále je tu možnost, že se to zasekne, ale i kdyby, myslím, že se posuneme tak daleko a automatizujeme tak zajímavé věci, že to stojí za to.
Přestože nemáš rád kecání, okecávání, a na druhou stranu máš rád měření, jak poznáš, že jsi vytvořil AGI ty nebo někdo jiný? Jaká jsou pro tebe ta kritéria?
To je dobrá otázka. Pro mě by to bylo, že systém je schopný řešit jakýkoli problém jako člověk. Upřímně by mi stačilo, kdyby měl stejnou schopnost generalizace a adaptace jako člověk a neměl kognitivní chyby, které běžně lidé nemají.
Jak jsem popsal ten příklad s kozou, to je doslova kognitivní chyba, která by člověku znemožnila normální fungování – bylo by to považováno za mentální poruchu.
Pokud bude agent schopný řešit podobné úkoly – programátorské, nebo fungovat jako osobní asistent nebo cokoli, co běžně lidé dělají, tak je to pro mě AGI.
Možná je důležité poznamenat, že mluvíme převážně o doméně textu, případně o velké doméně robotiky – tedy o tom, jak ovládat robotické tělo a jeho kontroléry. To je jiný problém.
Možná v tom pomohou právě jazykové modely. Zdá se, že pokud se učíš jazyk i robotický kontroler simultánně, dosahují se lepší výsledky – je tam jakýsi transfer mezi těmito oblastmi.
Je možné, že zatím došlo k obrovskému skoku v jazykových modelech a zároveň v generování obrázků, ale v robotice se tolik neposunulo, takže robotika zaostává.
Co se může stát, je, že vznikne AGI – tedy kvázi auto-GPT agent, který bude umět programovat, bude umět myslet, ale stále nebude umět ovládat fyzický svět, nebo v horším případě nebude fyzický svět chápat, protože nikdy nebyl přímo zažitý, ale měl ho jen zprostředkovaně ve formě textu.
Zdá se, že z textu se modely naučily mnoho věcí, například prostorové uvažování. Vědí promýšlet prostorové souvislosti. Nevím, zda někdo testoval, jak hluboko tuto schopnost měřit srovnáním s lidmi, zda tam nejsou nějaké nedokonalosti.
Možná nám chybí některé věci při tréninku. Další velký krok může být právě propojení jazykových modelů a robotiky.
Ale kdyby tu současně zvládli i robotiku – tedy multimodální jazykový model by uměl ovládat robotické tělo a zároveň řešit problémy jako člověk s adaptivitou jako my, tak to bych považoval za AGI.
Pak by možná někteří lidé mohli být poněkud kritičtí, říct, že to není úplně „no free lunch“.
Existuje tzv. no free lunch theorem, který říká, že žádný systém, který je obecný, nemůže mít stejný výkon ve všech úlohách jako systém, který je optimalizovaný pouze pro konkrétní úkol.
Ale to je trochu nepochopení toho, co znamená obecný systém, protože mě zajímá systém, který je obecný, ale umí se přizpůsobit na konkrétní oblast, když je třeba. A to si myslím, že takové AGI bude.
Asi nebude 100 % obecné, vždy se dá najít oblast, do které se nedokáže adaptovat, protože začne s určitými předsudky nebo biasy a není schopné konvergovat tam, kam nepotřebuje nebo ho to nevpustí.
Ale bavme se o praktických problémech – nemusím to úplně přehánět.
I lidé mají fitness funkci, která nás optimalizovala po posledních sto tisíc let – množení vlastních genů. To je základní fitness funkce.
Samozřejmě tam byly i další fitness funkce – umět komunikovat s ostatními, být silný, odvážný – to všechno pomáhalo.
Ale nakonec fitness funkce byla reprodukce genů.
Díky takové fitness funkci vzniklo něco, co není přímo fitness funkcí, a to jsme my – lidé s univerzální inteligencí a společností.
Vznikla kulturní evoluce, která urychlila evoluční proces, protože jde o výměnu myšlenek, nikoli jen o genetické změny.
Vznikl člověk, který dokáže vymyslet matematiku, počítače, jazykové modely, cestovat do vesmíru a tak dále.
Myslím, že jsme tedy dost obecní – i když jsme byli optimalizováni na množení na této planetě, vymysleli jsme věci, které jsou úplně mimo původní fitness funkci.
Myslím, že to je bod, odkud se může inteligence rozvětvovat do libovolných směrů.
Jestli máš něco jako lidskou inteligenci, v podstatě neexistuje oblast, do které se nedokážeš dostat, pokud se rozhodneš tam vstoupit.
Na závěr tip, kdy budeme mít takto popsané AGI?
Já bych to očekával někdy každým rokem – pokud bude za rok, neudiví mě to. Za pět let by mě překvapilo, že to trvalo tak dlouho.
To jsou asi časové rámce, které vidím.
Samozřejmě jsem optimista, už tak z principu, jinak bych do toho neinvestoval peníze.
Můžu se mýlit, ale potenciál tam je.
Nyní je to víc hmatatelné než před sedmi až osmi lety, kdy jsem začínal s Good AI.
V té době tu ani nebyly věci, které by bylo možné vzít a vytvořit AGI – chyběl tam směr.
Tehdy jsme byli v takovém stavu, jakoby jsme dnes měli teleport – ani když bys chtěl založit teleportový startup, nevěděl bys, jak začít a jakým směrem se vydat.
Myslím, že teď bych už věděl.
To je také rozdíl mezi AI a AGI – jazykové modely, další technologie a obrovské množství lidí, kteří se tomu věnují profesionálně.
Máme hardware, mnoho frameworků, infrastrukturu.
Situace je úplně jinde než u AI nebo teleportů dříve.
Stále se dá předvídat, kdy se taková věc stane, a zda agenti nejsou slepou uličkou, kde se to zasekne.
Ale já očekávám, že během jednoho, dvou let je velký potenciál na vznik něčeho, co lze nazvat AGI.
Není to ještě superinteligence – tedy něco milionkrát inteligentnějšího než člověk, co myslí tak rychle, že to nikdo nemůže sledovat.
To je další krok.
Ale AGI je pro mě něco, co dokáže řešit úkoly podobně jako člověk.
Kdybych měl auto GPT, kterému mohu dávat úkoly a problémy, a nezjistil bych rozdíl oproti člověku, případně auto GPT by plnil mé instrukce odhodlaněji než člověk s egem nebo únavou – to by byla AGI.
A skutečnost, že takový auto GPT by myslel tisíckrát rychleji než člověk – tedy co člověka stojí den, on vyřeší za dvě sekundy – to už je pro mě superinteligence.
To je snad další zajímavá otázka, zda je superinteligence jen více inteligence kvantitativně, nebo i kvalitatívně – jako rozdíl mezi inteligentním a neinteligentním organismem.
To je určitě věc k zamyšlení.
Já si myslím, že je to otázka jen pár let a dopady na společnost budou velmi zajímavé.
A co ty sleduješ, na co čekáš, že se něco stane?
Je to Boston Dynamics, Microsoft nebo Google? Jsou tam další velcí hráči? Typické regulace nebo jiné faktory?
Jak sleduješ signály, abys věděl, jak blízko jsme?
Jelikož se pohybuji v technologii, mohu si utvořit přesnější názor.
Podle mě jsou to věci založené na jazykových modelech nebo transformerech a na obrovském množství dat.
Zdá se, že tato cesta prostě funguje – i když jsme si mysleli, že ne.
Pak je tu long-term memory, která je klíčem k kontinuálnímu učení.
My to máme funkční ve hře, takže by to neměl být velký problém, ale uvidíme.
Je potřeba to pořádně otestovat na velkém rozsahu příkladů, ne jen ve hře.
Testování kontinuálního učení je složité, protože neexistují benchmarky, nikdo to nikde nedělal, což je zvláštní.
A regulace mohou být další faktor, který to může zbrzdit, a doufám, že ne.
Zrovna včera nebo předevčírem byl schválen AI Act v Bruselu – respektive nějaký draft, který teď půjde do dalšího kola.
Nejsem přesně obeznámený s procesy, plánuji si to pořádně přečíst, jestli tam není nějaký překvapený bod.
Vím, že generativní modely jako ChatGPT jsou klasifikovány do kategorie nejvyššího rizika a podléhají určitým podmínkám.
Pokud to dobře chápu – ale nechci dávat špatné informace posluchačům – systém není zakázán, ale výrobci musí provést self-assessment, testovat systém, a prokázat, že je etický, bezpečný a tak dále.
Na jednu stranu s tím souhlasím, je to správné.
Nechtěl bych, aby naši agenti způsobili problém – z lidského hlediska, ale i proto, že by mohla vzniknout velká škoda, a následně velký odpor vůči EU komunitě.
Nechci, aby to dopadlo jako jaderná energetika v 70. a 80. letech, která byla zastavena a místo ní se začalo používat uhlí a jiné zdroje.
Takový scénář bych nechtěl.
Riziko tam podle mě stále je.
Jsou lidé, kteří straší tím, že nás AI zabije.
Částečně v tom všem je pravda, že je potřeba být opatrný.
Například vytvořit takový auto-GPT virus, který by automaticky nacházel chyby v systémech, učil se je nacházet a replikoval se.
Teď je to nemožné, protože systémy takové schopnosti nemají – spíš se zaseknou ve smyčkách.
Ale třeba za rok nebo půl roku to možné bude.
Takový systém by mohl být nebezpečný.
Ovšem ne tak, že by ovládl lidstvo a všechny vyvraždil, protože pořád poběží jen na nějakém počítači určitým tempem.
Kdyby se začal kopírovat, byl by závislý na API OpenAI, které má omezenou kapacitu a často nefunguje.
Takže AGI by v tom nemělo vyhráno, pokud by se rozhodlo něco takového udělat, pokud vůbec bude chtít.
A aby se dostalo do stavu, kdy bude chtít vyhladit lidstvo, je podle mě cestou tolik mezikroků, kde by… (text končí).
Tento přepis zachovává veškerý obsah originálu a je převeden do spisovné češtiny v ucelených odstavcích, bez vypouštění informací a s opravou gramatiky a diakritiky.
A může ten systém rozhodnout jít úplně jiným směrem, že to, že mě vyhledá, považuji za jedničku mezi tisícem nebo milionem, nebo jakékoli jiné malé číslo, pravděpodobnost. A podle mě se to dá řešit inkrementálně tím, že se vytvoří systémy, které budou stále schopnější, otestují se, naučíme se na nich pracovat, pochopíme jejich silné a slabé stránky, a poté přejdeme k silnějšímu systému a takto se bude pokračovat dál.
K regulaci – na jedné straně s ní souhlasím a my jsme ji vlastně jako Gudiai dlouhou dobu podporovali a pracovali na těch projektech. Cíl byl také jeden, já jsem chtěl, aby se do toho vnesl nějaký konsensus, aby se to nepře-regulovalo. Bál jsem se, že na to naskočí nějaký regulační šílenec a myslím, že v Evropě je tendence regulovat úplně všechno, což jsem nechtěl, protože konečně tu máme něco, co může škálovat prakticky rychlostí světla, a nakonec to nějakými regulacemi zbrzdit.
Ale reálně si myslím, že nastane situace, kdy budou vlastně dva světy. Bude svět, kde se bude AI používat a tam to bude všechno regulované – například státní instituce, medicína a podobně. A potom druhý svět, který regulovaný nebude – například počítačové hry, myslím si, že právě proto, že tam nehrozí nějaké riziko, tak tam se dá inovovat bez regulace. A ten svět podle mě bude akcelerovat takovým tempem, že ten první svět, který bude regulovaný, tomu prostě nebude rozumět, co se děje.
Myslím si, že se to tak stane. To je zajímavá budoucnost, jak jste to popsal. Já bych chtěl, abyste mluvil dál. Trošku to není rozhovor, protože se na moc věcí neptáme, vyprávíte sám a jste fascinující.
Jelikož nám už dochází čas, budeme moc rádi, když co nejdříve přijdete znovu a můžeme udělat pokračování, update, ať už vývoje vaší hry nebo stavu AI ve světě. Myslím, že se otevřelo hodně témat, do kterých bychom chtěli jít hlouběji, ale nejde to.
Co vás teď v následujících měsících čeká u té hry? Chcete ji letos dát do alfy? Co jsou pro vás nějaké milníky, co teď považujete za důležité?
Ta hra je momentálně nejdůležitější věcí. Z hlediska designu, herního, které s AI vlastně tolik nesouvisí, a také ohledně AI, aby nám tam dobře fungovalo. Abychom ji vydali a aby kolem toho bylo dobré PR. To je pro mě hlavní priorita na letošní rok.
Druhá hlavní priorita jsou autonomní agenti, aby se začali učit a lidé je mohli používat v nějakých alespoň jednoduchých scénářích. My nedáváme do hloubky, ale chceme, aby se agent sám zlepšoval.
Z hlediska nebezpečnosti – jedna z různých nejnebezpečnějších věcí, kterou AI firmy straší, ale zároveň je to zajímavé, protože můžete zautomatizovat stavbu AI AI, nebo používat AI k vytvoření lepšího AI, což mi přijde super, protože tím exponenciálně znásobíte své schopnosti.
V současnosti to funguje v jednoduchých prototypech a teď jde o to naškálovat to, aby to fungovalo i ve větších. To je druhá věc, na které hodně záleží, myslím, že na tom pracují i další lidé, že nemůžeme být jediní, koho to napadlo, ale chtěl bych, abychom my vydali nějakou super věc jako první v tomto směru.
Takže to je další oblast, které se věnuji. Samozřejmě kromě toho se ještě věnuji Space Engineers.
Máme ještě jeden projekt s drony, ale to jsou takové normální věci. Ta hra a ti agenti jsou pro mě hlavní prioritou.
Super, moc držíme palce a děkujeme za návštěvu.
Moc děkuji, Marku.
Ahoj.
Ahoj.
To je všechno.
Děkujeme, že jste poslouchali další díl Datatolku.
Díky také našim partnerům – Bighubu, Vypnoutu, Mantě, Natinu a také mě, Jean-Beamou, Seznamu.cz a Muse.
Pokud vás zajímá více informací ze světa datových technologií a ze česko-slovenské datové scény, navštivte naše stránky datatolk.cz.
Nechť vás provází data.