Големите езикови модели вече могат да се изпълняват локално на лаптопи и дори на някои смартфони. Един ентусиаст с псевдоним SlvDev стартира малък езиков модел локално на микроконтролера ESP32-S3, който струва само 10 долара и постигна скорост на работа от почти 10 токена в секунда.
Микроконтролерът ESP32-S3 разполага с 520KB SRAM и 8MB псевдо-SRAM (PSRAM). Той е предназначен за управление на отдалечени сензори, устройства от интернет на нещата и друго оборудване – AI модел от класа DeepSeek V4 Flash не може да бъде стартиран на него. Вместо нея ентусиастът избра система, която е 10 000 пъти по-компактна – разработената от Microsoft Research модел TinyStories с 28,9 милиона параметри.
В първоначалния си вид и TinyStories се оказа прекалено обемен за ESP32-S3: при 16-битова точност той изисква около 60MB пространство, с което микроконтролера просто не разполага, затова на началния етап авторът на проекта извърши квантизация – компресира теглата на модела от 16 до 8, а след това и до 4 бита. В резултат моделът започна да заема 14,9MB и за инсталирането му се наложи да се закупи вариант на микроконтролера с 16MB флаш памет.
ESP32-S3
След това ентусиастът извърши още една операция – той реализира механизъм за вграждане по слоеве (Per-layer embedding – PLE), който се използва в архитектурата на отворените AI модели на Google Gemma. В резултат на това той прехвърли значителна част от теглата на модела, а именно 25 милиона параметри с размер 12MB във флаш памет, до която достъпът ще се осъществява сравнително рядко, а в оперативната памет на контролера постави само 2MB данни. В резултат на това входните заглавия и кешът ключ-стойност (KV) се оказаха в PSRAM, а за активирането бяха достатъчни 520KB в SRAM. Благодарение на тези мерки успя да се постигне генериране със скорост от 9,88 токена в секунда – по-бързо, отколкото може да чете средностатистическият човек.
AI моделът TinyStories се превърна в отличен пример за демонстриране на концепцията, но той генерира само кратки истории, а това не е достатъчно дори за стартиране на чатбот. Има и друг модел с подобни размери – Barista, който вече може да отговаря на въпроси и генерира токени два пъти по-бързо, но само по теми, свързани с еспресото. И двата AI модела са прекалено малки, за да правят нещо друго, но самият факт, че работят на ESP32 сам по себе си е впечатляващ.