Введение
Различные приложения промышленного интернета вещей (IIoT – Industrial Internet of Things) генерируют больше данных, чем когда-либо прежде. При этом с каждым годом объём этих данных становится всё больше и больше. Во многих промышленных сценариях использования устройств с Интернетом вещей, особенно в удалённых районах и на предприятиях с сильно распределённой системой, регулярная отправка необработанных данных в ЦОД (центр обработки данных) или на центральный сервер может оказаться невозможной.

Предпосылки внедрения AI-технологий в IIoT
Для начала стоит дать определение понятия «искусственный интеллект». ИИ – это обширная область науки, изучающая создание интеллектуальных программ и машин для решения задач, которые традиционно выполняются с помощью человеческого интеллекта. Понятие ИИ включает в себя машинное обучение, которое позволяет системам автоматически учиться и совершенствоваться на основе получаемого ими опыта, не будучи запрограммированными на это, с помощью различных алгоритмов и нейронных сетей. В понятие машинного зрения, в свою очередь, включают родственный термин – «глубокое обучение» (Deep Learning). Глубокое обучение подразумевает под собой нейронные сети, которые обучаются на огромных объёмах данных. Так как ИИ – это крайне широкая дисциплина, мы в нашей статье сосредоточимся именно на применении вышеописанных технологий в промышленности.
Данные IIoT намного превышают возможности человека обрабатывать их в одиночку, а это означает, что бо́льшая часть информации остаётся непроанализированной и неиспользованной. Поэтому программное обеспечение
AI и ML становится незаменимым помощником для промышленных предприятий при анализе подобной информации. Оно позволяет получить более целостное представление о происходящем в производственных процессах и принимать более взвешенные решения.
Например, если говорить о видеонаблюдении и машинном зрении, то не более 10% огромного количества данных, генерируемых каждый день, анализируется. Это значение указывает на то, что ценнейшая информация, которую можно было бы получить из этих данных, теряется. Эта неспособность людей анализировать все производимые данные и является основной причиной того, что компании ищут способы применения ИИ и машинного обучения в приложениях промышленного IoT.
В том случае, если компания полагается только на человеческие ресурсы для ручной проверки продукции на брак и дефекты, то даже с целой армией сотрудников процент брака был бы высок, так как усталости и человеческому фактору подвержен каждый. Если применять для подобного анализа приложения ИИ, то можно уже практически не ориентироваться на человеческий фактор и значительно повысить эффективность производства, при этом снижая и различные риски, связанные с людьми.
AI для граничных вычислений в промышленности
Распространение различных систем промышленного Интернета вещей генерирует огромные объёмы данных даже в том случае, если в системе используются только датчики, которые генерируют довольно «лёгкую» информацию. К примеру, датчики и устройства на нефтеперерабатывающем заводе генерируют более 1 ТБ необработанных, так называемых «сырых» данных в день. Отправка всех этих данных для хранения и обработки в облако или ЦОД потребует существенных ресурсов в виде полосы пропускания интернет-канала, трафика и т.д. При этом зачастую большие затраты могут появиться и за счёт использования дополнительной энергии для подобной отправки.В случае сильно распределённой системы, которая при этом ещё и сильно удалена от основного ЦОДа или облака, подобная постоянная отправка такого объёма данных нерентабельна.
Даже если компания обладает всей необходимой инфраструктурой, то всё равно будут дополнительные существенные задержки при передаче и обработке информации. Критически важные промышленные приложения должны иметь возможность анализировать необработанные данные как можно быстрее. Любая же неисправность на линии связи может привести к критическим последствиям вплоть до остановки производства.
Для того чтобы сократить расходы на передачу и хранение данных, уменьшить задержку, а также снизить нагрузку на сеть, приложения IIoT перемещают возможности AI и ML на «границу» сети, чтобы обеспечить более мощные возможности предварительной обработки «сырых» данных непосредственно в полевых условиях. Такое перемещение позволяет в том числе и принимать решения с помощью обученных моделей AI сразу на производстве с отправкой только информации о таком решении в ЦОД или основной сервер.
Ожидается, что к 2025 году объём данных, создаваемых и обрабатываемых на периферии предприятий, увеличится с 10% до 75%, а весь рынок промышленных устройств для ИИ значительно вырастет [4].
Для эффективного запуска моделей и алгоритмов искусственного интеллекта промышленным приложениям AIoT требуется надёжная аппаратная платформа на периферии.
Чтобы выбрать подходящую аппаратную платформу для приложения AIoT, необходимо учитывать ряд факторов:
- требования ИИ к производительности аппаратной части;
- уровень граничных вычислений;
- поддерживаемые инструменты разработки;
- условия эксплуатации устройства.
Требования ИИ к производительности аппаратной части
Существует три фазы создания приложений AIoT: сбор данных, обучение и вывод (обработка данных с последующими логическими выводами).Поскольку для этих трёх этапов создания приложений для периферийных вычислений ИИ используются разные алгоритмы для выполнения разных задач, то каждый этап имеет свой собственный набор требований к производительности аппаратной части.
Сбор данных
Цель этого этапа – собрать большой объём информации для обучения модели ИИ. Сами по себе необработанные «сырые» данные бесполезны, поскольку информация может содержать дублирование, ошибки и резко отличающиеся значения. Предварительная обработка собранных данных на начальном этапе для выявления закономерностей, выбросов и недостающей информации также позволяет пользователям исправлять ошибки и смещения. В зависимости от сложности собираемых данных вычислительные платформы, используемые для сбора данных, обычно основаны на процессорах ARM Cortex или Intel Atom/Core. Как правило, для выполнения задач сбора данных более важно наличие достаточного набора портов ввода/вывода (I/O) и ЦПУ, а не графический процессор (GPU).Обучение
Модели искусственного интеллекта необходимо обучать на самых современных нейронных сетях и ресурсоёмких алгоритмах машинного или глубокого обучения, которые требуют более высоких вычислительных мощностей, в том числе и мощных графических процессоров для поддержки параллельных вычислений. Подобные вычисления используются для анализа больших объёмов собранных и предварительно обработанных данных. Обучение модели ИИ включает выбор модели машинного обучения и обучение её на собранных и предварительно обработанных данных. Во время этого процесса необходимо оценить и настроить параметры для обеспечения точности обучения. На выбор специалистам доступны многие обучающие модели и инструменты, в том числе стандартные среды проектирования DL, такие как PyTorch, TensorFlow, Keras, MXNet, Microsoft Cognitive Toolkit и Caffe. Обучение обычно проводится на специально отведённых машинах для обучения искусственного интеллекта или в службах облачных вычислений. Такие машины редко находятся на местах, а могут и вообще находиться в удалённом облаке.Вывод

