MLOps Мониторинг и управление дрейфом

MLOps Monitoring and Drift Management

Примечание редактора: Оливер Цигерманн выступит на ODSC West 2023 в этом осеннем сезоне. Обязательно посмотрите его доклад «MLOps: мониторинг и управление дрейфом»!

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

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

Как отслеживать?

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

Рисунок 1: Высокоуровневая архитектура для мониторинга ML

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

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

Рисунок 2: Распределения ссылочных и производственных данных схожи

На рисунке 2 показано такое сравнение, где два распределения достаточно похожи, тогда как на рисунке 3 показано отклонение. Вы можете вычислить числовое представление сходства, используя статистический тест, предоставляемый Evidently и другими библиотеками мониторинга.

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

Рисунок 3: Распределения ссылочных и производственных данных отклоняются

Что делать, если что-то не так?

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

  1. Это в основном та же форма, просто смещающаяся в одну сторону? В данном случае это означает, что ваша аудитория стареет или молодеет в целом. Каков эффект? Насколько важна возрастная характеристика для прогнозирования? Будете ли вы вообще в состоянии обучить новую модель без этой характеристики, которая изменилась?
  2. Вы видите формирование полной подгруппы за пределами исходной формы? Чтобы увидеть это, вам может потребоваться рассмотреть более одного измерения одновременно. В этом случае вы можете быть уверены, что ваша модель плохо справляется с этими данными, поскольку модели всегда плохо экстраполируют данные за пределами диапазона обучающих данных. Чтобы предотвратить вред, быстрый способ обработки этого – исключить эту подгруппу из прогнозирования моделью и перейти к другой системе, например, к простому правиловому подходу.
  3. Вы можете увидеть изменение выходных данных, то есть предсказанных значений. Предположим, у вас есть бинарная модель, и процент хороших случаев постоянно растет. Это может быть реальной угрозой для вашего бизнеса, и вашу модель могли взломать атакой со стороны злоумышленников. В таком случае вам следует быстро заменить эту модель. Если вы предполагаете атаку со стороны злоумышленников, простое повторное обучение модели – даже с использованием старых данных – может устранить проблему, так как злоумышленники, возможно, больше не смогут использовать случайные свойства вашей модели. Вы можете попробовать это в качестве примера или полностью заменить модель системой резервного копирования, которая может быть так же радикальной, как возвращение к ручной классификации.
  4. Иногда статистический тест может показывать большую разницу, но вы видите, что это только смещение в пределах исходного диапазона вашего распределения. Это может означать, что ваша модель достаточно общая, чтобы справиться с изменением входного распределения. Если у вас есть хотя бы немного новых данных собранной истинности, проверка с использованием этих данных может подтвердить или опровергнуть это предположение.

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

Моя мастерская на ODSC West 2023 в Сан-Франциско

Моя техническая практическая мастерская “MLOps: Мониторинг и управление дрейфом” подробнее рассматривает эти темы. Она будет проводиться лично на ODSC West 2023 в Сан-Франциско. Цель мастерской – обеспечить вас необходимыми знаниями и практическими инструментами для эффективного обнаружения и управления дрейфом.

Ссылка на мастерскую и дополнительные сведения: https://odsc.com/speakers/mlops-monitoring-and-managing-drift/

Об авторе/спикере ODSC West 2023:

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