Содержание
ESP32-S3 за $10 получил локальную ИИ-модель на 28,9 млн параметров. Украинский разработчик Slava S, известный на GitHub как slvDev, опубликовал проект ESP32-AI в неделе с 20 по 26 июля 2026 года.
Звучит как трюк ради трюка, но в нём есть нормальная инженерная мысль. Slava S не пытается заменить видеокарту микроконтроллером. Он показывает, как архитектура модели может обойти жёсткий лимит памяти.
Модель поместилась в 16 МБ Flash, а не в быструю RAM
Обычная LLM постоянно обращается к весам модели при генерации следующего токена. На настольном ПК это упирается в видеопамять или системную RAM, а на микроконтроллере всё заканчивается почти сразу.
У этой версии ESP32-S3 всего 512 КБ SRAM, 8 МБ PSRAM и 16 МБ Flash. Для почти 30 млн параметров это смешной объём, если хранить модель обычным способом.
- SRAM: 512 КБ быстрой памяти
- PSRAM: 8 МБ внешней оперативной памяти
- Flash: 16 МБ постоянной памяти
- Цена платы: меньше $10, около 1 000 рублей
Разработчик взял приём Per-Layer Embeddings из архитектуры Google Gemma. Он сжал модель до 4 бит, и итоговый файл занял 14,9 МБ. Главный выигрыш пришёл не только от квантования, а от переноса данных.
Таблица эмбеддингов на 25 млн параметров лежит во Flash. Быстрая SRAM остаётся для «мыслящего ядра» модели, то есть для весов, которые реально считают следующий фрагмент текста. Flash медленнее, но эта архитектура берёт из таблицы лишь несколько строк на токен.

Рекорд вырос с сотен тысяч до десятков миллионов параметров
Slava S написал в X, что прежний ориентир для подобных чипов составлял около 260 тыс. параметров. Его проект поднял планку до 28,9 млн параметров, хотя практические возможности модели остались узкими.
| Проект | Параметры | Платформа |
|---|---|---|
| Предыдущий ориентир Dave Bennett | около 260 тыс. | микроконтроллер уровня ESP32 |
| ESP32-AI от slvDev | 28,9 млн | ESP32-S3 |
Это не ChatGPT в корпусе от Arduino. Модель обучили на наборе TinyStories, поэтому она пишет короткие простые истории. Она не отвечает на фактические вопросы, не следует инструкциям и не пишет код.

И здесь важно не перепутать достижение с рекламным обещанием. Практический смысл в другом: нейросеть с большой структурой запустили на железе, где под модель почти нет быстрой памяти.
Slava S приводит бытовой пример с кофемашиной. Такое устройство могло бы знать сорта зёрен, помол, пропорции и температуру воды. И всё это работало бы локально, без приложения и подключения к серверу.
Почему Per-Layer Embeddings важны не только для микроконтроллеров
Per-Layer Embeddings интересны тем, что снижают требования к быстрой памяти. Если модель редко читает большую таблицу, её можно держать на более медленном носителе. Для ESP32-S3 это Flash, для серверов — более сложные уровни хранения.
Похожая логика уже всплывала в куда более экстремальном примере. Разработчик Emanuele Rodolà уместил генератор имён на базе биграмм в ROM игр Dragon Warrior и Final Fantasy для NES. Веса заняли 729 байт, код инференса — около 140 байт ассемблера; проект лежит на GitHub.
Такие эксперименты хорошо отрезвляют разговоры про «локальный ИИ». Нужное железо зависит от задачи. Для RAG-помощника по документам нужен один класс устройств, для генерации сказок на микроконтроллере — совсем другой.
Код ESP32-AI опубликован на GitHub, модель занимает 14,9 МБ, а таблица эмбеддингов хранится в 16 МБ Flash памяти ESP32-S3.