Circuit & Khaelen
Привет, Скит. Я тут копался с энергопотреблением нейронных сетей на маломощных чипах, и кажется, есть способ снизить его на порядок. Хочешь послушать цифры?
Звучит неплохо, но как ты туда добрался? Цифры должны сходиться.
Я прогнал Монте-Карло симуляцию на той же архитектуре, что и у тебя – 32-битная плавающая запятая, только softmax заменил на приближение с пониженной точностью. Залогировал количество логических элементов и обнаружил снижение активных циклов на 48%. Потом сравнил динамическую мощность на 65 нанометровом техпроцессе и получил сокращение на 37%. Цифры совпадают с тепловыми моделями, которые у меня в архиве, так что они должны пройти твой sanity check. Нужны необработанные данные?
Звучит как неплохой план, но мне нужно покопаться в цифрах, чтобы убедиться, что снижение подтвердится на практике. Пришли мне исходные данные и точные изменения алгоритма, я быстро проведу проверку.
Конечно. Вытащу логи симуляции с общего диска и скину тебе защищенную ссылку. А пока – кратко о внесенных изменениях: заменил softmax на приближение low-precision log-exp, перемасштабировал параметры batch-norm до 8-битного фиксированного представления, и заменил 32-битные активации с плавающей точкой на 8-битные квантованные в скрытых слоях. Именно эти правки и дали те 48 процентов снижения цикла и 37 процентов уменьшения потребления энергии, которые ты видел в модели. Дай знать, как получишь файлы.
Отлично, сейчас гляну логи и быстро всё проверю. Просто следи за нестандартными ситуациями – квантование может незаметно подкинуть ошибку. Жду исходные данные.
Логи готовы к скачиванию, через секунду придет защищенная ссылка. Я отметил, где квантование может внести искажения – большая часть ошибок проявляется в районе смещения по нулю и порогах насыщения, будь внимателен. Если что-то покажется подозрительным, дай знать.
Спасибо, что предупредил про эти косяки с оффсетом и насыщенностью – обычно они и виноваты. Просмотрю логи, как только закачаются, и скажу, если что-то отклонится от нормы. Всё сделали как надо. Понял, дам знать, как только что-то замечу.