Мониторинг ML-систем. «6 лет назад vs сегодня»

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

Шесть лет назад я занимался стартапом FscoreLab, мы разрабатывали ML-системы для кредитного скоринга. Тогда я ещё слыхом не слыхивал о термине MLOps, да я и не уверен, что он вообще существовал. Однако, необходимость определённых практик и процессов, которые сейчас относят к MLOps, стала быстро понятна уже тогда. Один из самых важных уроков того времени - если модель обучить, задеплоить и отправить в свободное плавание, то рано или поздно, постепенно или внезапно, но случится что-то не очень хорошее. Да, сейчас от этого "откровения" хочется зевать - написана тонна книг и статей, запилена куча полезных инструментов, но в то время пришлось собирать систему ML-мониторинга опытным путём из подручных материалов. Состояла она из следующих компонентов:

  • Flask-SQLAlchemy для записи в БД информации о запросах и предиктах

  • Dash для создания удобного браузера для БД с фильтрами и поиском, доступного даже с телефона ночью (с некоторыми клиентами у меня была разница во времени в 10 часов)

  • Flask-Mail и cron для отправки ежедневных и еженедельных отчётов о сделанных предсказаниях и полученных запросах

  • Sentry, засылающий алерты об ошибках в Слак

  • Jupyter-ноутбучек, в котором раз в какое-то время забирались данные из БД и в pandas-датафрейме прогонялось несколько простых ассертов (например, что не появилось новых, неизвестных значений в какой-то колонке) и строилось несколько графиков. Впоследствии этот процесс был автоматизирован

MLOps через еще 6 лет...
MLOps через еще 6 лет...

Материал является адаптированной версией с моего ТГ-канала Варим ML

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

Источник: https://habr.com/ru/post/692462/


Интересные статьи

Интересные статьи

В 70-е годы XX века компания IBM ориентировалась в основном на корпоративный рынок, считая, что ограниченный спрос на персональные компьютеры не позволит построить серьезный бизнес. Мейнфреймы про...
Привет, Я создатель Dependency Injector. Это dependency injection фреймворк для Python. Это еще одно руководство по построению приложений с помощью Dependency Injector. Сегод...
Много всякого сыпется в мой ящик, в том числе и от Битрикса (справедливости ради стоит отметить, что я когда-то регистрировался на их сайте). Но вот мне надоели эти письма и я решил отписатьс...
Количество запрещенных в России сайтов стабильно растет. От блокировок страдают не только плохие ребята но и рядовые пользователи интернета. Я как разработчики различных веб-сервисов и ресурсов,...
В 1С-Битрикс: Управление сайтом (как и в Битрикс24) десятки, если не сотни настраиваемых типов данных (или сущностей): инфоблоки, пользователи, заказы, склады, форумы, блоги и т.д. Стр...