Уровни граничных вычислений
Хотя обучение модели ИИ по-прежнему выполняется в облаке или на локальных серверах, сбор данных и логический вывод обязательно происходят на границе сети. Более того, поскольку этап вывода – это то место, где обучен-ная модель ИИ выполняет бо́льшую часть работы (например, принимает решения или выполняет действия на основе недавно собранных данных), необходимо выбрать подходящую аппаратную платформу с соответствующей производительностью.Нижний уровень периферийных вычислений
При низкоуровневых вычислениях в облако отправляется только небольшой объём полезных данных, что сокращает время задержки, пропускную способность, потребление трафика, энергопотребление и затраты на оборудование. Платформа на базе ARM-процессора без дополнительных графических ускорителей может использоваться на устройствах IIoT для сбора и анализа данных, чтобы принимать быстрые решения. Отличным примером аппаратной части для таких вычислений может являться компактная встраиваемая система для IoT AAEON SRG-3352 (рис. 5).

Средний уровень периферийных вычислений



Уровень высокопроизводительных вычислений


Поддерживаемые инструменты разработки

Фреймворки глубокого обучения
Такой фреймворк представляет из себя готовую инфраструктуру для глубокого обучения со всеми необходимыми инструментами. Если говорить проще, то это, по сути своей, готовые библиотеки. Такие фреймворки позволяют пользователям быстрее и легче создавать модели глубокого обучения, не сильно вдаваясь в основополагающие алгоритмы. Фреймворки глубокого обучения обеспечивают ясный и лаконичный способ определения моделей с использованием набора предварительно созданных и оптимизированных компонентов. Рассмотрим более подробно несколько подобных фреймворков.TensorFlow – это на текущий момент один из популярнейших инструментов для обучения нейросетей. Наиболее удобным клиентским языком работы с TensorFlow является Python, но доступны и экспериментальные интерфейсы на JavaScript, C++, Java и Go [5]. TensorFlow обеспечивает быстрое создание прототипов, исследование и подготовку с помощью удобных API-интерфейсов на основе Keras, которые используются для обучения нейронных сетей. Даже такие гиганты, как Deep-Mind, Uber, AirBnB или Dropbox, выбрали этот фреймворк для своих нужд.
PyTorch представляет собой библиотеку машинного обучения с открытым исходным кодом, основанную на библиотеке Torch. Он оперирует динамически обновляемым графом, то есть позволяет вносить изменения в архитектуру в процессе работы. Фреймворк PyTorch был разработан для сервисов Facebook, но уже используется для собственных задач такими компаниями, как Twitter и Salesforce. В основном PyTorch используется для приложений машинного зрения и обработки речи [6].
Наборы инструментов для ускорения ИИ доступны от поставщиков оборудования и специально разработаны для ускорения приложений ИИ, таких как машинное обучение и компьютерное зрение, на их аппаратных платформах.
Intel OpenVINO
Набор инструментов Open Visual Inference and Neural Network Optimi-zation (OpenVINO) от Intel разработан, чтобы помочь разработчикам создавать надёжные приложения компьютерного зрения на платформах Intel. OpenVINO также обеспечивает более быстрый вывод для моделей глубокого обучения [7].NVIDIA CUDA
CUDA Toolkit обеспечивает высокопроизводительные параллельные вычисления для приложений с ускорением на GPU во встроенных системах, центрах обработки данных, облачных платформах и суперкомпьютерах, построенных на CUDA (Compute Unified Device Architecture) от NVIDIA [8].Условия эксплуатации устройства
Безусловно, одним из важнейших критериев выбора устройства для граничных вычислений с ИИ являются условия эксплуатации этого самого устройства. Компьютеры, развёртываемые в суровых промышленных условиях, должны иметь широкий диапазон рабочих температур и эффективные механизмы рассеивания тепла для обеспечения надёжности в жаркую погоду. Для некоторых промышленных отраслей также требуются и соответствующие сертификаты или разрешения. Это может быть как взрывобезопасность, так и защита от ударов и вибраций при использовании оборудования в цеху или даже на транспорте. Зачастую при выборе устройств приходится иметь дело и с ограниченным пространством для монтажа, так как система может быть развёрнута в шкафу со всеми вытекающими ограничениями. Тут будут более востребованы компактные решения.
Выводы и заключение
Использование возможностей искусственного интеллекта и машинного обучения в граничных вычислениях позволяет компаниям повысить операционную эффективность и снизить риски для их промышленных приложений. При этом также можно говорить и о снижении затрат на производстве при грамотном использовании ИИ с правильно обученными моделями. При этом выбор правильного программного решения так же важен, как и выбор подходящей аппаратной части. При таком выборе необходимо правильно сопоставить задачу устройства и его производительность. Она должна быть достаточной, чтобы обеспечивать полноценную работу устройства, но не быть избыточной, чтобы избежать лишних затрат на оборудование. ●Литература
- Кабачник Д. Граничные вычисления в промышленности // Современная электроника. 2021. № 4.
- Edge computing. Обеспечение конкурентного роста в цифровой экономике, Джейсон Манн, вице-президент подразделения SAS IoT.
- What’s Your Data Strategy? The key is to balance offense and defense // Harvard Business Review (May – June 2017).
- AIoT – How IoT Leaders are Breaking Away, SAS GLOBAL STUDY [Электронный ресурс] // URL: https://www.sas.com/content/dam/SAS/documents/marketing-whitepapers-ebooks/third-party-whitepapers/en/aiot-how-iot-leaders-are-breaking-away-110944.pdf.
- Ресурсы TensorFlow – Модели и наборы данных. [Электронный ресурс] // URL: https://www.tensorflow.org/resources/models-datasets.
- Официальный сайт PyTorch Framework. [Электронный ресурс] // URL: https://pytorch.org/features/.
- How It Works – OpenVINO – официальный сайт Intel. [Электронный ресурс] // URL: https://software.intel.com/content/www/us/en/develop/tools/openvino-toolkit/usage.html.
- Официальный сайт NVIDIA. [Электронный ресурс] // URL: https://developer.nvidia.com/cuda-toolkit.
Телефон: (495) 234-0636
E-mail: info@prosoft.ru
Если вам понравился материал, кликните значок - вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал - не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!