Изучите различные стратегии развертывания для успешного создания сквозного конвейера машинного обучения.

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

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

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

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

Пакетный вывод

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

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

Вывод в реальном времени

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

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

Локальное развертывание

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

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

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

Облачное развертывание

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

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

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

Мобильное развертывание

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

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

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

Пограничное развертывание

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

Существует довольно много требований, которые необходимо учитывать при попытке использовать этот тип развертывания. Важные аспекты включают вычислительную мощность, объем памяти и возможность подключения. Эти факторы могут сильно влиять на производительность устройств Интернета вещей, использующих возможности машинного обучения.

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

Заключение

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

Надеюсь, после прочтения этой статьи вы поняли некоторые распространенные варианты развертывания для машинного обучения. Спасибо.

Ниже приведены способы, по которым вы можете связаться со мной или ознакомиться с моей работой.

GitHub: suhasmaddali (Сухас Маддали) (github.com)

YouTube: https://www.youtube.com/channel/UCymdyoyJBC_i7QVfbrIs-4Q

LinkedIn: (1) Сухас Маддали, Северо-восточный университет, наука о данных | LinkedIn

Среда:Сухас Маддали — среда