TernML: тернарный ИИ для микроконтроллеров без FPU за 50 центов
Проект GraphKAN переродился в TernML, предлагая тернарные нейросети для устройств без FPU. Технология демонстрирует стабильную точность на различных датасетах и открывает новые возможности для TinyML на дешёвом железе.
Проект GraphKAN, изначально разрабатывавшийся как тернарная версия Kolmogorov-Arnold Networks (KAN), претерпел значительные изменения и был переименован в TernML. Это не просто ребрендинг, а серьёзное расширение функциональности: теперь платформа поддерживает не только KAN, но и свёрточные нейросети, что делает её более универсальной для коммерческого применения. Разработчик сознательно отошёл от исследовательского формата, заархивировав старые репозитории и объединив все наработки под новым брендом, что подчёркивает переход к готовому продукту. Такой шаг особенно важен в контексте растущего спроса на edge-AI решения.
TernML демонстрирует впечатляющие результаты на стандартных бенчмарках. На MNIST достигнута точность 96.15%, на CIFAR-10 — 46.31%, а на Fashion-MNIST с использованием CNN показатель составил 92.02%, что даже превышает результаты исходной модели. Для задачи Adult Income разница с XGBoost составляет всего 2.8% при размере модели 0.6 КБ. Особый интерес представляет ELM-режим (Extreme Learning Machine), где на Fashion-MNIST получено 78.66% точности без традиционного обучения — только за счёт случайных весов и метода наименьших квадратов. Эти результаты подтверждают жизнеспособность тернарного подхода.
Ключевая инновация TernML — использование тернарных весов {-1, 0, +1}, что кардинально снижает требования к вычислительным ресурсам. Исследования показали, что преобразование float-весов в тернарные не только не снижает, но иногда и повышает точность благодаря эффекту регуляризации. Тернарное пространство работает как информационное горлышко: оно отсекает шумы и усиливает полезный сигнал. Этот эффект наблюдается на разных архитектурах, что говорит о его фундаментальной природе, а не о случайных артефактах.
Контекст разработки связан с бумом TinyML-решений для бюджетных микроконтроллеров, таких как Cortex-M0+ (STM32G031) стоимостью около 36 рублей. Эти чипы лишены FPU и DSP, что делает традиционные решения вроде TFLite Micro неприменимыми. TernML занимает всего 16 КБ L1-кэша, что открывает перспективы для его использования в российских микроконтроллерах, таких как Микрон MIK32 Amur и НИИЭТ К1921, которые также не имеют специализированных AI-ускорителей. Для российского рынка это особенно актуально в условиях импортозамещения.
TernML занимает уникальную нишу между традиционными float-моделями и бинарными нейросетями. Если последние часто страдают от значительной потери точности, то тернарный подход обеспечивает лучший баланс между производительностью и ресурсопотреблением. Это критически важно для устройств с крайне ограниченными возможностями, где каждый байт памяти и такт процессора на счету. Технология уже готова к промышленному применению в задачах диагностики оборудования, анализа вибраций и классификации звуков.
Перспективы проекта во многом зависят от его способности масштабироваться на более сложные задачи и привлекать коммерческие заказы. Открытым остаётся вопрос об эффективности TernML на специализированных датасетах за пределами классических бенчмарков. Также важна интеграция с популярными фреймворками и создание сообщества вокруг технологии. Разработчик уже зарегистрировался как самозанятый и предлагает услуги по адаптации моделей под конкретное железо, что может ускорить внедрение TernML в реальные проекты. Успех будет зависеть от скорости вывода готовых решений на массовый рынок.