Když se řekne umělá inteligence

Není to jen bublina?

Šílenství kolem umělé inteligence nese všechny znaky bubliny. Už se o ní baví i taxikář, který tě veze z mejdanu domů. Není lepší zachovat chladnou hlavu a počkat, až se to celé přežene?

Tohle se rozhodně nepřežene. Umělá inteligence už dnes přináší ovoce, které pozmění svět. Je rozumné, abys začal zkoumat už teď, jak funguje a dá se využít. Brzy se stane běžnou součástí našich životů. A ovlivní i dynamiku na trhu práce. Nechceš, abys s překvapením zjistil, že zvládne dělat tvou práci stejně dobře, rychleji a zadarmo.

Nicméně do AI se vkládají i očekávání, které zatím ani vzdáleně splnit nemůže. To už se několikrát v historii stalo. Období přehnaného nadšení vystřídalo vystřízlivění a těžká kocovina, které se říká zima umělé inteligence. Myslím, že i po současném boomu přijde částečné vystřízlivění, ale všechny ty užitečné nástroje, jako je GPT, tu s námi zůstanou.

Kde se AI využívá?

Umělá inteligence ovlivňuje naše životy už dlouhou dobu. Pohání jazykové překladače, které se v posledních letech znatelně zlepšily. Doporučuje písničky na Spotify. Bez AI by email dnes nejspíš neexistoval, neboť by se stal nekonečnou skládkou spamu. Fotoaparáty v mobilech díky AI dokážou fotit i za šera. AI na fotkách analyzuje objekty a tváře, podle kterých je následně třídí. Zajímavé je, že mnozí lidé o tom netuší; zkus si třeba ve fotkách vyhledat „pláž“. Lidé také často nevědí, že mohou do mobilu diktovat místo psaní a slova se přepíší na text. Naopak dobře znají původně snapchatové selfie-efekty, různé zkrášlující nástroje nebo aplikace, které převedou fotografie do uměleckých děl slavných malířů. Telefony od Apple, počínaje iPhone 8, mají dokonce dedikovaný procesor pro umělou inteligenci.

K jakým průlomům v letech 2022–23 došlo?

Rok 2022 byl pro obor umělé inteligence mimořádný hlavně v tom, jak zasáhl do veřejného povědomí. Služba ChatGPT během pouhých dvou měsíců přilákala 100 milionů uživatelů, čímž se stala nejrychleji rostoucí aplikací všech dob. A přitom stojí na modelu, který byl vytrénovaný už před pár lety, a myšlenkách objevených ještě dříve. Takový raketový vzestup zájmu nikdo neočekával, dokonce zaskočil i giganty jako Google či Apple.

Rychle se zorientoval naopak Microsoft nebo Adobe. Schválně, jaké průlomové inovace se objevily za posledních 20 let v programech jako Word, Excel či Photoshop? Zkus nějaké vyjmenovat. A teď si představ, že příští verze Wordu ti nabídne, že dokončí dopis za tebe. Excel navrhne přehlednější způsob vizualizace dat. Photoshop za pár vteřin vygeneruje zbytek obrazu. To je největší revoluce v dějinách těchto programů.

Co jsou neuronové sítě?

Když se hovoří o umělé inteligenci, obvykle se myslí neuronové sítě. Počátky jejich výzkumu sahají do poloviny minulého století. Ano, je to sakra dávno. Jejich původním předobrazem byly opravdu biologické neurony, ale brzy se od nich vzdálily, koneckonců sami jsme toho o fungování mozku dost nevěděli.

Neuronové sítě zvládají problémy, kde klasické programování tápe, protože je nelze snadno popsat algoritmicky. Patří sem například rozpoznávání znaků (OCR) nebo řeči. V klasickém programování, kde programátor definuje chování pomocí kroků, podmínek a cyklů, je obtížné definovat, jak třeba vypadá písmeno A, když je tolik různých fontů, nebo jak zní vyřčené A, když lidé mají tolik různých hlasů a intonací. Neuronové sítě k úkolu přistupují jinak, a to tak, že se „učí“ na datech, která jim předložíme, a vytváří si model, který je schopný rozpoznávat znaky nebo rozumět řeči. Tomuto procesu se říká trénování. Proto říkáme, že neuronové sítě jsou založené na strojovém učení.

Co jsou to jazykové modely?

Jazykové modely jsou neuronové sítě, které hrají zásadní roli v počítačovém zpracování přirozeného jazyka. Umožňují počítačům analyzovat a generovat texty, což vyžaduje určitou míru porozumění přirozenému jazyku. Jejich využití je široké, od zpracování nestrukturovaných dat (informace, které nejsou uspořádány v definované struktuře, například texty článků), přes strojový překlad, automatickou korekturu textů až po interakci s virtuálními asistenty (jako Google Now, Siri, Amazon Echo) nebo chatboty.

Historicky se tvořily odlišné modely pro rozličné účely, jako je třeba analýza sentimentu (zjištění, zda je text pozitivní, negativní nebo neutrální), překlady, generování specifických textů atd. Tyto modely byly trénovány různými způsoby, často pomocí označených dat, a dosáhly různých úrovní schopností.

Všechno to však změnil příchod modelu GPT od OpenAI. Ten byl vytrénován na jednoduchém úkolu na obrovském množství textu. Místo invence nových algoritmů šli cestou škálování. K překvapení vědců se tento obří model ukázal být schopen řešit všechny dřívější úlohy, a to mnohem lépe. Začal projevovat určitého druhu inteligenci.

