Предыдущий блог из серии Категории решений для мониторинга данных

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

Мониторинг данных для аналитики

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

Требования высокого уровня надежности данных для аналитики включают:

  1. Данные не должны быть устаревшими (свежесть)
  2. Изменения схемы должны быть задокументированы и сообщены, чтобы обеспечить правильную корректировку заданий ETL.
  3. Все поля должны иметь правильный формат данных и только ожидаемые значения.
    например, поле даты должно быть в формате дд-мм-гггг, поле X должно содержать только true/false значение и т. д.
  4. Данные должны соответствовать определенным бизнес-политикам,
    например, дата расчета по страховке › дата инициации, сумма полиса не должна быть отрицательной
  5. Уведомление об изменениях в бизнес-показателях
    , например, если ежемесячные показатели продаж снижаются или увеличиваются на x% по сравнению с тем же месяцем в предыдущем году, оповещайте пользователя.

Все перечисленные выше требования (за исключением изменений схемы) можно выполнить с помощью таких инструментов, как great_expectation и dbt_tests. Мониторинг в стиле Code (или MaC) хорошо подходит для вышеуказанных требований.

Elementary и re_data — это некоторые из инструментов с открытым исходным кодом, которые пытаются предоставить расширенные функции, такие как обнаружение аномалий (AD), визуальные отчеты и оповещения/уведомления. Однако, глядя на открытый исходный код от Elementary и re_data, кажется, что их возможности AD очень просты (на основе статистики нормального распространения). Он не охватывает такие вещи, как сезонность данных и т. д. [Вполне вероятно, что в будущем они улучшат свои алгоритмы]. Для AD другие коммерческие инструменты могут быть лучшим выбором.

Мониторинг данных для машинного обучения

Требования к мониторингу данных немного более тонкие, когда речь идет о вариантах использования ML. В машинном обучении существует концепция базовых/обучающих данных (в основном извлекаемых из таблиц хранилища данных), которые используются для обучения модели, и последних/производственных/оценочных данных, используемых для модели. подсчет очков

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

Мониторинг данных машинного обучения требует гораздо большего, чем просто проверка уникальности, нуля, формата и актуальности. У него также есть проблемы с мониторингом в масштабе, поскольку количество функций на модель может легко достигать 100, а число может достигать 1000, если компании имеют 10 или 100 моделей машинного обучения, работающих в производстве. Написание правил проверки схемы для тысяч функций утомительно и чревато ошибками.

Использование сторонних данных также широко распространено в ML, мониторинг таких внешних наборов данных также имеет решающее значение.

Высокий уровень качества данных и требований к мониторингу для машинного обучения

  • Проверка актуальности и объема для производственных и внешних наборов данных.
  • Обнаружение изменений схемы
  • Проверка качества данных при обучении, подсчете очков, цикле обратной связи и сторонних данных.
  • Обнаружение дрейфа данных
    — перекосы характеристик
    — перекосы распределения
  • Настраиваемые правила для мониторинга критически важных для бизнеса полей, таких как acceptace_rate/rejection_rate/conversion_rate и т. д.

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

  • Дрейф концепции
  • Обнаружение смещения
  • Объяснимость модели
  • Мониторинг неиспользуемых функций для устранения технического долга и снижения затрат
  • Модульное тестирование модели с синтетическими данными

Конвейеры машинного обучения также по своей сути более сложны. Существуют как пакетные, так и варианты использования в реальном времени. Распространение готовых магазинов функций, таких как AWS SageMaker, Feast / Tecton, Databricks Feature Store, Iguazio, Kaskada, Rasgo, также растет.

У Feast/Tecton есть очень простая альфа-версия мониторинга функций с использованием great_expectations. Мониторинг функций SageMaker также является базовым и практически не используется на рынке.

Проверка данных TensorFlow (TFDV) — еще один инструмент с открытым исходным кодом для анализа данных. Я наблюдал, как люди используют его на своих локальных компьютерах, но для его использования в производстве с большими наборами данных требуется дополнительная настройка инфраструктуры, такая как Apache Beam, поддерживаемая каким-либо вычислительным механизмом.

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

Свяжитесь с нами по адресу [email protected], чтобы узнать, как мы можем помочь командам машинного обучения улучшить их покрытие тестов данных.

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

[1] Д. Скалли, Гэри Холт, Дэниел Головин, Юджин Давыдов, Тодд Филлипс, Дитмар Эбнер, Винай Чаудхари, Майкл Янг Машинное обучение: кредитная карта с высокими процентами технического долга

[2] Эрик Брек, Неоклис Полизотис, Судип Рой, Стивен Эйджонг Ванг, Мартин Зинкевич ПРОВЕРКА ДАННЫХ ДЛЯ МАШИННОГО ОБУЧЕНИЯ

[3] Эрик Брек, Шанцин Кай, Эрик Нильсен, Майкл Салиб, Д. Скалли, Оценка теста машинного обучения: критерий готовности машинного обучения к производству и сокращения технического долга