Обзор вычислительного модуля Intel Neural Compute Stick 2


Обзор вычислительного модуля Intel Neural Compute Stick 2

Развитие нейронных сетей происходит быстрее чуть ли не с каждым месяцем. До аналогии головного мозга человека ещё далеко (тем более, с учётом всех биологических особенностей оного), но текущие сети уже вполне хорошо справляются с определёнными задачами без особых проблем. Как именно работает нейронная сеть — это отдельный глобальный материал, а в этом мы изучим компактный ускоритель таких задач от Intel — Neural Compute Stick 2.

Поставляется Intel Neural Compute Stick 2 в компактной коробке с фирменным дизайном Intel. Устройство предназначено для многих задач, а в число достоинств входят:
— создание и масштабирование с исключительной производительностью на ватт на доллар;
— быстрая подготовка к разработке в среде Windows 10, Ubuntu или macOS;
— разработка с использованием типовых инфраструктур и готовых приложений;
— возможности работы без зависимости от облачной среды;
— создание прототипов с использованием недорогих конечных устройств, таких как Raspberry Pi 3 или других конечных систем ARM.

Что касается самых значимых отличий от предыдущего поколения, то лишь часть списка выглядит следующим образом:
— наличие Deep Learning Workbench;
— поддержка обработки данных из нескольких устройств для балансировки нагрузки;
— наличие методов распространения двоичных модулей с помощью диспетчеров пакетов и контейнеров Docker;
— наличие новых прикладных программных интерфейсов приложений обработки данных;
— поддержка последовательного промежуточного представления FP16;
— наличие примеров использования машинного перевода, обработки естественных языков и многое другое.

Ключевые технические характеристики представлены на официальном слайде.

Комплекта, по сути, нет. Есть небольшая листовка с информацией о том, что и откуда брать. В плане сетевых ресурсов.

Сам по себе NCS 2 представляет собой компактное устройство, по габаритам в 2-3 раза больше привычных флешек в больших корпусах. Корпус полностью металлический и обладает некими прорезями для улучшения рассеивания тепла.

Подключается NCS 2 к самому обыкновенному USB 3.0 порту.

Интересным является тот факт, что вы можете использовать в одной системе целый набор таких вычислительных модулей для ускорения вашей нейронной сети.

В устройстве используется 16 мощных вычислительных ядер (другое название — SHAVE) и специализированный аппаратный ускоритель нейронной сети для поддержки высокопроизводительных приложений обработки данных компьютерного зрения и искусственного интеллекта наряду с очень небольшим потреблением энергии (8-кратный прирост производительности в сравнении с предыдущим поколением в задачах классификации объектов). Надо отметить, что специализированное сообщество Intel AI: In Production централизует ресурсы и предложения партнеров, чтобы помочь вам в процессе подготовки ваших решений для искусственного интеллекта на конечных системах.

Сфер применения Neural Compute Stick 2 достаточно много — распознание лиц и подсчёт людей, учёт проезжающих автомобилей, распознавание жестов, контроль зон и так далее.
Из личных примеров — распознавание «скелета» человека — его движений и жестов:

И работало всё это вполне хорошо всего лишь с одним модулем NCS 2, подключённым к мини-ПК Raspberry Pi 3.

Ещё один пример — распознавание объектов в объективе камеры.

Или же можно обучить нейронную сеть узнавать людей. Те, кто есть в базе — сразу же определяются.

А с распознаванием текста вообще никаких проблем.

При чём, подобные задачи не требуют много времени на обучение. К примеру, за 45 минут можно без проблем создать решение для обнаружения автомобилей и оповещения о въезде и выезде из контролируемой зоны при помощи одной камеры и ПК с NCS 2.

Для создания сценариев работы используется набор библиотек OpenVINO (Open Visual Inference & Neural Network Optimization), в состав которых входят:
— библиотеки OpenCV;
— Intel Deep Learning Deployment Toolkit ;
— Intel Math Kernel Library for Deep Neural Networks (Intel MKL-DNN)
— Compute Library for Deep Neural Networks (clDNN)
— OpenVX;
— примеры кода.

Частично некоторые примеры кода доступны в свободном доступе для ознакомления на официальном сайте — https://software.intel.com/ru-ru/openvino-toolkit/documentation/code-samples.


Заключение
Intel Neural Compute Stick 2 — компактное, производительное и недорогое решение для ускорения нейронных сетей, которое уже пользуется огромным спросом среди разработчиков в областях умных домов, систем видеонаблюдения дома или небольших офисов, конструирования роботов и подобных устройств и многих других, где требуется машинное зрение, анализ происходящего и подобные задачи, решаемые нейронными сетями. Отдельными достоинствами является невысокая стоимость, компактные размеры и отсутствие некоторых требований, таких как привязка к облачным платформам. Intel Neural Compute Stick 2 — уникальное в своём роде устройство, способное не только упростить работу в рамках определённых проектов, но и просто развивать свои навыки работы с нейронными сетями без больших денежных вложений.