В прошлый раз я рассказал про GraphKAN, первую тернарную KAN с весами {-1, 0, +1}, которая выдала 96.15% на MNIST при 15 КБ. (ссылка).
С тех пор проект переродился. Рассказываю, что изменилось и почему.
GraphKAN → TernML
Название «GraphKAN» привязывало технологию к KAN (Kolmogorov-Arnold Networks). Для B2B-продаж это звучит как игрушка. Плюс пайплайн оказался шире: работает не только на KAN, но и на свёрточных сетях, трансформерах и RNN.
Так родился TernML (Ternary Machine Learning). Код переименован, репозитории заархивированы, всё собрано под единым брендом.
Архитектуры: уже не KAN
Тернарные веса {-1, 0, +1} с Straight-Through Estimator подтвердили эффект регуляризации квантизацией на всех архитектурах. float → тернар стабильно повышает точность. Тернарное пространство весов работает как информационное горлышко: шум отсекается, сигнал усиливается.
Сейчас TernML поддерживает 5 архитектур:
KAN , разреженный граф с piecewise-linear ternary weights
CNN (QAT) , свёрточный слой с тернарными весами, обучение с квантизацией
Transformer , TernaryAttention, TernaryFeedForward, каузальная маска (21 тест)
RNN/LSTM , однослойные и многослойные, bidirectional (33 теста)
Vision Transformer (ViT) , patch embedding, CLS токен (11 тестов)
Результаты
К прошлым цифрам (MNIST 96.15%) добавился глубокий CNN на CIFAR-10:
3 Conv слоя + BatchNorm + аугментация + cosine annealing
STE ternary: 84.03% (обучение не завершено)
Размер модели: 27.3 КБ в тернарной упаковке
Для сравнения: 46.31% на мелкой сети, 82.60% float , тернар даёт прирост 1.43 п.п.
Генерация C-кода для Cortex-M0+
TernML умеет генерировать .c/.h файлы для микроконтроллеров без FPU:
int8-only арифметика
Tanh через LUT (256 entry)
Тернарная упаковка: 4 значения в одном uint8
Влезает в 16 КБ RAM
Cortex-M0+ (STM32G031) стоит ~36 ₽, в нём нет ни FPU, ни DSP. TFLite Micro на таком чипе не запускается. Российские микроконтроллеры (Микрон MIK32 Amur, НИИЭТ К1921) тоже без FPU и без своего AI-стека.
Эффект регуляризации: перепроверено
ViT с тернарными весами подтверждает: эффект не привязан к архитектуре. На 11 тестах ViT стабильно показывает обратную связь: тернарная квантизация работает как регуляризатор, повышая точность относительно float baseline.
Всего 82 unit-теста покрывают 5 архитектур, кодогенерацию и упаковку.
Ссылки:
2026. Fakeonomics. Все права защищены.
