Проект с открытым исходным кодом втиснул языковую модель с 28,9 миллионами параметров в микроконтроллер стоимостью около 8 долларов, генерирующий текст полностью на чипе со скоростью примерно девять токенов в секунду вообще без подключения к сети. Демонстрация, опубликованная на GitHub и быстро поднимающаяся на первой странице Hacker News, показывает, как далеко за короткое время продвинулся фронт небольшого локального искусственного интеллекта.
Работа сосредоточена на ESP32-S3, недорогом встроенном чипе, популярном среди любителей и производителей оборудования. Не так давно запуск модели с 28,9 миллионами параметров на таком маленьком куске кремния казался невероятным, и проект предлагает яркую иллюстрацию более широкого продвижения к внедрению искусственного интеллекта на устройствах, которое мы отслеживаем в наших ежедневных обзорах индустрии искусственного интеллекта (https://aibuzzwire.news). Там, где облако когда-то казалось обязательным для любой реальной языковой модели, сегодня все более мощные системы находят применение на периферии.
Цифры, стоящие за сборкой
В проекте четко изложены его характеристики. Модель хранит 28,9 миллионов параметров, из которых около 25 миллионов находятся во флэш-таблице поиска. Он работает на чипе ESP32-S3 с 512 КБ быстрой SRAM, 8 МБ PSRAM и 16 МБ флэш-памяти. На практике она достигает примерно 9,5 токенов в секунду от начала до конца или 9,7 токенов в секунду чистых вычислений, а вся модель занимает всего 14,9 мегабайт при хранении с точностью до 4 бит.
Самым поразительным является сравнение, которое проводит автор с предыдущими работами. Последняя языковая модель этого класса, работавшая на чипе этого класса, содержала всего 260 000 параметров. Новая сборка вмещает примерно в сто раз больше данных, и это скачок, связанный не с увеличением размера чипа, а с переосмыслением того, где на самом деле хранятся данные модели.
Трюк с памятью, позаимствованный у Джеммы
Основная проблема заключается в том, что микроконтроллер почти не имеет быстрой памяти. ESP32-S3 предлагает всего 512 КБ SRAM, и традиционно вся модель должна быть доступна оттуда, поэтому предыдущие попытки застряли на нескольких сотнях тысяч параметров.
Обходной путь основан на простом наблюдении. Большинство параметров языковой модели находятся в таблице внедрения, из которой модель считывает, а не вычисляет. Поэтому вместо того, чтобы помещать эту огромную таблицу из 25 миллионов строк в дефицитную быструю память, проект оставляет ее в медленной флэш-памяти и извлекает только несколько строк, которые действительно нужны каждому токену, около 450 байт за раз. Небольшая часть модели, которая выполняет реальные вычисления, остается в быстрой памяти, в то время как основная часть весов просто ожидает во флэш-памяти, отбираясь понемногу.
Этот метод известен как Per-Layer Embeddings, и он возник в моделях Google Gemma, в частности в Gemma 3n и Gemma 4, где он был разработан для телефонов и графических процессоров. По словам автора проекта, никто ранее не пробовал использовать такой подход на столь маленьком чипе.
Что он может и чего не может
Модель была обучена на TinyStories, наборе данных простых детских историй, поэтому ее возможности намеренно ограничены. Он пишет короткие, в основном связные истории, но не отвечает на фактические вопросы, не следует сложным инструкциям, не пишет код и не рассуждает о мире. Автор откровенно заявляет, что это ограничение проистекает из небольшой части рассуждений модели, и что трюк с памятью не меняет его.
Поэтому интересным проект делает не качество продукции, а его архитектура. Достижение заключается в том, что модель такого размера помещается на такой крошечный чип, доказывая, что те же методы, которые используются в эффективных моделях телефонов и серверов, можно перенести на аппаратное обеспечение, которое стоит меньше сэндвича.
Почему ИИ на устройстве имеет значение
Последствия выходят далеко за рамки аккуратной технической демонстрации. Поскольку модель полностью работает на чипе, на сервер ничего не отправляется. Это означает полную конфиденциальность, никакие данные не покидают устройство и не нужно платить за облако. Для приложений в отдаленных районах, маломощных устройств или мест, где соединение ненадежно, такая комбинация действительно полезна.
Это также указывает на будущее, в котором небольшие специализированные модели будут распределены по миллиардам дешевых встроенных устройств, а не сосредоточены в горстке гигантских центров обработки данных. Те же факторы, которые стимулируют интерес к локальному искусственному интеллекту на ноутбуках и телефонах, а именно меньшая задержка, меньшая стоимость и более высокая конфиденциальность, еще сильнее действуют на уровне микроконтроллеров.
Открытое приглашение поработать
Проект выпущен под разрешительной лицензией MIT, и автор поделился полным кодом на GitHub вместе с подробной документацией и результатами тестов. Эта открытость означает, что другие разработчики оборудования могут изучить этот подход, адаптировать его к другим чипам или еще больше увеличить количество параметров.
Выпущенная под ником slvDev, работа нашла большой отклик в сообществе разработчиков, собрав сотни голосов на Hacker News и вызвав дискуссию о том, куда эта техника может развиваться дальше. Если эта тенденция сохранится, грань между «языковой моделью» и обычным встроенным программным обеспечением станет намного более размытой.
Будьте впереди ИИ
От чипов стоимостью 8 долларов до центров обработки данных стоимостью в миллиарды долларов, вопрос о том, где работает ИИ, становится таким же важным, как и то, что он может сделать. Аппаратный уровень развивается быстрее, чем думает большинство людей, и проекты, которые сегодня выглядят как диковинки, часто определяют мейнстрим завтрашнего дня. Читайте больше новостей об искусственном интеллекте на AI Buzz Wire, чтобы следить за каждым прорывом в области периферийных вычислений, эффективности моделей и интеллекта на устройствах.
Будьте в курсе революции аппаратного обеспечения искусственного интеллекта — посетите AI Buzz Wire


