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

Недавнее исследование Массачусетского технологического института, Гарварда, Университета Монтеррея и Кембриджа показало, что 91% моделей машинного обучения со временем деградируют. Это исследование является одним из первых в своем роде, в котором исследователи сосредотачиваются на изучении поведения моделей машинного обучения после развертывания и того, как их производительность меняется с невидимыми данными.

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

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

Введение

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

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

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

Модели и данные

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

Точно так же, чтобы избежать смещения предметной области, они выбрали 32 набора данных из четырех отраслей (здравоохранение, погода, трафик в аэропортах и ​​финансы).

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

Предлагаемая структура

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

Для каждого эксперимента они делали четыре вещи:

  • Случайным образом выберите один год исторических данных в качестве обучающих данных.
  • Выберите модель ML
  • Случайным образом выберите будущую точку даты и времени, где они будут тестировать модель
  • Рассчитать изменение производительности модели

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

Например, модель прогнозирования погоды обучалась на данных с 1 января по 31 декабря 2022 года. А на 1 февраля 2023 года мы просим ее сделать прогноз погоды.

В этом случае

  • t_0 = 31 декабря 2022 года, поскольку это самая последняя точка данных обучения.
  • dT = 32 дня (дни с 31 декабря по 1 февраля). Это возраст модели.

На приведенной ниже диаграмме показано, как они выполняли каждую симуляцию «история-будущее». Мы добавили аннотации, чтобы вам было легче следовать.

Чтобы количественно оценить изменение производительности модели, они измерили среднеквадратичную ошибку (MSE) в момент времени t_0 как MSE(t_0) и во время оценки модели как СКО(t_1).

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

E_rel = MSE(t_1)/MSE(t_0)

Исследователи провели 20 000 экспериментов такого типа для каждой пары набор данных-модель! Где t_0 и dT были выбраны случайным образом из равномерного распределения.

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

На диаграмме показано, как производительность модели меняется с увеличением возраста модели. Основные выводы:

  1. Ошибка со временем увеличивается: модель становится все менее и менее эффективной с течением времени. Это может происходить из-за дрейфа, присутствующего в какой-либо из функций модели, или из-за дрейфа концепции.
  2. Изменчивость ошибок со временем увеличивается. Разрыв между оптимальным и наихудшим сценариями увеличивается по мере старения модели. Когда модель ML имеет высокую изменчивость ошибок, это означает, что иногда она работает хорошо, а иногда плохо. Производительность модели не только ухудшается, но и ведет себя неустойчиво.

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

Основные закономерности деградации

После проведения всех экспериментов для всех 4 (моделей) x 32 (наборов данных) = 128 пар (модель, набор данных) временная деградация модели наблюдалась в 91% случаев. Здесь мы рассмотрим четыре наиболее распространенных шаблона деградации и их влияние на реализацию модели ML.

Постепенная деградация или ее отсутствие

Хотя в двух приведенных ниже примерах сильного разложения не наблюдалось, эти результаты все еще представляют собой проблему. Глядя на исходные наборы данных «Пациент» и «Погода», мы видим, что данные о пациентах имеют много выбросов в переменной «Задержка». Напротив, данные о погоде имеют сезонные сдвиги в переменной Температура. Но даже с этими двумя поведенческими характеристиками в целевых переменных обе модели, по-видимому, работают точно с течением времени.

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

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

Взрывная деградация

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

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

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

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

Увеличение изменчивости ошибок

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

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

Возможные решения

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

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

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

1. Предупреждать, когда вашу модель необходимо переобучить.

Оповещение о снижении производительности модели — нетривиальная задача. Нужен доступ к последним наземным истинам или возможность оценить производительность модели. В этом могут помочь такие решения, как DLE и CBPE от NannyML. Например, DLE (прямая оценка) и CBPE (оценка производительности на основе достоверности) используют вероятностные методы для оценки производительности модели, даже если цели отсутствуют. Они отслеживают предполагаемую производительность и предупреждают, когда модель ухудшилась.

2. Разработайте эффективный и надежный механизм автоматического переобучения моделей.

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

3. Иметь постоянный доступ к самой последней наземной истине.

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

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

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

Выводы

В исследовании Vela et al. показали, что производительность модели ML не остается статичной, даже когда они достигают высокой точности во время развертывания. И что разные модели машинного обучения стареют с разной скоростью даже при обучении на одних и тех же наборах данных. Еще одно важное замечание заключается в том, что не все временные дрейфы вызывают снижение производительности. Таким образом, выбор модели и ее стабильность также становятся одним из наиболее важных факторов в борьбе с временной деградацией производительности.

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

Рекомендации

Вела, Д., Шарп, А., Чжан, Р., и др. Временное ухудшение качества в моделях ИИ. Sci Rep 12, 11654 (2022). https://doi.org/10.1038/s41598-022-15245-z

Я постоянно пишу о науке о данных и машинном обучении в Twitter и LinkedIn. Следуйте за мной, если вы хотите присоединиться ко мне и продолжать учиться на публике :)