> > > > Искусственный интеллект в формате флэшки: Intel NCS 2 в восемь раз быстрее первого поколения

Искусственный интеллект в формате флэшки: Intel NCS 2 в восемь раз быстрее первого поколения

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

intel-ncs2Для того, чтобы работать с ИИ, не всегда требуется покупать мощное оборудование. Однако и времена, когда вычисления производились на процессоре обычного ПК, прошли, и Intel в свое время представила Neural Compute Stick (NCS) - доступное устройство начального уровня в форме карты USB.

Первое поколение NCS опирается на Vision Processing Unit (VPU) производства Movidius. В данном случае это был чип Myriad 2, обеспечивающий производительность до 100 GFLOPS при потреблении всего 1 Вт энергии. Теперь компания выпустила Neural Compute Stick 2 (NCS 2) на базе Movidius Myriad X.

Этот чип производится по 16-нм техпроцессу на мощностях TSMC. Intel не выпускает чип сама, потому что к моменту покупки гигантом компании Movidius процесс разработки уже шел. Второе поколение насчитывает уже не 12, а 16 вычислительных блоков SHAVE (Streaming Hybrid Architecture Vector Engine). Каждый блок располагает кэшем на 2,5 Мбайт вместо 2,0 Мбайт, а пропускная способность увеличилась до 450 Гбайт/с вместо прошлых 400. Блоки рассчитаны на выполнение 128-битных инструкций VLIW (Very Long Instruction Words).

Этими улучшениями Intel планирует добиться увеличения производительности в восемь раз. Но здесь нужно учитывать и то, под какие именно вычисления разработано устройство. Myriad X работает с вычислениями FP16 и INT8. Для последних Intel называет производительность 1 TOPS, но в некоторых случаях она может достигать и 4 TOPS. Производительность FP16 неизвестна, но должна быть около 800 GFLOPS. Сравните: производительность Tesla V100 достигает 120 TFLOPS, что во много раз больше, но и потребляет этот ускоритель 300 Вт. Новая архитектура Turing с ядрами Tensor обеспечивает 225 TOPS для INT8 и 450 TOPS для INT4.

Область применения Intel NCS2, скорее всего, ограничится начальным сегментом, например, для введения в методологию разработчиков. Практического применения в центрах обработки данных новинка, вероятно, не найдет. Окружение OpenVINO должно способствовать более легкому погружению разработчиков в основы соответствующего программного и аппаратного обеспечения.

Устройство Intel NCS2 должно вскоре появиться в продаже и стоить всего 99 долларов.

Примеры использования Intel NCS2

Многим, наверное, будет интересно, как можно использовать подобное оборудование, и кто является его основным потребителем. Поэтому мы пообщались с Кристианом Хашеком (Christian Haschek), который уже использует NCS первого поколения.

Кристиан начал использовать NCS из-за интереса в машинном обучении, связанном с его различными проектами. Будучи геймером, у него уже было практически всё необходимое оборудование, но проекты должны были быть независимыми от ПК, да и энергопотребление целого компьютера было проблемой. Машинное или глубокое обучение состоит по сути из двух этапов. Существует тренировка сетей, для которой необходимо мощное оборудование, а собственно отправка запросов в сеть называется инференсингом. Так, ускорители Tesla предназначены, в основном, для тренировки. Но есть и менее глобальные стадии разработки, которые оптимизированы для инференсинга.

Как раз здесь в игру вступает Intel NCS - устройство не предназначено для тренировки, но справляется с инференсингом. Именно в этом случе производительность 800 GFLOPS при мощности 1 Вт играет особенно важную роль.

Конкретный пример - выявление детской порнографии в базах данных изображений. Хашек разработал собственную базу данных с открытым исходным ходом для хранения изображений онлайн. Однако он вскоре понял, что некоторые пользователи могут использовать её нелегально для хранения изображений с детским порно.

Для определения этих изображений Хашек взял за основу уже тренированную сеть Yahoo, которую можно использовать через программное окружение NCS. Аппаратную основу составили три Raspberry Pi и два NCS первого поколения. Общее энергопотребление всей системы оказалось ниже 10 Вт.

Анализ изображений - самый очевидный пример использования NCS. Другим вариантом может быть определение людей на камерах наблюдения. Одной из проблем в данном случае является то, что зачастую такой анализ проходит не локально, а в облаке. Но в данном случае речь идет об отправке изображений на сервер, что может быть критично. Использование локального оборудования позволит не отправлять нежелательную информацию, а также сохранить веб-траффик.

О других проектах можно прочитать в блоге Кристиана.