TL;DR: узнайте больше о повышении производительности моделей MobileNetV2_SSD за счет обрезки и сокращения времени постобработки.

Чтение время: 3 минуты 15 секунд.

Во многих сценариях обнаружения объектов нельзя терять ни минуты. Доля секунды может означать разницу между тем, когда беспилотный автомобиль сбивает собаку, переходящую дорогу, или едва не промахивается мимо нее. И скорость, и точность имеют решающее значение. Модели MobileNetV2_SSD были созданы для случаев использования обнаружения объектов в реальном времени, где важна точность. Используя программное обеспечение Neural Magic, эти привязанные к памяти модели могут работать намного быстрее и занимать меньше места на ЦП, что упрощает и удешевляет их выполнение в производстве.

В этом сообщении блога будет представлен краткий обзор моделей MobileNetV2_SSD и способов их использования. Мы также обсудим методы оптимизации модели, которые мы применяем к MobileNetV2_SSD для повышения производительности, такие как обрезка и сокращение времени постобработки. Эти оптимизации позволяют модели работать так же быстро, с почти таким же [меньшим] размером хранилища, что и SSDLite, — без ущерба для точности. Если вас интересуют похожие статьи об улучшении производительности машинного обучения, ознакомьтесь с нашими публикациями ResNet и MobileNetV2.

Что такое MobileNetV2_SSD

Модели обнаружения объектов создаются для обнаружения объектов определенного класса (например, автомобилей, людей, животных, зданий и т. д.) на изображениях. SSD (что расшифровывается как детектор одиночного выстрела) предназначен для обнаружения объектов в режиме реального времени. Модель удаляет предложения делегированных регионов и использует изображения с более низким разрешением для работы со скоростью в реальном времени. SSD — это разреженная модель, в которой используются процессы, привязанные к памяти, такие как облегченные свертки по глубине. Модель является частью API обнаружения объектов TensorFlow.

MobileNetV2 — хорошая основа для SSD. Более простые сети, такие как MobileNet, делают извлечение признаков и сверточную фильтрацию для обнаружения изображений более эффективными, так что при заданной точности они будут работать быстрее, чем, например, магистраль Resnet. . Помимо SSD, MobileNetV2 также можно использовать с YOLOv3 (Вы только посмотрите один раз), еще одной популярной моделью обнаружения объектов в реальном времени.

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

Зачем использовать нейронную магию

Как обсуждалось ранее, инструменты машинного обучения Neural Magic можно использовать для оптимизации моделей MobileNetV2_SSD. Несмотря на то, что MobileNetV2_SSD по своей природе является разреженной моделью, ее все же можно сократить. Neural Magic использует самые современные методы оптимизации для разрежения модели, уменьшения требуемого места для хранения и повышения производительности без ущерба для базовой точности. Поддержка квантования включена в нашу дорожную карту 2020 года, что приведет к более эффективным вычислениям и более высоким скоростям.

Neural Magic Inference Engine идеально подходит для запуска моделей с привязкой к памяти, таких как MobileNet, в производственной среде. Запатентованные алгоритмы Inference Engine улучшают производительность модели двумя способами:

  • Более эффективное использование памяти ЦП. Inference Engine оптимизирует выполнение нейронной сети в доступных иерархиях памяти ЦП. Связанные алгоритмы механизма определяют процессы, связанные с памятью в сети, такие как глубокие свертки, и применяют методы оптимизации для повышения производительности этих компонентов.
  • Сокращение времени постобработки. Немаксимальное подавление (NMS) — это метод постобработки, который объединяет все обнаружения, принадлежащие одному и тому же объекту. Inference Engine ускоряет NMS с помощью более интеллектуальных алгоритмов, делая всю работу быстрее, чем любой другой поставщик.

Сравнительный анализ MobileNetV2_SSD с помощью Neural Magic Inference Engine

Как вы можете видеть ниже, Neural Magic превосходит других поставщиков ЦП, даже при использовании меньшего количества ядер ЦП. Это связано с оптимизацией модели и эффективным использованием памяти процессора нашими собственными алгоритмами, как обсуждалось выше.

Точно так же оптимизации и алгоритмы Neural Magic обеспечивают повышение производительности в 2,7 раза при размере пакета 1 при использовании 18-ядерного процессора по сравнению с графическим процессором V100. Цифры еще более поразительны при размере пакета 64: Neural Magic может превзойти GPU V100 в 3,95 раза.

Посмотрим на экономию. Чтобы получить показатели экономии затрат на вывод, мы сравнили стоимость инстансов AWS по запросу для базового развертывания ЦП и прирост производительности, достигнутый с помощью Neural Magic Inference Engine.

Если вам нравится то, что вы видите, и вы хотите копнуть глубже, выполните один из следующих шагов:

Первоначально опубликовано на https://neuralmagic.com 28 сентября 2020 г.