Intel и Facebook сотрудничают над увеличением производительности в Caffe2 на базе процессоров Intel
24 апреля 2017
Рубрика: Новости Intel. Тэги:
Автор: .

С каждым днём количество генерируемой в мире информации увеличивается – появляется всё больше текстов, фотографий, видео и т.д. В последние годы использование технологий искусственного интеллекта и глубокого обучения помогает людям эффективнее обрабатывать и воспринимать эту информацию – в частности, благодаря передовым технологиям распознавания голоса и речи, технологиям распознавания изображений и видео, а также рекомендательным системам.

Большинство вычислительных нагрузок, связанных с глубоким обучением, включают в себя непосредственно обучение (training) и построение логических выводов (inference). Для обучения обычно требуется многочасовая или даже многодневная работа. Логические выводы, как правило, осуществляются за миллисекунды или секунды и зачастую являются частью более объёмного процесса. Хотя вычислительная нагрузка при построении логических выводов намного меньше, чем при обучении, логические выводы строятся по намного более объёмному набору данных. Поэтому совокупный объём вычислительных ресурсов, необходимых для построения логического вывода, вероятнее всего будет несопоставимо больше, чем ресурсы, необходимые для обучения. Подавляющее большинство рабочих нагрузок, связанных с построением логических выводов, осуществляется на процессорах Intel® Xeon®.

За минувший год корпорация Intel оперативно расширила поддержку своих процессоров в нескольких фреймворках глубокого обучения и оптимизировала их для работы с различными прикладными вариантами обучения и построения логических выводов. В центре этих оптимизаций лежит использование библиотеки математических функций Intel® Math Kernel Library (Intel® MKL), которая реализует инструкции Intel® Advanced Vector Extension CPU (например, Intel® AVX-512), обеспечивающие расширенную поддержку приложений глубокого обучения.

Caffe2 представляет собой открытый фреймворк глубокого обучения, который был создан Facebook, и при разработке которого ставилась цель добиться гибкости формулировок (expression), скорости (speed) и модульности (modularity). Caffe2 используется в Facebook, чтобы помочь ученым настраивать большие модели машинного обучения и предлагать технологии искусственного интеллекта на мобильных устройствах. В настоящее время разработчики имеют доступ ко множеству подобных инструментов, что позволяет им запускать масштабные сценарии распределённого обучения и создавать приложения с технологиями машинного обучения на мобильных платформах.

Сегодня Intel и Facebook сотрудничают над интеграцией функций Intel® MKL в Caffe2 для обеспечения максимальной производительности процессоров при построения логических выводов. В Таблице 1 представлены показатели производительности на топологии AlexNet при использовании библиотеки Intel® MKL в сравнении с библиотекой Eigen BLAS. В этой таблице параметр OMP_NUM_THREADS обозначает количество физических ядер, используемых при выполнении этой нагрузки (в заголовке таблицы). Результаты свидетельствуют о том, что фреймворк Caffe2 высоко оптимизирован для работы с процессорами и обеспечивает высокую производительность. При небольших рабочих нагрузках по построению логических выводов рекомендуется запускать каждую рабочую нагрузку в отдельном ядре процессора и выполнять множество рабочих нагрузок параллельно, по одной рабочей нагрузке на ядро.

  OMP_NUM_THREADS=44 OMP_NUM_THREADS=1
Размер батча Intel® MKL

(изображений в секунду)

Eigen BLAS

(изображений в секунду)

Intel® MKL

(изображений в секунду)

Eigen BLAS

(изображений в секунду)

1 173,4 5,2 28,6 5,1
32 1500,2 29,3 64,6 15,4
64 1596,3 35,3 66,0 15,5
256 1735,2 44,9 67,3 16,2

Таблица 1: Результаты производительности фреймворка Caffe2 на топологии AlexNet при использовании библиотек Intel® MKL и Eigen BLAS. Тестирование осуществлялось на компьютерах с процессорами Intel® Xeon®  E5-2699 v4 (с кодовым названием Broadwell) @ 2,20ГГц  с двумя сокетами, 22 физическими ядрами на сокет (в общей сложности использовалось 44 физических ядра в обоих сокетах), 122 ГБ RAM DDR4, 2133 МГц, отключенной опцией HT, под управлением Linux 3.10.0-514.2.2.el7.x86_64 CentOS 7.3.1611, Intel® MKL версии 20170209, Eigen BLAS версии 3.3.2, при использовании Caffe2 от 17 апреля 2017 года.

С инструкциями по установке и использованию фреймворка Caffe2 можно ознакомиться по следующей ссылке: http://Caffe2.ai.

В этом году для общего рынка станет доступным новое поколение процессоров Intel® Xeon® (под кодовым названием Skylake). В процессорах Skylake будут представлены 512-битные инструкции умножения-сложения с однократным округлением Fused Multiply Add (FMA) в рамках 512-битного семейства векторных инструкций Intel® AVX-512, что обеспечивает значительный прирост производительности по сравнению с прежними 256-битными инструкциями AVX2, реализованными в процессорах Haswell/Broadwell как в задачах по обучению, так и в задачах по построению логических выводов. Использование 512-битных инструкций FMA позволяет фактически удвоить количество операций с плавающей точкой, которое выполняет процессор Skylake за одну секунду, и значительно увеличить скорость матричной арифметики одинарной точности, используемой в свёрточных (convolutional) и рекуррентных нейронных сетях. Рабочие нагрузки по построению логических выводов являются массивно-параллельными и обеспечивают значительное преимущество при использовании большего числа ядер, которые реализованы в Skylake. Кроме того, процессоры Skylake имеют заново спроектированную подсистему памяти, которая поддерживает более скоростную системную память и увеличенный объём кэша среднего уровня (Mid-Level-Cache, MLC) на ядро, что тоже способствует повышению производительности по сравнению с нынешним поколением процессоров, а также обеспечивает значительное улучшение показателей по сравнению с большинством используемых сегодня систем, средний возраст которых составляет порядка четырёх лет.

Об авторах
Андрес Родригез (Andres Rodriguez, PhD) является главным инженером в Intel AI Products Group (AIPG), где он занимается проектированием решений на базе технологий глубокого обучения для заказчиков Intel и возглавляет техническую разработку продуктов на базе глубокого обучения в Intel. Андрес на протяжении 13 лет занимается проблемами искусственного интеллекта. Он получил степень доктора наук от Университета Карнеги-Меллон (Carnegie Mellon University) за свои исследования в области машинного обучения. Андрес опубликовал более 20 работ в журналах и выступает на конференциях и написал главу по машинному обучению.

Нив Сундарам (Niv Sundaram, PhD) является директором по разработкам в Intel Datacenter Engineering Group (DEG), где она отвечает за обеспечение производительности и оптимизацию текущих и новых рабочих нагрузок.  В этой должности она возглавляет команду, которая работает с заказчиками Intel над определением рабочих нагрузок с использованием глубокого обучения/машинного обучения и дополненной/виртуальной/смешанной реальности в центрах обработки данных. Нив получила научную степень в области проектирования электрических устройств от Университета Висконсин-Мэдисон (University of Wisconsin-Madison) и имеет один выданный патент и несколько публикаций, получивших экспертную оценку.

Источник: пресс-релиз компании

Orphus system
Подписывайтесь на канал infoCOM.UZ в Telegram, чтобы первыми узнавать об ИКТ новостях Узбекистана
В Telegram
В Одноклассники
ВКонтакте