Центральный процессор в несколько раз обошёл по производительности связку сразу из восьми графических процессоров при глубоком обучении нейросетей. Звучит как что-то из научной фантастики, не так ли? Но исследователи из Университета Райса (Rice University) с помощью Intel Xeon доказали, что это реально.
Графические процессоры всегда намного лучше подходили для глубокого обучения нейросетей, нежели центральные процессоры. Это связано с архитектурой GPU, которые состоят из множества мелких ядер, которые способны параллельно выполнять очень много небольших задач, что как раз и требуется для тренировки нейросетей. Но оказалось, что и центральные процессоры при должном подходе могут быть очень эффективны в глубоком обучении.
Сообщается, что при использовании алгоритма глубокого обучения SLIDE процессор Intel Xeon с 44 ядрами оказался в 3,5 раза производительнее, нежели связка из восьми ускорителей вычислений NVIDIA Tesla V100. Пожалуй, это первый раз, когда CPU не только сравнялся с GPU в подобном сценарии, но и превзошёл их, причём очень заметно.
В выпущенном университетом пресс-релизе говорится, что алгоритм SLIDE не нуждается в графических процессорах, так как использует совершенно иной подход. Обычно при обучении нейросетей используется методика обратного распространения ошибки обучения, которая использует перемножение матриц, которое является идеальной нагрузкой для GPU. В свою очередь SLIDE превращает обучение в проблему поиска, которая решается с помощью хеш-таблиц.
По словам исследователей, это значительно снижает вычислительные затраты на обучение нейросетей. Для того, чтобы получить точку отсчёта, исследователи использовали имеющуюся в лаборатории Университета Райса систему с восемью ускорителями Tesla V100 для обучения нейросети с использованием библиотеки Google TensorFlow. Процесс занял 3,5 часа. После, аналогичная нейросеть была обучена с помощью алгоритма SLIDE на системе с одним 44-ядерным процессором Xeon, и это заняло всего лишь 1 час.
Тут стоит отметить, что в ассортименте Intel сейчас нет 44-ядерных моделей процессоров. Возможно, исследователи использовали какой-то кастомный или ещё не вышедший чип, но это маловероятно. Куда более вероятно, что здесь была использована система с двумя 22-ядерными Intel Xeon, или просто в пресс-релизе допущена ошибка, и речь идёт о 44 потоках, которые обеспечил один 22-ядерный процессор. Но в любом случае это не умаляет самого достижения.
Конечно, алгоритму SLIDE ещё предстоит пройти множество проверок и доказать свою эффективность, а также отсутствие каких-либо особенностей и подводных камней. Однако то, что мы видим сейчас, очень впечатляет и действительно может сильно повлиять на развитие индустрии.