Není nic staršího než článek o textových AI. V posledních týdnech to platí dvojnásob a tempo ke všemu neustále zrychluje. Co bylo ještě před týdnem tak trochu sci-fi, už dnes směle plní Twitter a další sociální sítě.
Ale pěkně popořadě. Poslední půlrok jsme byli na poli AI všichni paf ze spanilé jízdy studia OpenAI, které komunita ještě relativně nedávno považovala spíše za experta na primární výzkum v oblasti umělé inteligence.
Všichni čekali, že první, kdo přetaví surovou AI v praktický produkt pro masy, bude spíše obrovský Google nebo Apple, ale určitě ne docela malá nezisková laboratoř a na ní navázaná společnost s ručením omezeným ze San Franciska, které dohromady zaměstnávají jen necelé čtyři stovky lidí.

OpenAI má díky partnerství s Microsoftem náskok v implementaci do reálných produktů
OpenAI má náskok, ale to nemusí vydržet
Pozice OpenAI a někdejšího otloukánka Bingu jako nových superstar na poli umělé inteligence ale rozhodně není neotřesitelná a ještě se stále může ledacos změnit.
Jistě, díky ohromnému drajvu a komercializaci v posledních měsících mají ohromný náskok v praktické implementaci, jenže o slovo se už pomaličku hlásí také Claude AI od Anthropiku, do kterého konkurenční Alphabet nalil dobrých 300 milionů dolarů, a Google samotný dnes konečně vypustil svého chatbota Bard. Byť zatím pouze pro Američany a Brity.

Google spustil chatbota Bard. Zatím jen pro USA a UK
Na pozadí toho všeho se ale právě teď rodí ještě jeden příběh. Příběh, jehož stránky se v téměř naprosté tichosti začaly psát 2. března letošního roku.
Co se v ten čtvrtek proboha stalo? K pochopení všeho se musíme nejprve posunout ještě o týden hlouběji, 24. února totiž svůj vlastní velký jazykový model LLaMA představila i Meta. Hlavním lákadlem měla být velikost.
Co je to parametr neuronové sítě
Velikost naučených AI modelů neudáváme v gigabajtech – není to film, který jste si včera stáhli z BitTorrentu –, ale v počtu parametrů. Abychom do toho příliš nezabrušovali, čím více parametrů, tím i větší složitost sítě.
Pokud to velmi, opravdu velmi zjednoduším, jakási velmi primitivní pseudoneuronka, která má za úkol rozpoznávat světlý pixel od tmavého, by si vystačila jen s několika málo parametry.
Během učení bychom ji předkládali pixely různých osmibitových odstínů šedi (0-255). Pokud by na rozhodovací neuron dorazil pixel s jasem 255 (bílý) a informace, že takto vypadá světlý pixel, zesílila by se váha pro popis světlých pixelů. Pokud by dorazil pixel s jasem 0 (černý) a informace, že takto vypadá tmavý pixel, zesílila by se naopak váha pro popis tmavých pixelů.

Naučená váha (V) je koeficient pro aktivační funkci (f), která zpracovává vstup (X). Do hry vstupuje ještě tzv. bias, ale raději to nebudeme dále komplikovat
Výsledkem tohoto učení je pak onen tolik citovaný model AI – soubor naučených vah, což jsou právě ty naše parametry. Kdybychom do neuronky s naučeným model odeslali pixel s odstínem 198, nastavené váhy budou fungovat jako koeficient – zesilovač – následného rozhodovacího procesu:
Vstup: 198
Světlá váha: 569
Tmavá váha: 65
Výstup: Je to s velkou pravděpodobností světlý pixel
Vstup: 140
Světlá váha: 489
Tmavá váha: 435
Výstup: Může to být světlý i tmavý pixel
Vstup: 65
Světlá váha: 72
Tmavá váha: 668
Výstup: Je to s velkou pravděpodobností černý pixel
Uf, no prostě čím více parametrů, které v neuronové síti modelují nějaký jev (třeba jak na pixelové úrovni vypadá koťátko), tím více adid... Tím s největší pravděpodobností i schopnější neuronka, byť to nemusí být vždy pravidlo. Záleží i na její architektuře, kvalitě studijních dat a tak dále.
LLaMA má dobrý poměr velikost/výkon
AI model, který používá ChatGPT a Bing, má podobných vah samozřejmě o pár řádů více, protože namísto rozpoznávání jasu pixelů musí odpovědět i na tak zapeklitou otázku, jestli je Brno větší než Ostrava.
Tedy, aby nedošlo k mýlce, velké jazykové modely ve své podstatě vlastně na nic neodpovídají, ale jen doplňují nejpravděpodobnější pokračování textu. Dnes už starší verze GPT 3.x od OpenAI k této schopnosti potřebovala 175 miliard parametrů (175B).

