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

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

Одно из решений этих проблем — использовать OpenVINO ™ (Open Visual Inference & Neural Network Optimization), набор инструментов, разработанный Intel для ускорения разработки приложений, включающих, среди прочего, высокопроизводительное компьютерное зрение и логический вывод с глубоким обучением. OpenVINO берет обученную модель и оптимизирует ее для работы на разнообразном оборудовании Intel, включая процессоры, графические процессоры и т. Д. Процессор Intel® Movidius ™ Vision (VPU), FPGA или Intel® Gaussian & Neural Accelerator (Intel® GNA).

Это означает, что он действует как уровень абстракции между кодом приложения и оборудованием. «Он также может точно настроить модель для платформы, которую хочет использовать заказчик», — утверждает Зои Кайетано, менеджер по продукции Intel в области искусственного интеллекта и глубокого обучения. «Это действительно полезно, когда вы запускаете приложение AI в производство. «Существует множество различных нишевых проблем при логических выводах, которые мы решили с помощью OpenVINO, которые отличаются от тех, когда модели и приложения находятся на этапе обучения», — говорит она.

Например, Intel обнаружила, что часто наблюдается резкое снижение точности и производительности, когда модели, которые были обучены в облаке или в центре обработки данных, развертываются в производственной среде, особенно в пограничном сценарии. Это связано с тем, что обученные модели вовлекаются в развертывание без учета системы, в которой они работают. Кроме того, модель могла быть обучена в идеальных условиях, которые отличаются от реальной среды развертывания. В качестве примера Cayetano приводит сценарий обнаружения дефектов, в котором во время обучения можно было предположить, что камера находится рядом с производственной линией. Камеру можно расположить дальше, поэтому изображения, возможно, придется отрегулировать — что OpenVINO может сделать.

Читайте также:
Cortana в Windows 10 – помощница или... шпион?

По словам Каэтано, совместимость — это еще одна проблема: «Мы наблюдали эту тенденцию, когда многие предприятия внедряют ИИ и хотят внедрить ИИ в производство. Но был пробел в эффективности разработчиков, когда разработчикам приходилось использовать множество различных инструментов и гарантировать, что они совместимы и могут работать друг с другом одинаково », — говорит она. «Поэтому им нужен был набор инструментов, в котором было бы все, что вы хотите, от библиотеки компьютерного зрения, которая позволяет вам изменять размер этого изображения или которая позволяет вам квантовать вашу модель в другой тип данных, например INT8 для лучшей производительности ».

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

«Итак, сдвиг, который мы сделали в прошлом году, заключался в том, чтобы сделать OpenVINO более доступным и чтобы разработчики могли сосредоточиться исключительно на проблеме, которую они пытаются решить, и не быть обремененными необходимостью выбирать разные наборы инструментов для разных рабочих нагрузок», — сказал Кайетано говорит.

Подключаемая архитектура

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

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

Читайте также:
Проект Pre-alpha FreeBSD преследует простоту и элегантность, взяв реплики из macOS °

OpenVINO поддерживает обученные модели из широкого спектра распространенных программных фреймворков, таких как TensorFlow, MXNet и Caffe. В процессе оптимизации в модели удаляются слои, которые требовались только во время обучения, а также можно распознать, когда группа слоев может быть объединена в один слой, что сокращает время вывода.

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

Подключаемый модуль FPGA позволяет настраивать таргетинг на выполнение Устройства Intel® Arria®, например, в то время как другой поддерживает процессоры, такие как семейства Intel® Core ™ или Xeon®. Подключаемый модуль OpenCL поддерживает выполнение Intel® Processor Graphics (GPU). API-интерфейс Movidius ™ поддерживает VPU, а в некоторые процессоры Intel встроен API-интерфейс для маломощного сопроцессора GNA, который позволяет выполнять непрерывные рабочие нагрузки логического вывода, такие как распознавание речи, выгружать с самого ЦП.

«Итак, что делает OpenVINO, это фактически отвлекает разработчика от необходимости кодировать для каждого типа кремниевого процессора. У нас есть подход с однократной записью и развертыванием в любом месте, при котором вы можете взять один и тот же код, а затем развернуть это приложение в ядре или процессоре Xeon без необходимости переписывать код. Так что здесь можно добиться большой эффективности », — говорит Каэтано.

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

OpenVINO даже позволяет одновременный вывод одной и той же сети на нескольких аппаратных устройствах Intel или автоматическое разделение обработки вывода между несколькими устройствами Intel (если, например, одно устройство не поддерживает определенные операции).

Реальная масштабируемость

Эта гибкость означает, что OpenVINO теперь развернут многими клиентами Intel, включая Philips и GE Healthcare, которые используют этот инструментарий для целей медицинской визуализации.

Читайте также:
Новая возможность для пользователей iPhone

«Возможность анализировать рентгеновские снимки или компьютерную томографию и, например, иметь возможность более точно обнаруживать опухоли, является одним из вариантов использования. Нейронная сеть здесь по сути похожа на пример обнаружения дефекта, она определяет, есть ли опухоль на рентгеновских изображениях / наборах данных, и использует OpenVINO для этого », — говорит Кайетано.

В GE Healthcare компания использовала возможности OpenVINO для масштабирования своего приложения для нескольких различных конечных клиентов, от частных клиник до государственных больниц.

«Одному заказчику потребовался процессор Xeon, потому что он оптимизировал точность и производительность, тогда как другой заказчик оптимизировал стоимость и размер, потому что это была меньшая площадка для развертывания», — объясняет Кайетано. «Таким образом, GE Healthcare смогла не только воспользоваться преимуществами оптимизации, которую может выполнять OpenVINO, но и масштабируемостью, позволяющей писать один раз и развертывать где угодно».

Это показывает, что OpenVINO предоставляет организациям возможность взять обученную модель нейронной сети и построить на ее основе практическое приложение, которое в противном случае потребовало бы гораздо больше усилий для создания и, возможно, не дало бы удовлетворительных результатов. «Теперь вы можете получать более быстрые и точные результаты в реальном мире, когда вы действительно входите в развертывание, потому что у нас есть оптимизация, встроенная в OpenVINO, которая позволяет вам делать действительно классные математические вещи, которые использовали только специалисты по данным, например, слияние слоев например, для вашей нейронной сети », — говорит Каэтано.

«Мы внедрили в OpenVINO множество этих передовых усовершенствований для массового использования, а не только для первоклассных специалистов по данным. И тогда все это совместимо в одном наборе инструментов. Итак, теперь вы можете использовать одни и те же библиотеки компьютерного зрения с нашими методами оптимизации моделей и квантования, всеми этими другими инструментами, которые действительно оптимизируют ваш опыт разработки ».

При поддержке Intel®