Příklad jazykového modelu pro 8bitové procesory

Jeden příklad jazykového modelu navrženého pro 8bitové procesory ukazuje, jak může být umělá inteligence přizpůsobena extrémním omezením paměti a CPU. Přístup, který použil autor projektu Z80-μLM, využívá kvantizované váhy o velikosti 2 bity, zcela celistvou inferenci a kompaktní datové struktury k podpoře generování textu znak po znaku na historickém čipu Z80 s 64 KB RAM.

Z80-μLM zkoumá fascinující hranici: jak malý může jazykový model být a přitom si zachovat rozpoznatelnou „osobnost“? Projekt nabízí konverzační interakci na procesoru Z80 s frekvencí 4 MHz a asi 40KB binární velikosti, čímž dokazuje, že umělá inteligence může existovat i na vintage strojích.

Vstup je kódován pomocí trigramového systému, který mapuje text do 128 „kbelíků“, což zvyšuje toleranci k překlepům a snižuje závislost na pořadí slov. Kód inferenčního procesu využívá registry a 16bitové páry pro stabilní akumulaci, zatímco váhy jsou baleny po čtyřech na byte, aby se minimalizoval objem.

Co je čip Z80

Zilog Z80 je 8bitový mikroprocesor, který byl představen v roce 1976 a měl klíčovou roli v historii výpočetní techniky. Byl navržen tak, aby byl na úrovni kódu kompatibilní s Intelem 8080, což umožňovalo spouštět stejné programy bez úprav, a přitom nabízel bohatší a efektivnější instrukční sadu.

Díky nízkým nákladům, univerzálnosti a adekvátním výkonovým parametrům pro danou dobu byl Z80 široce použit v historických počítačích, jako jsou Sinclair ZX80, ZX81 a ZX Spectrum, a v mnoha embedded systémech. Jeho dlouhověkost a popularita jsou takové, že i po oficiálním stažení existují moderní open source klony, které udržují živou technologickou dědictví.

V kontextu projektu Z80-μLM není Z80 pouze platformou pro provádění, ale ústředním konstrukčním omezením, které definuje architekturu, cíle a hodnotu celého díla. Je důležité, protože představuje jedno z nejextrémnějších hardwarových omezení, na nichž je možné provozovat něco, co se blíží, byť jen vzdáleně, konverzačnímu modelu:

  • 8bitová CPU s frekvencí 4 MHz
  • celkově 64 KB RAM
  • absence plovoucí desetinné čárky, cache a akcelerátorů
  • minimální sada registrů, s efektivní aritmetikou pouze na 8 a 16 bitech

V tomto scénáři Z80-μLM dokazuje, že koncept „AI“ není spojen s brutální silou, ale s reprezentací dat a efektivitou algoritmů. Každé rozhodnutí v projektu vychází přímo z vlastností (a omezení) Z80.

Co model implementuje

Z80 se stává „živou konceptuální zkouškou“: pokud mikroprocesor z roku 1976 může provádět mikro jazykový model s formou „osobnosti“, pak mohou být mnoho moderních předpokladů o paměti, výkonu a složitosti značně přehodnoceny.

Z pohledu retrocomputingu má projekt stejně tak velký význam, protože přehodnocuje Z80 jako úplnou výpočetní platformu, nikoli pouze historickou; ukazuje, jak dobře byla jeho architektura navržena, stále použitelné dnes; spojuje svět klasických mikrocomputerů se světem moderních neuronových modelů.

Z80-μLM staví svůj provoz na autoregresivní síti, která, jak již bylo zmíněno, generuje výstup znak po znaku (mapuje na neuron pro každý znak znakového souboru). Aktivace mezi vrstvami se provádí pomocí ReLU a veškerá matematika je v 16bitech, čímž se vyhýbá operacím s plovoucí desetinnou čárkou.

Jak to funguje: malý mozek pro obrovský procesor

Představte si, že musíte „porozumět“ textu procesoru Z80 z roku 1976, který má pouze 64 KB RAM a bez operací s plovoucí desetinnou čárkou.

Z80-μLM především převádí text na „cloud tag“ prostřednictvím trigramového kódování: tři po sobě jdoucí písmena zprávy jsou podrobena hashování do 128 číselných „kbelíků“. Je tolerantní vůči překlepům a ignoruje pořadí slov: „ahoj tam“ a „tam ahoj“ produkují stejný vzor!

Vektor prochází ultra-kompaktními neuronovými sítěmi (256, 192, 128 neuronů), kde jsou váhy kvantizovány na 2 bity ({-2,-1,0,+1}, balení po 4 na byte). Během inferenční fáze Z80 „rozbalí“ váhy a sčítá stovky příspěvků pomocí svých 16bitových registrů (HL, DE, BC) v super optimalizovaném cyklu.

Tento mechanismus funguje velmi dobře s krátkými odpověďmi (1–2 slova), hrami sestavenými na více dotazech a pro boty s retro osobnostmi. Nicméně, delší věty se „zmatují“ v kbelících a není možné zahájit strukturované konverzace ani používat složitou gramatiku.

Závěrečné poznámky a historické souvislosti

Redukce jazykového modelu na spustitelný formát na čipu Z80 vyžaduje technické kompromisy, ale otvírá zajímavé scénáře: retro-hacking, vzdělávací experimenty a ultrakompaktní embedded řešení.

Klíčovými technikami jsou kvantizace, trigramové kódování a optimalizace vnitřních cyklů založených na celčíselné aritmetice: tyto techniky umožňují komunikaci „vintage“ strojů s minimálním chatovacím rozhraním.

Zilog Z80 byl navržen Federicem Fagginem, italským inženýrem, který již hrál klíčovou roli při vzniku prvního komerčního mikroprocesoru, Intel 4004, a poté Intel 8080. V historickém kontextu poloviny 70. let založil Faggin společnost Zilog s cílem překonat limity 8080, čímž dal vznik elegantnějšímu, silnějšímu a systémově orientovanému CPU: zkušenosti získané s Z80 značně ovlivnily další projekty a přispěly k šíření osobních mikrocomputerů a položily konceptuální základy pro rozvoj moderního průmyslu mikroprocesorů a embedded systémů.