Пространство Интернета вещей (IoT) — это растущая область использования решений машинного обучения (ML). Когда дело доходит до машинного обучения, работа в сфере Интернета вещей сопряжена с некоторыми уникальными проблемами. В этой серии из двух частей мы сначала определим эти проблемы, а во второй части мы рассмотрим данные и инженерные решения ML, которые можно реализовать для их преодоления.

Испытания

Обычно в машинном обучении:

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

Однако в пространстве IoT:

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

Проблемы, которые представляет эта среда, следующие:

  1. Получение данных в облако —для эффективного обучения модели данные должны быть доступны для обучения, а доступ к ним лучше всего осуществляется в облаке, где процессы обучения могут использовать преимущества практически неограниченного объема и исчерпывающего разнообразия. доступных ресурсов. Поэтому любые соответствующие данные, собранные устройствами IoT, должны передаваться в облако. Это означает:

а. Устройство IoT должно каким-то образом иметь доступ к интернет-соединению. Это может быть напрямую или через подключение к другому устройству с подключением к Интернету.

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

2. Маркировка данных. Пространство Интернета вещей отчасти характеризуется огромным объемом данных, которые необходимо собрать и обработать. Само по себе это сложно, но в контексте ML это представляет дополнительную проблему:

а. Данные, вероятно, уникальны для датчиков, на которых они были собраны, и среды, в которой они были собраны. Поэтому маловероятно, что существует достаточно похожих наборов данных с готовыми метками для обучения модели.

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

3. Модель обучения и развертывания для встроенных технологий — во встроенных технологиях многие требования к оборудованию обусловлены необходимостью того, чтобы устройство было небольшим и легким. Это, в свою очередь, определяет требования к программному обеспечению и модели машинного обучения. Модель, вероятно, должна быть легковесной, работать на определенной ОС и, возможно, иметь ограничение на разрядность используемых данных. Также у каждого устройства должна быть своя копия модели. Поэтому:

а. Развернутые модели должны работать на устройстве точно так же, как и на машине, которая его обучила. Для этого среда обучения должна быть максимально похожа на среду устройства. Например, устройство IoT может быть ограничено использованием 8-битной ОС, поэтому обучение должно имитировать это, поскольку наличие 32-битного или 64-битного числа в параметрах модели может полностью изменить поведение модели при развертывании.

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

в. Несколько версий устройств (аппаратных или программных) могут использоваться одновременно для выполнения одной и той же задачи. Это основано на пунктах a. и b. выше; развернутые модели должны работать одинаково на всех устройствах, выполняющих одну и ту же задачу, и если это означает разные файлы моделей, это следует учитывать в процессе автоматического развертывания.

Решение для внедрения машинного обучения в пространстве IoT должно учитывать эти проблемы, чтобы быть успешным. Как к ним лучше всего обращаться, я слышу, как ты плачешь? Что ж, вам просто придется подождать до следующей недели, чтобы увидеть вторую часть этой серии…

Обновление: Которое теперь можно найти здесь!



🔵 Стань писателем