Lama v číslech. Lama pracuje až s 65 miliardami parametrů, 1,4 bilionů tokenů a pro nás je dobrou zprávou i to, že se učila mimo jiné i na české Wikipedii
LLaMA od Mety je nicméně k dispozici v mnohem menším provedení. Facebook Research totiž nabízí ke stažení naučené modely o velikostech 7B, 13B, 33B a 65B, no a ke všemu tvrdí, že už třináctimiliardová lama ve svých schopnostech překonává starší model GPT-3 od OpenAI.
LLaMA 13B+ se vyrovná staršímu GPT-3.x
Konkrétně v benchmarku MMLU (Massive Multitask Language Understanding), který testuje jazykové modely na 57 oblastech v angličtině. Součástí benchmarku je matematika pro základní školy, americká historie, počítačové vědy, právo a tak dále.

Výsledky benchmarku MMLU a srovnání modelů LLaMA a GPT-3 (vyšší hodnota je lepší)
GPT-3 je dnes už ale přežitý model, který nahradil nejprve GPT-3.5 a minulý týden dlouho očekávaný GPT-4.
Dobře to ostatně ilustruje interaktivní žebříček s časovou osou dosaženého skóre v MMLU na tomto webu. LLaMA sice patří k nejlepším velkým jazykovým modelům na světě, ale na GPT-4 rozhodně nemá.

Největší LLaMA je na tom zhruba stejně jako GPT 3.5
Kvalita konstrukce textu ale není jedinou metrikou AI. GPT-4 si na rozdíl od lamy na počítač nestáhnete. Můžete ho používat buď skrze koncové aplikace, API pro vývojáře, ale blíž se už dostanete leda v případě, že se stanete strategickým partnerem OpenAI jako třeba Microsoft. No, mnoho štěstí a rozbijte hodně prasátek!
Ke stažení, ale ne pro každého
Nicméně ani s lamou to není tak jednoduché. Meta Research nabízí kompletní naučené modely jen těm prověřeným výzkumníkům, kteří vyplní formulář a matka Facebooku se nad nimi smiluje a dá jim zelenou.

K naučení největší lamy 65B bylo zapotřebí milion GPU hodin procesorového času a 449 MWh energie. Uhlíková stopa odpovídá ekvivalentu 173 tun CO₂
Důvod je stejný jako u mnoha ostatních velkých modelů: etické dilema a strach z potenciálního masivního zneužití třeba ze strany generátorů spamu všeho druhu.
S lamou by to šlo, díky mnohem menší velikosti než u ostatních zveřejněných velkých jazykových modelů totiž k běhu – tzv. inferenci – nepotřebuje superpočítač. Přinejmenším tedy její nejdrobnější a ještě speciálně zjednodušená verze 7B.
5. března lama unikla na veřejnost
Jak už tomu v životě bývá, co se dá vypustit na BitTorrent a darkweb, to se tam dříve či později chtě nechtě také objeví a nešťastná lama nebyla žádnou výjimkou.
První zmínka, že k tomu už opravdu došlo, začala poletovat internetem právě 5. března a hladová komunita nerdů začala okamžitě žhavit své internetové přípojky.

