Енергетичний стандарт для робочих станцій Aorus
Локальний інтелект у масштабах мікроконтролера

Сучасний ринок ШІ звик до масштабів: трильйони параметрів, тисячі відеокарт 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, яка працює ще швидше, але обмежена тематикою приготування кави. Проте цей експеримент демонструє важливий технологічний зсув: інтелект перестає бути прерогативою серверних стійок і стає доступним на рівні найпростіших електронних компонентів.

