Локальний інтелект у масштабах мікроконтролера

Дата5 серп. 2026 р.
Читати3 хв
Локальний інтелект у масштабах мікроконтролера
Епоха гігантських нейромереж поступово трансформується під впливом тренду на радикальну оптимізацію та перенесення обчислень на периферію (edge computing). Поки індустрія веде запеклу боротьбу за доступ до найпотужніших GPU, справжнім технологічним фронтиром стає пошук межі мініатюризації когнітивних функцій. Недавній експеримент із запуску мовної моделі на бюджетному мікроконтролері доводить: генеративні можливості цілком можуть існувати поза межами хмарних кластерів та дорогого заліза. Це відкриває принципово нові перспективи для розвитку автономних систем та екосистеми інтернету речей (IoT).

Сучасний ринок ШІ звик до масштабів: трильйони параметрів, тисячі відеокарт H100 та колосальні енерговитрати. Однак паралельно розвивається й інший вектор — пошук мінімально можливого обсягу ресурсів, достатнього для підтримки текстової генерації. Показовим став кейс із запуску великої мовної моделі (LLM) на мікроконтролері ESP32-S3, вартість якого не перевищує десяти доларів.

Цей пристрій від самого початку створювався для керування датчиками та простих завдань інтернету речей (IoT). Його апаратні можливості суттєво обмежені: лише 520 Кбайт статичної оперативної пам'яті (SRAM) та 8 Мбайт псевдо-SRAM (PSRAM). Очевидно, що сучасні флагмани на кшталт DeepSeek V4 Flash тут безсилі. Для реалізації завдання знадобився принципово інший підхід до вибору моделі.

Фундаментом стала TinyStories — розробка Microsoft Research. Ця модель у десять тисяч разів компактніша за індустріальні стандарти й містить лише 28,9 млн параметрів. Попри малий розмір, навіть вона в оригінальному вигляді виявилася занадто «важкою» для ESP32-S3: при стандартній 16-бітній точності ваги займають близько 60 Мбайт, що багатократно перевищує доступний обсяг пам'яті пристрою.

Рішенням стало агресивне квантування — процес зниження точності представлення ваг. Перехід із 16 біт на 8, а потім і на 4 біти дозволив стиснути модель до 14,9 Мбайт. Для розміщення такого обсягу даних знадобилася модифікація мікроконтролера з розширеною флешпам'яттю на 16 Мбайт.

Однак простого розміщення ваг у флешпам'яті недостатньо для ефективної роботи, оскільки швидкість доступу до неї значно нижча, ніж до оперативної пам'яті. Щоб подолати цей бар'єр, було застосовано механізм пошарового вбудовування (Per-layer embedding — PLE), концептуально схожий на той, що використовується в моделях сімейства Google Gemma.

Суть методу полягає в розділенні даних: основна частина ваг (близько 25 млн параметрів або 12 Мбайт) виноситься у флешпам'ять, до якої звернення відбуваються епізодично. В оперативну пам'ять поміщаються лише критично важливі дані обсягом 2 Мбайт. Таким чином, вхідні токени та кеш ключ-значення (KV cache) розташовуються в PSRAM, а для процесів активації використовується основна SRAM.

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

Звісно, TinyStories обмежена своєю специфікою — вона здатна генерувати лише короткі історії, чого недостатньо для повноцінного чат-бота. Існують і інші вузькоспеціалізовані моделі, наприклад Barista, яка працює ще швидше, але обмежена тематикою приготування кави. Проте цей експеримент демонструє важливий технологічний зсув: інтелект перестає бути прерогативою серверних стійок і стає доступним на рівні найпростіших електронних компонентів.

Тала знає • Використання матеріалів сайту дозволено виключно за умови розміщення активного, прямого і відкритого для пошукових систем гіперпосилання на першоджерело. Посилання має бути клікабельним і розташовуватися безпосередньо в тілі публікації — до або після запозиченого тексту. Будь-яке копіювання, відтворення або цитування контенту без дотримання цієї умови розглядається як порушення авторських прав.