Zkraje března se začala internetovými kuloáry šířit zpráva, že nějaká dobrá duše vypustila lamu do širého světa
Zbytek příběhu je už prostým dokladem ZZN – Zákona Zvědavého Nerda, který velí, že když už máme po ruce nějakou novou technologii, máme také ohromné nutkání dostat ji na ten (v daném kontextu) nejpitomější form-faktor.
Legendární Doom si tak dnes můžete díky ZZN a neohroženému lidskému intelektu zahrát jak na těhotenském testu, tak na bramboře.
A kde je odkaz ke stažení?
LLaMA z neoficiálního zdroje a bez posvěcení Mety je samozřejmě warez jako každý jiný. odkaz ke stažení tedy v článku nenajdete. Bystrý čtenář jej ale snadno dohledá prostým dotazem do Googlu, GitHubu apod. Počítejte ale s tím, že i ten nejjednodušší model 7B zabírá gigabajty dat, takže to bude chtít rychlou linku.
Llama-cpp dostane model od Mety na cokoliv
Jakmile si kutilové stáhli lamu, chtěli ji podobným způsobem vyzkoušet v prvé řadě na svém vlastním počítači. Jenže stárnoucí výpočetní grafiku Tesla V100 v ceně ojetého automobilu nemá doma zrovna kde kdo.
Už za pár dnů, 10. března, jim na pomoc přispěchal bulharský vývojář Georgi Gerganov a na GitHubu vystavil zjednodušenou implementaci pro inferenci lamy v C/C++ llama-cpp na jeho armovém MacBooku.
Nejjednodušší LLaMA 7B na mém pracovním laptopu (Intel Core i5-1145G7) a pokračování textového vstupu „Brno is a beautiful city. Good and smart people live in Brno. Everyone would like to live in Brno“:
Lama na Raspberry Pi i telefonu s Androidem
Llama-cpp se stala základem pro hromadu dalších experimentů a benchmarků a dnes umožňuje běh také na x86 Linuxu, Windows a vedle původního MacBooku i na dalších armových počítačích. Včetně Androidu a Raspberry Pi 4!
LLaMA na Raspberry Pi 4:
Stejně jako u Doomu na bramboře jde ale především o proof-of-concept. Lamu sice na britské Malině spustíte, ale výpočet jednoho navazujícího tokenu (jazykové jednotky) zabere i deset sekund. Na generování odstavce textu byste tedy čekali dlouhé minuty. Ale jde to a rychlost nemusí být vždy to nejdůležitější.
LLaMA na Pixelu 6:
Stejný moment jako u Stable Diffusion?
Twitter a další sociální sítě se tak poslední měsíc plní dalšími a dalšími ukázkami, na čem všem se kutilům podařilo rozjet velký jazykový model od Facebooku a s trochou nadsázky to bude s takovou brzy i ten těhotenský test.
Mnozí tento fenomén, o kterém většinová společnost vůbec neví, protože probíhá ve stínu novinek okolo OpenAI, srovnávají s loňským rokem a rozpukem okolo obrazové generativní neuronky Stable Diffusion.

Zveřejněný Stable Diffusion svět nezničil, ale dal mu hromadu služeb. Třeba tento generátor modelek Deep Agency
Sama o sobě sice nedosahuje kvalit konkurenčního Midjourney, ale po zveřejnění dala život dnes už nejspíše stovkám a tisícům odvozených experimentů a služeb. Ostatně, z rané verze Stable Diffusion vzešel i onen dnes zdaleka nejpopulárnější obrázkový generátor Midjourney.
Alpaca ze Stanfordu
Vedle šedé lama-zóny nicméně samozřejmě pomalu kvete i ta zcela legitimní posvěcená samotným Facebookem a zosobněná třeba odvozeným modelem Alpaca ze Stanfordovy univerzity.

Řekni mi něco o palačinkách
Jeho autoři slibují, že se po další optimalizaci chová ještě lépe a opravdu podobně jako neuronky od OpenAI, ale opět vyžaduje jen zlomek výpočetního výkonu.
Postupně přibývají další a další alternativní technologie – třeba OpenChatKit a projekt OpenAssistant –, takže už teď je jisté, že na sklonku letošního roku bude svět AI chatbotů mnohem barevnější. ChatGPT, Bing, Bard, Claude a další technologie doplní i ty svobodnější nejen z GitHubu.