Релиз модели30 июля 2026 г., 01:45 МСК🤖 Auto

LLM на 28.9 млн параметров на чипе за $8: как это работает

Разработчик slvDev запустил языковую модель на микроконтроллере ESP32-S3 без подключения к серверу. Модель использует 25 млн параметров из флеш-памяти, генерируя текст со скоростью 9.5 токенов в секунду.

Баннер новости 4673

Прорыв в эффективности памяти

На микроконтроллер ESP32-S3 стоимостью около 8 долларов была успешно портирована языковая модель с 28.9 миллионами параметров. Это примерно в 100 раз больше, чем предыдущий рекорд для подобных чипов (260 тысяч параметров). Ключевое отличие — полная автономность: модель работает локально, не отправляя данные на сервер, и выводит текст на подключенный дисплей.

Техническая реализация: Per-Layer Embeddings

Главная проблема микроконтроллеров — нехватка быстрой оперативной памяти (SRAM). В ESP32-S3 доступно всего 512 КБ SRAM, чего недостаточно для хранения весов большой модели. Решение, заимствованное из архитектуры Google Gemma (Per-Layer Embeddings), позволяет хранить основную таблицу эмбеддингов (25 млн параметров) в медленной флеш-памяти (Flash). При генерации каждого токена из флеша считывается лишь небольшой фрагмент (~450 байт), а вычисления происходят в доступной SRAM и PSRAM.

Характеристики системы

Ниже приведены технические спецификации запущенной системы и используемого оборудования:

Параметр Значение / Описание
Модель 28.9M параметров (25M в Flash, 3.9M в RAM/PSRAM)
Железо ESP32-S3, ~$8, 512KB SRAM, 8MB PSRAM, 16MB Flash
Скорость ~9.5 токенов/сек (9.7 токенов/сек чистых вычислений)
Размер модели 14.9 МБ (квантование 4-bit)
Данные Обучена на датасете TinyStories (короткие истории)

Ограничения и возможности

Модель способна генерировать связные короткие истории, но не предназначена для сложных задач. Она не отвечает на вопросы, не пишет код и не хранит фактические знания. Ограничение связано с архитектурой «мышления» модели, а не с методом хранения данных. Проект демонстрирует, что сложные архитектуры можно адаптировать под крайне ограниченные ресурсы, что открывает путь для офлайн-ИИ в IoT-устройствах.

Где найти код

Полный исходный код прошивки, схема подключения и инструкции по прошивке доступны в репозитории firmware/esp32_llm/README.md. Код обучения, аблиационные исследования и метрики производительности находятся в папках src/ и experiments/. Автор также открыто делится историей отладки, включая исправление ошибок в подсчете параметров.

Источник: Github ↗