company_banner

Как мы сделали акселератор инференса нейронных сетей для ЦОД с 64 чипами Intel Movidius

    Некоторое время назад мы искали оптимальное аппаратное и программное обеспечение для исполнения нейронных сетей в ЦОД и "на краю" (edge computing). В рамках нашего исследования мы протестировали множество устройств, от процессоров до встроенной графики iGPU и GPGPU различных производителей. С результатами исследования можно ознакомиться по ссылке.

    В рамках этого исследования нас заинтересовал VPU Intel Movidius (MyriadX). При вычислениях "на краю" и использовании фреймворка Intel OpenVINO он позволял нам увеличивать число потоков или каналов путем дооснащения существующих устройств без какой-либо модификации аппаратной и программной базы. По умолчанию мы использовали встроенную графику, например, Intel HD или Iris Plus 655, но если FPS и число потоков необходимо было увеличивать, то промышленные ПК можно было дооснастить VPU. Это давало возможность сохранить единообразие множества устройств при изменяемом числе потоков. В качестве примера можно привести транспортную отрасль и подсчет пассажиров на борту автобусов. Автобусы бывают с 2, 3 и 4 дверьми. И если для двух дверей достаточно встроенной графики, то для четырех необходимо увеличение FPS, что достигалось расширением готового решения при помощи VPU формата M.2.

    Вот так выглядело наше устройство для исполнения нейронных сетей "на краю" с Intel Movidius:

    ComBox Outdoor Box Squared
    ComBox Outdoor Box Squared

    Сегодня для инференса "на краю" интерес представляют решения от компании AAEON, в частности VPC-3350S, VPC-3350AI:

    AAEON VPC-3350S
    AAEON VPC-3350S

    Они отличаются расширенным температурным диапазоном эксплуатации -20+70 градусов, наличием возможности расширения двумя VPU Movidius, широкой линейкой поддерживаемых процессоров от Intel Atom x5 E3940 до Pentium N4200 или Atom x7 E3950, а также наличием 4 PoE Ethernet портов для подключения камер или иного оборудования.

    С использованием Movidius в IoT все было более или менее понятно, но нас заинтересовала хотя бы теоретическая возможность масштабирования и применения этих компактных энергоэффективных чипов в ЦОД в виде ускорителей инференса PCIe формата.

    Суммарный объем рынка публичных и частных облаков в России по данным IDC с 2019 года растет минимум на 25% в год, что на 2019 год составляло $1,72 млрд., а на 2020 год увеличилось до $2,2 млрд. Доля публичных облаков в общем объеме рынка в 2019 году – 84,6%. Несмотря на то, что облачный рынок претерпел ряд структурных изменений в 2020 году, рост продолжается с частичным, но постоянным увеличением объемов облачных вычислений в системах искусственного интеллекта прикладного уровня, например, видеоаналитике для обработки ранее сформированных видеоархивов.

    После предварительной оценки рынка мы провели поиск имеющихся решений в формате PCIe. Все найденные на тот момент устройства содержали 4 или 8 Movidius на одну плату. Например, решения от AAEON:

    AAEON AI CORE XP4/ XP8
    AAEON AI CORE XP4/ XP8

    Общее назначение имеющихся устройств - инференса "на краю". И вот здесь родилась идея реализации собственного ускорителя инференса нейронных сетей для ЦОД с чипами Movidius высокой плотности.

    Сейчас в этой сфере используются два основных устройства: GPGPU nVidia Tesla T4 и ускорители инференса Huawei Atlas 300. Альтернатив по производительности от компании Intel для дооснащения существующих систем или внедрения новых серверных решений нет. Возможное решение, сопоставимое по производительности и стоимости - это ускоритель на основе VPU Movidius (MyriadX) высокой плотности в форм-факторе PCIe с плотностью не менее 64 Movidius на каждой несущей плате.

    Требования:

    • плотность чипов Movidius не менее 64 штук на каждую плату

    • наличие возможности изменения числа VPU на плате

    • минимально возможное энергопотребление

    • форм-фактор PCIe x4/x8

    • работа конечного устройства под управлением фреймворка Intel OpenVINO без каких-либо значимых доработок

    • исполнение под использование в серверных платформах

    Концепт не заставил себя долго ждать:

    ComBox x64 Movidius Blade Board
    ComBox x64 Movidius Blade Board
    ComBox x64 Movidius Blade Board
    ComBox x64 Movidius Blade Board

    Результатом проектирования платы получилось устройство PCIe с размещенными на несущей плате кастомными разъемами для подключения дочерних плат с нанесенными на них VPU. Таким образом конечную плату можно использовать с числом VPU до 64 штук, кратно 8. На каждый разъем отведена 1 линия PCIe, а в рамках каждой дочерней платы устройства подключены через USB хаб.

    Охлаждение - пассивные радиаторы вдоль каждой дочерней платы, которые продуваются мощными вентиляторами серверных платформ.

    Первые образцы прототипа:

    ComBox x64 Movidius Blade Board
    ComBox x64 Movidius Blade Board

    Дочерние платы (по 8 Movidius на каждой):

    x8 Movidius blades for ComBox x64 Movidius board
    x8 Movidius blades for ComBox x64 Movidius board

    Для тестирования и отладки мы использовали платформу Supermicro SYS-1029TRT и рекомендуем ее по следующим причинам:

    • хорошее соотношения цена/качество

    • форм-фактора 1U (занимает 1 место в стойке)

    • наличие 4 портов PCIe x8/x16

    Про 1U отдельно отмечу, что при высоком энергопотреблении платформы и установленных ускорителей это не важно из-за наличия лимитов энергопотребления на шкаф, в целом. Но так как мы говорим о чипах, изначально предназначенных для использования в IoT, вся плата отличается низким энергопотреблением, что позволяет повышать плотность количества серверов в стойках.

    Supermicro SYS-1029TRT с установленной платой ComBox x64 Movidius Blade Board
    Supermicro SYS-1029TRT с установленной платой ComBox x64 Movidius Blade Board

    На картинке выше у нас установлено 4 дочерних платы с 32 Movidius, что отображается на обратной стороне ускорителя 4 зелеными диодами.

    Вид готового изделия:

    ComBox x64 Movidius Blade Board
    ComBox x64 Movidius Blade Board

    И первые промышленные образцы платы:

    Каких итогов мы добились:

    1. Максимальная плотность VPU Movidius на одной плате в мире.

    2. Показатель в инференсе сверточных нейронных сетей (на примере Mobilenet v.2 SSD) - 2800 FPS.

    3. Энергопотребление платы не более 120 Вт при полной загрузке.

    4. Возможность использовать произвольное число дочерних плат и устанавливать по 8, 16, 24 и т.д. VPU в рамках одной несущей платы.

    5. Возможность запуска инференса под управлением фреймворка Intel OpenVINO с использованием MDL и HDDL плагинов.

    Следующие планируемые шаги:

    1. Выпуск несущих плат с интегрируемым аппаратным ключом Senselock для защиты моделей нейронных сетей в процессе их исполнения.

    2. Предоставление облачных мощностей для инференса в аренду на базе ComBox x64 Movidius Blade board.

    Intel
    Компания

    Комментарии 10

      +1

      А почему не U2? PCI-E есть, индустриальная поддержка есть, куча слотов в существующих серверах есть.

        0

        Можно и другие форм-факторы платформ использовать. Нам понравилась платформа 1U Supermicro SYS-1029TRT с 4-мя PCIe слотами х8/х16. Она даёт высокую производительность и плотность вычислителей и ускорителей в рамках одного места в стойке. При низком энергопотреблении это существенное преимущество. Одной платформы часто хватает для обработки данных с множества СХД рядом.

        +1
        Сколько TFLOPS на плату?
          0

          Максимальная теоретическая производительность Movidius Myriad X составляет 4 TFLOPS. На каждой плате - 64 VPU, 64 * 4 = 256 TFLOPS. Не уверен, что на эти показатели есть смысл опираться. Лучше смотреть производительность конкретной топологии нейронных сетей на бенчмарках.

            0
            Сколько памяти на чип? Какая пропускная способность памяти? Какова скорость обмена с системной памятью?
              0

              Памяти на чип - 4 Gb, LP-DDR4 SDRAM, частота 1600 MHz.

          +1
          (на примере Mobilenet v.2 SSD) — 2800 FPS

          Если не сложно, приведите циферки для чего-то покрупнее. Всё таки претендуете на серверное применение.
          Хотя бы тот же многострадальный ResNet50, который на каждом утюге протестирован и удобен для сравнения с конкурентами. :)
            0

            В начале статьи есть ссылка на результаты сравнения различных устройств. Там сравнивали Darknet19 (TinyYOLO), UNET. Разрез - устройства, фреймворки, тип данных, сравнение по производительности на доллар стоимости. ResNet масштабируется практически без потерь на множестве VPU (до 10%).

            0

            Где/когда можно купить/запросить железку или инженерный образец на академическую организацию?

              0

              Обращайтесь info@combox.io или по любым контактам на сайте.

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

            Самое читаемое