Введение в масштабирование и ведение моделей в производстве

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

Специалисты по обработке данных не являются разработчиками приложений или программистами, как они говорят. Тем не менее, почему-то специалисты по обработке данных всегда жонглируют множеством ролей и слишком растягиваются, а чаще всего управляют моделями, которых они даже не создавали. В отличие от DevOps, специалисты по обработке данных должны учитывать более одного фактора - MLOps, ModelOps, AIOps и DataOps (обработка изменений в данных).

Ключевые люди для успешных MLOps

В жизненном цикле машинного обучения / MLOps задействованы разные роли и этапы, и наиболее распространенное заблуждение состоит в том, что специалисты по данным - единственные, кто извлекает из этого пользу. Специалисты в предметной области (SME), инженеры по обработке данных, инженеры-программисты, DevOps, менеджеры и архитекторы машинного обучения - вот примеры людей, составляющих «ВОЗ» MLOps. В этом сообщении в блоге основное внимание будет уделено специалистам по данным, их ролям и обязанностям при внедрении модели машинного обучения в производство, а также описанию процессов на каждом этапе MLOps.

Специалисты по обработке данных и MLOps

Перво-наперво, MLOps - это способ, с помощью которого специалисты по обработке данных могут получить представление о поведении модели после развертывания (или) в производственной среде, а также о моделях, которые подвергаются A / B-тестированию. Специалистам по обработке данных приходится иметь дело с разрозненными данными, инструментами и процессами, и это очень усложняет им масштабирование своих усилий. Концепция MLOps как раз и предназначена для того, чтобы изменить ситуацию на этом фронте. Большинство людей / организаций смотрят на специалистов по данным как на разработчиков моделей, но это - или, скорее, должно быть - гораздо больше. Специалисты по обработке данных призваны участвовать в работе с самого начала, вовлекая экспертов в предметную область для определения бизнес-проблем и решений, а не просто «обучать и тестировать» модели. Реальность, с другой стороны, такова, что специалисты по обработке данных изолированы от бизнес-стороны дома, и надежные процессы MLOps решают именно эту проблему наряду с другими проблемами, которые возникают вместе с ней.

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

Специалисты по обработке данных обычно вмешиваются во время построения, тестирования и развертывания моделей. После того, как модель развернута, их роль состоит в том, чтобы сосредоточиться на мониторинге качества модели и убедиться, что она работает в производственной среде, как это было изначально задано. Лучшие процессы MLOps должны позволить специалистам по данным гибко выбирать лучшие модели из тестов и беспрепятственно их развертывать. Еще одна важная вещь, о которой следует помнить - независимо от того, кто построил модели, для специалистов по обработке данных критически важно иметь возможность вносить корректировки и оценки в конвейеры данных, если когда-либо в этом возникнет необходимость. С точки зрения моделей, дата-сайентистов беспокоит то, что данные всегда меняются. Данные обучения, используемые для модели в один момент времени, не обязательно отражают данные, поступающие в другой момент. Это проблема машинного обучения, и специалисты по данным должны иметь возможность определить, ухудшилась ли производительность модели с течением времени. Но как они узнают?

Абсолютная правда против входного дрейфа

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

Компоненты MLOps

Жизненный цикл машинного обучения состоит из пяти ключевых компонентов.

  • Разработка
  • Развертывание
  • Мониторинг
  • Итерация и
  • Управление

Разработка модели (EDA + Feature Engineering)

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

После этого возникает несколько ключевых вопросов, которые необходимо решить с точки зрения данных и модели машинного обучения. На такие вопросы, как «есть ли соответствующие данные для построения модели?», «Точны ли данные?», «Какие функции можно извлечь из данных?», «Есть ли необходимость в маркировке данных с использованием достоверных данных. (или) достаточно ли обучения без учителя? »,« Как можно измерить KPI? », важны и также составляют сложную часть жизненного цикла машинного обучения. Поскольку сегодня большинство моделей управляются данными, имеет смысл выполнять исследовательский анализ данных только для построения гипотез на основе данных. Обычно это делается с использованием статистических методов или визуализаций, если не того и другого вместе. С другой стороны, разработка функций берет необработанные данные, преобразует их в функции, которые лучше представляют проблему, и использует их для моделей машинного обучения. Все это в конечном итоге приводит к самому обучению модели, где вступают в игру другие важные шаги, такие как выбор функций, настройка гиперпараметров и тестирование. Воспроизводимость является здесь наиболее важным фактором для специалистов по данным (чтобы иметь возможность воспроизводить модели, которые хорошо работают в производственной среде).

Развертывание и мониторинг модели

Развертывание модели обычно бывает двух типов: модель как услуга и встроенные модели. Модель как услуга обычно развертывается в платформе для предоставления конечной точки API (REST), и она отвечает на запросы в режиме реального времени, в то время как встроенные модели упаковываются в приложения и публикуются. Модели, ожидающие развертывания, обычно представляют собой код (например, Python) вместе с некоторыми артефактами, связанными с данными. Контейнеры обычно используются в качестве решения для развертывания моделей машинного обучения в производственной среде. Такие контейнеры, как «Docker», облегчают развертывание в автономной среде, тем самым согласуя специфику модели. Когда модель запущена в производство, у разных членов организации возникают разные проблемы. Например, люди, связанные с DevOps, будут беспокоиться о том, как быстро модель выполняет свою работу, или о том, использует ли она приемлемое количество времени и памяти. С другой стороны, бизнес-проблемы могут заключаться в том, чтобы проверить, добавляет ли модель ценность для организации или перевешивают ли преимущества модели понесенные затраты.

Итерация и управление

Есть причины для перебора моделей, иногда дрейф данных, как описано выше, или в других случаях - специалисты по данным только что нашли способы разработать лучшее решение. В любом случае он составляет важную часть жизненного цикла машинного обучения. Переобучение моделей с использованием новых данных - прекрасный пример повторения моделей. Идея состоит в том, чтобы после каждой итерации сравнивать метрики модели с метриками последней «действующей» модели. В случае дрейфа данных специалист по данным должен оценить, как текущие обучающие данные можно использовать в модели (возможно, удалив определенные функции или выборку данных), чтобы улучшить ее настройку. В таких случаях A / B-тестирование играет решающую роль, и это будет подробно рассмотрено во второй части. Эта запись в блоге не будет углубляться в концепцию управления. Но для специалистов по обработке данных ключевые вещи, о которых следует помнить, - это факторы управления данными, такие как «использование PII (личная информация)» и «точность используемых данных».

Забрать

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

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