Ke spuštění výkonné AI stačí 20 let starý Mac s 1 GB RAM. Tajemství je v procesoru

Ke spuštění výkonné AI stačí 20 let starý Mac s 1 GB RAM. Tajemství je v procesoru

Spustit lokální jazykový model není nic jednoduchého. Jednomu uživateli se to však podařilo na velmi omezeném hardwaru.


Nadšený uživatel chtěl využít svůj PowerBook G4 z roku 2005 a vyzkoušet, zda je systém schopen asimilovat a zpracovat jazykový model, jako je Llama 2. Obecně je lokální spuštění jazykového modelu úkolem, který vyžaduje slušný hardware, aby systém běžel bez problémů.

Andrew Rossignol, autor blogu The Resistor Network, pro tento úkol vycházel z efektivní implementace Llama 2 od Andreje Kaparthyho, upravené tak, aby poskytovala jednoduchost a dostupnost tohoto jazykového modelu na široké škále systémů. Ve skutečnosti se jednalo o stejný kód, který byl použit pro spuštění LLM (Large Language Model) na počítači s Windows a pouhými 128 MB RAM.

Související článek

Chování umělé inteligence nerozumí ani její vývojáři. Teď by se to ale mohlo změnit
Chování umělé inteligence nerozumí ani její vývojáři. Teď by se to ale mohlo změnit

Společnost Anthropic analyzovala 10 různých chování Clauda a tvrdí, že její zjištění nám pomohou lépe porozumět dalším AI.

Takto běží AI lokálně na 20 let starém počítači

PowerBook použitý k testu má procesor s frekvencí 1,5 GHz, pouze 1 GB paměti RAM a 32bitovou architekturu. Projekt je založen na adaptaci Kaparthyho kódu, který umožňuje inferenci modelu Llama 2 prostřednictvím jediného souboru napsaného v jazyce C. Autor v textu vyjadřuje uspokojení nad výzvou přenést tuto technologii do prostředí s velmi omezenými zdroji.

Ukázal, jak se mu díky řadě úprav Kaparthyho kódu podařilo splnit úkol spustit jazykový model velikosti Llama 2 na systému, který je dnes tak omezený, jako je PowerBook G4 od firmy Apple. Tajemství spočívalo v optimalizaci kódu a technologie přítomné v procesoru tohoto počítače.

Aby autor překonal překážky hardwarových omezení, provedl několik optimalizací kódu. Patří mezi ně úpravy pro zlepšení správy zdrojů, například abstrakce vstupně-výstupních funkcí a správy paměti a také začlenění systému založeného na zpětných voláních, který usnadňuje vizualizaci výsledků při jejich generování. Tato modulární struktura také umožňuje testování bez spoléhání na přímé textové výstupy a zajišťuje, že model správně reaguje na různé vstupy.

Vývojář dokázal vyřešit klíčový problém

Jeden z největších problémů při přenosu tohoto softwaru na PowerBook G4 spočívá v rozdílné architektuře. Zatímco původní implementace předpokládá prostředí little-endian, procesor PowerPC používá formát big-endian. Termín „endian“ označuje pořadí, v jakém jsou bajty uloženy v paměti. V systému big-endian, jako je PowerPC, jsou nejdříve uloženy nejvýznamnější bajty čísla, zatímco v systému little-endian jsou nejdříve uloženy nejméně významné bajty.

K vyřešení tohoto konfliktu byl implementován mechanismus převodu dat, který správně reinterpretuje uložená čísla, čímž se zamezí kritickým chybám při alokaci paměti.

Kromě toho autor využil možností procesoru, zejména vektorových rozšíření AltiVec, která umožňují provádět matematické operace rychleji a efektivněji. Pomocí těchto speciálních instrukcí uživatel optimalizoval základní výpočty násobení a sčítání, které tvoří jádro zpracování modelu, čímž se výrazně zkrátila doba odezvy, i když je stále pomalejší ve srovnání s moderními zařízeními.

Pro měření výkonu byly provedeny testy na současném systému i na PowerBooku G4. Zatímco na moderním procesoru bylo dosaženo přibližně 6,91 tokenů za sekundu, na starém notebooku se rychlost výrazně snížila a výsledky se blížily 0,77 tokenů za sekundu. Po použití optimalizace pomocí AltiVec se výkon mírně zlepšil.

Jak uvádí uživatel, experiment je dalším neuvěřitelným příkladem toho, že jazykový model lze použít i na mnohem menších počítačích, i když výkon není ideální. Vyžaduje to však značné úsilí při implementaci potřebných optimalizací. Takové projekty jsou povzbudivé v tom, že demokratizují používání umělé inteligence, aniž by bylo nutné striktně používat model nahraný do cloudu.

Zdroje článku:
theresistornetwork.com

#