ПОДОЖДИ! При переобучении модели не вносите изменения непосредственно в производственной среде. Давайте изучим способы MLOps.

Оценка онлайн и офлайн

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

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

  • Входные функции
  • Предварительная обработка функций
  • Алгоритмы и гиперпараметры
  • Наборы данных для обучения и тестирования
  • Метрики оценки
  • Результаты автономной оценки

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

Преимущество использования онлайн-оценки заключается в том, что она оценивает производительность новой модели и ее способность справляться с реальной нагрузкой данных в системе. Существует две стратегии оценки: тестирование чемпиона-претендента, также известное как теневое тестирование, и A/B-тестирование.

Тестирование чемпиона-претендента

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

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

A/B-тестирование:

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

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

ВЫБРАНА НОВАЯ МОДЕЛЬ!!! 🥂

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

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

ПОЗДРАВЛЯЕМ!! Ваша новая модель сейчас в производстве. Вы можете вернуться к мониторингу развернутой модели. Добро пожаловать в порочный круг мониторинга и переобучения моделей в продакшене!

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

Заключение

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

Ссылки

O’Reilly Введение в MLOps

Практические MLOps O’Reilly

Coursera — Machine-Learning-Engineering-For-Production-mlop, Deeplearning.ai, Эндрю Нг

veselinasteva.medium.com/what-ive-learned-about-mlops-from-speaking-with-100-ml-practicers-3025e33458ad

Особая благодарность за иллюстрации человечков-палочек, которые мы собрали со стока Vector — «Terrific Data Scientist».