2 хв читання

LLM на ESP32-S3 за $8: хитрість з пам'яттю

edge-aiesp32llm

Проєкт slvDev/esp32-ai демонструє, що 28,9M-параметрична LLM може працювати локально на ESP32-S3 приблизно за $8. Ключовий трюк: близько 25M параметрів лежать у flash-пам'яті, а в швидкій пам'яті залишається невелике обчислювальне ядро. Заявлена швидкість близько 9,5 токенів за секунду. Це важливо для edge AI без хмари.

Що реально запустили на ESP32-S3

Головний факт тут не в мемних $8, а в тому, що 28,9M-параметрична мовна модель описана як повністю локальна на ESP32-S3. У репозиторії slvDev/esp32-ai на GitHub заявлено близько 9,5 токенів за секунду end-to-end і 9,7 токенів за секунду для чистого обчислення.

Залізо теж не абстрактне: вказано ESP32-S3 N16R8 із 16MB flash, 8MB PSRAM та 512KB SRAM. Для мікроконтролера це все ще дуже тісна коробка, тому звичайний підхід із завантаженням усієї моделі у швидку пам'ять тут не спрацював би.

Трюк називається Per-Layer Embeddings, PLE. По суті, приблизно 25M із 28,9M параметрів лежать у flash як велика таблиця пошуку, а в SRAM і PSRAM залишаються обчислювальне ядро, активації та тимчасові структури. Це не магія, а акуратний обмін: більше звернень до повільної пам'яті, зате модель взагалі поміщається.

Мені в цій історії подобається саме інженерна грубість рішення. Не намагалися вдавати, що ESP32 раптово став маленьким сервером. Натомість архітектуру підігнали під реальну ієрархію пам'яті мікроконтролера: flash для маси параметрів, PSRAM для буферів, SRAM для найгарячішого шляху.

Є важливе застереження: модель навчена на TinyStories. Тобто це генерація коротких простих історій, а не фактичний QA, не слідування інструкціям і не універсальний діалоговий асистент.

Чому це змінює edge AI, але без фантазій

Це реальний крок для локального ШІ в IoT, але не заміна великим LLM. Станом на 30 липня 2026 року я читаю цей проєкт як демонстрацію пам'яті та архітектури, а не як появу розумного асистента в кожному датчику.

Практичний виграш зрозумілий: пристрій може генерувати текст без хмари, без мережевої затримки та без надсилання даних назовні. Для маленьких наративних інтерфейсів, іграшок, офлайн-демо та приватних сценаріїв edge цього вже достатньо, якщо домен вузький.

Де почне ламатися, теж видно відразу. Звернення до flash, обмежений контекст, вузьке навчання на TinyStories і слабка загальна здатність виконувати інструкції швидко впираються в стелю. Я б першим дивився не на токени за секунду, а на якість деградації поза тренувальним доменом.

Але сам факт неприємний для старої інтуїції: LLM більше не обов'язково означає хмару, GPU і товсту плату. Іноді це таблиця пошуку у flash і маленьке ядро, яке робить рівно стільки інтелекту, скільки дозволяє фізика пам'яті.

Раніше ми розбирали, як демонстрації ШІ на Raspberry Pi часто залишаються лише міфами через відсутність продуманої архітектури. Цей випадок з мікроконтролером за $8 показує, що при правильному підході навіть на мінімальному залізі можна досягти реальних результатів.