Ученые из Университета Райса продемонстрировали программное обеспечение, которое работает на обычных процессорах и обучает глубокие нейронные сети в 15 раз быстрее, чем платформы на основе графических процессоров.
По словам исследователей, стоимость обучения нейросетей остается серьезным препятствием в развитии технологии, а компании тратят миллионы долларов в неделю на настройку рабочих нагрузок на ИИ.
Обучение глубоких нейросетей обычно представляет собой серию операций умножения матриц. Подобного рода рабочие нагрузки идеальны для графических процессоров, но последние стоят примерно в три раза больше, чем центральные процессоры общего назначения.
По словам разработчиков, сейчас отрасль сосредоточена на ускорении матричного умножения, однако они решили поработать с самим алгоритмом.
Исследователи преобразовали обучение глубоких нейросетей в поисковую задачу, которую можно решить с помощью хеш-таблиц. Их «сублинейный механизм глубокого обучения» (SLIDE) специально разработан для работы на стандартных процессорах. Как утверждают разработчики, он может превзойти обучение на основе графического процессора в 4-15 раз по скорости.
Так, обучение с использованием SLIDE на 44-ядерном ЦП оказалось более чем в 3,5 раза (1 час против 3,5 часов) быстрее, чем обучение с использованием Tensorflow на Tesla V100 при любом заданном уровне точности. На том же аппаратном обеспечении ЦП SLIDE работает более чем в 10 раз быстрее, чем Tensorflow.
В настоящее время исследователи работают над тем, чтобы улучшить производительность SLIDE с помощью ускорителей векторизации и оптимизации памяти в современных процессорах.
Код разработчиков доступен на GitHub.
Как отмечается в обсуждении, данный алгоритм предназначается именно для широких нейросетей, но не для сверточных.