> > > > Intel показала оптимизации TensorFlow на процессорах Xeon Scalable

Intel показала оптимизации TensorFlow на процессорах Xeon Scalable

Опубликовано:

intel-xeon-platinumTensorFlow - одна из лидирующих экосистем в области глубокого и машинного обучения. Google, NVIDIA и Intel уже объявили об оптимизациях, которые ускоряют расчеты TensorFlow на собственном железе компаний. В случае Intel это касается процессоров Xeon и Xeon Phi, которые используют библиотеки Intel Math Kernel Libraries (MKL). Теперь Intel опубликовала первые результаты, улучшения весьма удивительны - производительность возрастает больше чем на порядок. А именно тренировка сетей глубокого обучения ускоряется до 70 раз. Обработка запросов в сеть (inferencing) - до 85 раз.

AMD, NVIDIA и Google разрабатывают специальные чипы для данной сферы, которые намного быстрее справляются с глубоким обучением, машинным обучением и схожими технологиями по сравнению с обычными CPU. Intel пытается противодействовать этой тенденции, доказывая, что высокая производительность достигается и на CPU.

Для демонстрации Intel выбрала процессоры Xeon Scalable, содержащие до 28 вычислительных ядер, значительный кэш последнего уровня, кэш 1 Мбайт L2 на ядро, память DDR4 официально работает на частоте до 2.666 МГц и подключается по шести каналам. Но более важны поддерживаемые наборы инструкций. От процессоров Xeon Phi перешел набор инструкций Advanced Vector Extensions 512 (AVX-512). Но с процессорами Xeon Scalable были добавлены флаги AVX-512 CPUID (AVX512BW и AVX512DQ), а также совместимость с AVX512VL. Флаг AVX512DQ CPUID предназначен для оптимизаций под нагрузки высокопроизводительных вычислений (HPC) и машинного обучения.

По информации Intel, ключевой особенностью является адаптация рассчитываемых данных и программного обеспечения под используемое "железо". Intel предлагает библиотеку Math Kernel Library for Deep Neural Networks (MKL-DNN), которая доступна с открытым исходным кодом. TensorFlow поддерживает MKL-DNN и DNN Primitives, но последние относятся к Math Kernel Library с закрытым исходным кодом. Основным фактором здесь является оптимизация под набор инструкций AVX-512 и максимально быстрая подача данных на все процессорные ядра, чтобы они могли раскрыть свой потенциал производительности без задержек, с заполненным конвейером.

В прошлом году Intel уже публиковала сведения о производительности, сравнивая двухпроцессорную систему Broadwell c 22 ядрами (на каждом CPU) и 68-ядерный ускоритель Xeon Phi. Теперь в случае системы Skylake SP с двумя процессорами Xeon Scalable по 28 ядер каждый, прирост производительности составляет до 70 раз для тренировки и до 85 раз для обращений в сеть.

Для разработчиков Intel видит следующую картину: если используются один или больше процессоров Xeon Scalable, то достаточно запустить TensorFlow с настройками, оптимизированными под MKL, после чего оптимизации будут работать. Для Intel очень важно позиционировать свои процессоры в правильном свете, поскольку на рынке появляется все больше специализированного аппаратного обеспечения для глубокого и машинного обучения.