LLM на ESP32-S3 за $8: трюк с памятью
edge-aiesp32llm
Что реально запустили на 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 и маленькое ядро, которое делает ровно столько интеллекта, сколько позволяет физика памяти.