Na ESP32-S3 bol spustený jazykový model s 28,9 miliónmi parametrov.


Vývojár Vyacheslav Serbov, ktorý vystupuje pod pseudonymom slvDev, preukázané Úplne lokálne generovanie textu na mikrokontroléri ESP32-S3. Výsledný jazykový model obsahuje 28,9 milióna parametrov a produkuje približne 9,9 tokenov za sekundu bez prístupu k serveru alebo iným externým výpočtovým zdrojom. Vygenerované krátke príbehy sa zobrazujú na pripojenom OLED displeji.

 

Projekt esp32-ai Testované na module ESP32-S3 N16R8 s 512 KB integrovanej SRAM, 8 MB PSRAM a 16 MB flash pamäte. 4-bitový kvantizovaný model zaberá 14,9 MB. Úložisko obsahuje zdrojový kód runtime jazyka C, trénovacie a kvantizačné nástroje, firmvér, testy a skripty na jeho nahranie na dosku.

 

Uvedených 28,9 milióna parametrov by sa nemalo priamo porovnávať s počtom parametrov konvenčných desktopových LLM. Podľa podrobná správa pre vývojárovModel pozostáva z hustého výpočtového jadra s približne 559 000 parametrami, výstupnej vrstvy s 3,1 miliónmi parametrov a tabuľky vrstvených vektorových reprezentácií s približne 25 miliónmi parametrov. Druhá menovaná predstavuje väčšinu formálnej veľkosti modelu, ale pri generovaní každého tokenu sa nespracováva úplne.

 

Na ukladanie modelu sa používajú tri úrovne pamäte. Najčastejšie používané údaje sa nachádzajú v internej pamäti SRAM, výstupná vrstva, vyrovnávacia pamäť KV a dočasné vyrovnávacie pamäte sa nachádzajú v pamäti PSRAM a tabuľka s 25 miliónmi položiek sa nachádza vo flash pamäti a je prístupná prostredníctvom mapovania adresného priestoru. Z každého tokenu sa z neho načíta iba približne šesť riadkov, čo predstavuje približne 450 bajtov.

 

Toto zariadenie je založené na technológii Per-Layer Embeddings, ktorú spoločnosť Google používa v zariadení Gemma 3n. Podľa... Dokumentácia GoogluParametre PLE je možné ukladať mimo pracovnej pamäte modelu a pridávať do inferenčného procesu pri spracovaní jednotlivých vrstiev. V esp32-ai je tento prístup rozšírený na hierarchiu pamäte mikrokontroléra, kde je rýchla SRAM obzvlášť obmedzená.

 

Prvá správna verzia runtime prostredia založeného na jazyku C produkovala iba 0,57 tokenu za sekundu. Po umiestnení výstupnej vrstvy do PSRAM, prepnutí na osembitové aktivácie, rozdelení výpočtov medzi dve jadrá Xtensa LX7 a ďalších optimalizáciách sa latencia znížila na 94,9 ms na krok modelu. Konečná nameraná priepustnosť dosiahla 9,88 tokenu za sekundu, berúc do úvahy celý proces generovania. Hlavným obmedzením sa teraz stala šírka pásma PSRAM pri čítaní výstupnej vrstvy.

 

Model bol trénovaný na syntetickom súbore údajov TinyStories, pozostávajúci z jednoduchých príbehov v anglickom jazyku s obmedzenou slovnou zásobou. Preto dokáže pokračovať vo vetách a skladať krátke, súvislé príbehy, ale nie je určený na odpovedanie na otázky, dodržiavanie pokynov, programovanie ani reprodukciu faktických vedomostí. Vývojár vníma prácu predovšetkým ako demonštráciu efektívneho umiestnenia modelu do pamäte mikrokontroléra, a nie ako hotového, autonómneho chatbota.

 

V aktuálnej dokumentácii autor osobitne zdôrazňuje, že esp32-ai je nezávislý vývoj. Projekty lama2.c Práca Andreja Karpathyho a skoršie uvedenie 260 000. modelu na ESP32-S3 sú uvedené len ako návod a príklady predchádzajúcej práce: kód, kontrolné body a metodika nie sú priamo prevzaté z nich. Zdrojový kód esp32-ai distribuované pod licenciou MIT.

 

Zdroj: linux.org.ru

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster