Усредняющие сети: новый алгоритм ускоряет 8-битные нейросети почти без потери точности
При разработке систем распознавания документов для смартфонов приходится искать компромисс между скоростью и точностью: модель должна работать локально на ограниченных ресурсах. Обычный путь — квантование до 8-битных целых чисел, что даёт прирост скорости при близкой точности. Но авторы из Smart Document Engine пошли дальше и пересмотрели сам способ накопления результатов умножения.
Вместо точного суммирования они предлагают последовательное усреднение по дереву. Такой подход позволяет дольше хранить промежуточные результаты в 16-битном формате и эффективнее задействовать SIMD-регистры процессора. В тестах на ARM NEON это сократило время матричного умножения. При этом потеря точности оказалась незначительной, и её можно компенсировать дообучением сети.
Метод не требует уменьшения разрядности весов и входных данных — они остаются 8-битными. Это значит, что ускорение достигается без смены аппаратной платформы и может быть применено к уже развёрнутым моделям. Алгоритм особенно актуален для мобильных устройств и edge-устройств, где каждый такт на счету.