ТОП-5 проблем с данными в ML-системах и MLOps для их устранения

ML MLOps Machine Learning, MLOps курсы примеры обучение, машинное обучение примеры курсы, обучение Data Science, развертывание DS, Школа Больших Данных Учебный Центр Коммерсант

Что не так с датасетами в системах машинного обучения, с какими трудностями сталкиваются аналитики, инженеры данных и специалисты по Data Science при внедрении MLOps, почему важна согласованность различных информационных хранилищ, зачем и как внедрять оперативный мониторинг за качеством данных. Разбираем трудности разработки и поддержки Machine Learning в production.

5 проблем с данными в Machine Learning

Основными проблемами ML-систем, которые связаны с данными, можно назвать следующие:

  • Недостаточно обучающих данных – для обучения ML-модели нужно огромное количество примеров для каждого случая, чтобы точно идентифицировать его в реальных условиях. Чем разнообразнее набор данных, поступающих в ML-модель, тем выше точность ее прогнозов. Поэтому обучающих данных никогда не бывает слишком много. При этом они должны быть разнообразными, чтобы избежать переобучения.
  • Низкое качество данных – как обучающих, так и реальных. Чем лучше будут проанализированы обучающие данные, тем выше вероятность точных прогнозов модели Machine Learning. Аналогично, если в обучающие данные не попали новые случаи, модель не сможет обобщать результаты, и ее прогнозы будут необъективными.
  • Переобучение, когда ML-модель обучается на смещенных или слишком больших объемах обучающих данных. Переобучение негативно влияет на производительность модели после развертывания. Например, при использовании нейросетей для ML-модели в задаче, которую можно решить с помощью линейной регрессии. Или если модель обучается с большими эпохами даже при высокой точности обучения, результаты не могут быть обобщены на валидационный и производственный датасеты.
  • Недообучение, когда ML-модель обучается с такими данными, которые заставляют ее устанавливать неоднозначную связь между входными и выходными переменными. Это также происходит, когда алгоритм слишком прост для обучающего датасета, к примеру, линейная ML-модель на мультиколлинеарном множестве.
  • Несоответствующие фичи, когда в обучающем датасете слишком много нерелевантных фичи/или чрезмерно связанных друг с другом предикторов, что называется мультиколлинеарностью, увеличивает объем признакового пространства, снижает скорость вычислений и повышает их сложность. В таких случаях система машинного обучения может не дать желаемых результатов. Поэтому этап выбора и подготовки фичей (feature engineering) чрезвычайно важен, о чем мы писали здесь.

Устранить все эти проблемы ML-систем или снизить их негативное влияние на результат обучения помогают лучшие MLOps-концепции, которая обеспечивает быстрое, непрерывное и масштабируемое производство приложений машинного обучения. MLOps определяет новый жизненный цикл ML-системы, параллельный SDLC и CI/CD, делая модель машинного обучения более эффективной, а рабочий процесс — более продуктивным. MLOps объединяет возможности аналитиков, исследователей Data Science, DevOps- и дата-инженеров, разработчиков и других ИТ-специалистов, которые работают вместе в рамках создания, развертывания и эксплуатации ML-систем. MLOps состоит из следующих компонентов, обеспечивающих максимальную производительность модели и рентабельность инвестиций:

  • Обслуживание моделей и конвейерная обработка;
  • Каталогизация сервисов для моделей в производстве;
  • Управление версиями данных и моделей;
  • Мониторинг;
  • Управление инфраструктурой и ПО;
  • Безопасность.

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

ТОП-5 сложностей внедрения MLOps

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

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

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

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

Machine Learning, ML, MLOps, Data Sceince problems production
Проблема согласованности данных в ML-системах

В результате такого неконсистентного хранения информации аналитик и Data Scientist сталкиваются со следующими проблемами:

  • несоответствие идентификаторов между хранилищами может затруднить объединение данных из разных источников, а иногда даже сделать его невозможным;
  • исследователь должен понимать структуры данных из множества разных баз и файловых хранилищ, что отнимает время от основной работы по разработке ML-моделей;
  • поиск признаков определенного объекта осложняется разным временем обновления данных в различных хранилищах.

С разными хранилищами данных связана еще одна проблема внедрения MLOps – мультиоблачность. Активное использование облачных технологий, с одной стороны, снижает затраты на обеспечение ИТ-инфраструктуры, но усложняет процессы разработки и согласованности различных сервисов. К примеру, использование MySQL для реляционных данных и Redis для быстрого кэширования создает трудности в создании высококачественных ML-моделей, требуя от разработчиков понимания тонкостей различных SQL-диалектов. Управление безопасным доступом к данным в мультиоблачных средах тоже не самая тривиальная задача. Наконец, соединение данных из разных СУБД может оказаться очень сложным или даже невозможным при работе с продуктами различных провайдеров или смешивании технологий SQL и NoSQL.

Изменчивость данных со временем характерна для ML-систем, но поддается отслеживанию и контролю довольно трудно. Особенно, когда нужно вовремя отслеживать изменения в домене. Предположим, есть ML-модель целевых рекламных кампаний email-рассылок для пользователей интернет-магазина. Имеется поток событий с информацией о пользователе (индентификатор, возраст, любимый цвет) и события, связанные с ранее сделанными заказами.

ML datasets problems, MLOps курсы примеры обучение
Изменчивость данных в ML-системах

Нужно создать представление домена, чтобы объединить информацию о пользователях с их заказами. Но домен со временем меняется: требуется знать его состояние с точного момента, когда произошло каждое событие. Например, пользователю, которому в 2019 году было 52 года, в 2022 году исполнится 55 лет. При построении ML-моделей на основе прошлых данных важно помнить, что мир изменился с момента сбора этих данных:

  • заранее неизвестно, являются ли обрабатываемые данные новыми или устаревшими, поэтому необходима некоторая информация TTL (Time To Live, время жизни), которая говорит о том, как долго имеющиеся данные еще являются актуальными, т.е. НЕ устаревшими;
  • поскольку состояние предметной области постоянно меняется, необходим доступ к последним данным для обучения, чтобы модели могли качественно работать в производственной среде;
  • важно отслеживать производительность ML-модели с течением времени, чтобы убедиться, что она по-прежнему работает хорошо. Поэтому нужно оценить модель на данных за разные периоды и проверить, постоянна ли производительность.
  • объем и скорость передачи данных продолжают расти. Для внедрения MLOps нужны способы эффективного управления растущими объемами данных в больших масштабах.

Наконец, еще важной проблемой внедрения MLOps является искажение данных. Для каждой фичи, используемой для обучения моделей Machine Learning, следует записывать ожидаемый диапазон значений и распределение. Когда Data Scientist строит модель, использующую эту фичу в качестве входных данных, он также должен хранить информацию о том, насколько каждая фича влияет на выходные данные этой модели. Эта информация может быть использована для мониторинга объектов на предмет неожиданных изменений в стоимости или распределении, которые могут сделать недействительными предположения, сделанные во время моделирования.

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

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

Как устранить вышеописанные проблемы, внедрив лучшие практики MLOps для эффективной аналитики больших данных, вы узнаете на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

Я даю свое согласие на обработку персональных данных и соглашаюсь с политикой конфиденциальности.

Источники

  1. https://medium.com/@sigmoidanalytics/top-5-model-training-and-validation-challenges-that-can-be-addressed-with-mlops-2732ca5f87c5
  2. https://getindata.com/blog/MLOps-5-Machine-Learning-issues-resulting-ineffective-use-data/
Поиск по сайту