Blížíme se k obecné umělé inteligenci?

Obecnou umělou inteligencí (AGI, Artificial General Intelligence), se nazývá umělá inteligence, jejíž chování se podobá člověku. Dokáže velmi efektivně řešit libovolný úkol. Model GPT se svými překvapivými schopnostmi a univerzálním využitím v řadě lidí vyvolal dojem, že jde o počátek obecné AI. Ale tomu se současné uměligence vůbec neblíží. Stále jde jen o úzce specializované stroje, které se neumí přizpůsobit novým podmínkám, natož samostatně se zdokonalovat a rozvíjet své schopnosti. Pro překonání těchto limitů je nutné učinit ještě řadu vědeckých objevů.

Tvrdit, že obecná umělá inteligence je za rohem, není seriózní. Neexistuje žádný superpočítač, ve kterém bychom udržovali uvězněnou umělou inteligenci. Ani nejpokročilejší z jazykových modelů, GPT-4, není program, který by mohl jednat o své vlastní vůli, ale program, který se musí aktivovat, aby provedl matematickou operaci složenou z miliard výpočtů, jejíž výsledkem jsou čísla představující pravděpodobnost dalšího slova v textu.

Jak se neuronové sítě trénují?

Strojové učení přistupuje k úkolům úplně jinak než klasické programování. Vezmi si jako příklad rozpoznávání znaků (OCR). Tady klasické programování selhává, protože nelze dost dobře algoritmicky rozlišit jedno písmenko od druhého, navíc když existují tisíce různých fontů. Místo toho, aby programátor vytvořil kód, který přímo řeší problém, naprogramuje neuronovou síť, která se naučí problém řešit sama. Učení (trénování) probíhá tak, že se neuronové síti předloží naskenovaný obrázek písmene a ona vygeneruje svůj odhad. Odhad se porovná s tím, jaké písmeno to skutečně bylo, a pokud se netrefí, provede se korekce, aby příště, když se jí předloží podobný obrázek, byla pravděpodobnost správné odpovědi vyšší. Tento proces se opakuje mnohokrát s mnoha obrázky, dokud se síť nenaučí písmena správně rozpoznávat.

Neuronovou síť si můžeš představit jako obrovskou sadu číselných hodnot, tzv. vah (neboli parametrů). Rozpoznávání znaku je matematická operace, která zahrnuje tyto váhy a pole čísel představujících jednotlivé pixely obrázku. Čísla se mezi sebou různě násobí a sčítají, prostě velká matematika, a ve výsledku vrátí hodnoty pravděpodobností jednotlivých písmen. A zmíněná korekce spočívá v úpravě vah pomocí algoritmu zpětné propagace chyby (backpropagation). Takže celý trénink probíhá tak, že nejprve nastavíme váhy náhodně, takže výsledek operace „rozpoznej písmeno“ bude nesmyslný, a pak dokola provádíme korekce na základě učících dat. Síť se tedy „učí“ tím, že si upravuje své váhy, aby lépe vyřešila úlohu. V jistém smyslu jsou váhy „znalostmi“ neuronové sítě.

Je to trochu jako když se dítě učí rozeznávat písmena. Na začátku mu všechna písmena připadají stejná, ale postupem času se naučí rozpoznávat jejich jednotlivé rysy, a nakonec je dokáže správně identifikovat. Neuronová síť se učí mnohem rychleji, protože nemusí chodit spát a nerozptýlí ji kdejaká ptákovina. (Doporučuji výborné video Co vlastně je neuronová síť)

Lze neuronové sítě vytrénovat na všechno?

Moje předchozí vylíčení neuronových sítí znělo jako univerzální návod na šťastný život od nadšeného osobního kouče. Realita je, jak už to bývá, o poznání méně růžová. Může se stát, že spálíš hromadu peněz za trénování, ale síť nebude schopna rozpoznat ani středník od dvojitého W. Nebo bude skvěle rozpoznávat písmena v tréninkové sadě, ale v reálných situacích selže. Nebo třeba se zadaří, bude mít účinnost 98 %, což zní skvěle, ale ve skutečnosti to znamená přibližně jednu chybu v každé větě, což je naprd. Abys dosáhl chybovosti řádově menší, potřebuješ trpělivost a hlavně štěstí, protože jinak vymeteš jednu slepou uličku za druhou. A dokonce i když dílko se podaří, může jakákoliv drobná změna okolností způsobit, že síť náhle selže. Vytvoření neuronové sítě, která by se uměla adaptovat na změnu prostředí, je stále sci-fi.

Spojení slov „neuronová síť“ tedy není zárukou ničeho. Pamatuj na to, až se ti někdo pokusí prodat zázračný produkt, protože je založený na AI. Průlom posledních let v jazykových a obrazových modelech neznamená automaticky průlom v oblastech zcela jiných.

Co je to uměligence?

To je novotvar, který jsem si vymyslel, protože umělá inteligence je moc dlouhé a AI moc krátké :-) Mimochodem, zkratka AI (artificial intelligence) se někdy do češtiny překládá jako UI (umělá inteligence), což způsobuje zmatek, protože UI je zaužívaná zkratka pro uživatelské rozhraní (user interface). Takže prosím, AI nepřekládej.

Stay tuned

Doplňují stále nová hesla, v TODO listu mám například:

  • Přemýšlí AI? Má inteligenci?
  • Je pravda, že sami tvůrci nerozumí, jak to funguje?
  • Co je to alignment / skladění
  • Co je to agent a bot?
  • Kdy nabude vědomí?
  • Jak to, že je kreativní?