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 токена в секунду для чистого compute.

Железо тоже не абстрактное: указан ESP32-S3 N16R8 с 16MB flash, 8MB PSRAM и 512KB SRAM. Для микроконтроллера это все еще очень тесная коробка, поэтому обычный подход с загрузкой всей модели в быструю память тут не взлетел бы.

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

Мне в этой истории нравится именно инженерная грубость решения. Не пытались притвориться, что ESP32 внезапно стал маленьким сервером. Вместо этого архитектуру подогнали под реальную иерархию памяти микроконтроллера: flash для массы параметров, PSRAM для буферов, SRAM для самого горячего пути.

Есть важная оговорка: модель обучена на TinyStories. То есть это генерация коротких простых историй, а не фактический QA, не instruction following и не универсальный диалоговый ассистент.

Почему это меняет edge AI, но без фантазий

Это реальный шаг для локального AI на IoT, но не замена большим LLM. По состоянию на 30 июля 2026 я читаю этот проект как демонстрацию памяти и архитектуры, а не как появление умного ассистента в каждом датчике.

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

Где начнет ломаться, тоже видно сразу. Flash-доступы, ограниченный контекст, узкое обучение на TinyStories и слабая общая способность к инструкциям быстро упрутся в потолок. Я бы первым смотрел не на токены в секунду, а на качество деградации вне тренировочного домена.

Но сам факт неприятен для старой интуиции: LLM больше не обязательно означает облако, GPU и толстую плату. Иногда это lookup-таблица во flash и маленькое ядро, которое делает ровно столько интеллекта, сколько позволяет физика памяти.

Ранее мы разбирали, как демонстрации ИИ на Raspberry Pi часто остаются лишь мифами из-за отсутствия продуманной архитектуры. Этот случай с микроконтроллером за $8 показывает, что при правильном подходе даже на минимальном железе можно достичь реальных результатов.